MaxDB Library (SAP Library - MaxDB Library)

 Entering content frame

Component documentation MaxDB Library

Purpose

MaxDB is a relational database system with which you can create, use and manage MaxDB database instances. MaxDB can handle a wide range of different types of information, which makes it a suitable database for diverse application scenarios. MaxDB works with all SAP applications.

See also:

Software Information

Downloading the database software and documentation

Documentation

The following table provides an overview of all the documentation that is currently available for the MaxDB database system.

Installation
Installation Manual | Installing, updating and uninstalling the database software; upgrading database instances including software
Basic Information
Concepts of the Database System | Information about the database system, technical system landscape, creating and configuring a database instance, administration, monitoring, performance, troubleshooting, developing database applications
Glossary | Terms used in the database system You can use the alphabetically arranged glossary as a point of entry to the documentation.
SQL Tutorial | Using the SQL language for operations involving the data and tables of the MaxDB database system using the DEMODB demo database
Reference Manual | SQL statements and their syntax, system tables, special features of the SQL mode ORACLE
Messages | List of all error and system messages sorted by message number
MaxDB Security Guide | Recommended security measures for the database system
Tools
Database Manager · Database Manager GUI · Database Manager CLI | Creating and managing database instances · Graphical user interface · Command line
Database Analyzer | Analysis of the performance of database instances
Loader | Exporting and importing data
Query Tools · SQL Studio · Web SQL Studio · SQLCLI | Querying and editing data with SQL · Graphical user interface · Web-based user interface · Command line
Synchronization Manager | Synchronizing table contents from two or more database instances
Utilities | Event Dispatcher XCONS XUSER X Server
Interfaces
ODBC Manual | Basics and special features of the MaxDB ODBC driver
SQLDBC Manual | SQL database connectivity for developing applications and interfaces for MaxDB
JDBC Manual | Basics and special features of the MaxDB JDBC driver
Perl Manual | Description of the programming interfaces for SQL, Database Manager and Loader for developing database applications with Perl.
Python Manual | Description of the programming interfaces for SQL, Database Manager and Loader for developing database applications with Python.
PHP Manual | Description of the MaxDB PHP software enhancement for developing database applications with PHP.
WebDAV | Description of how to access a document store in a MaxDB database instance using the MaxDB WebDAV servlet
Backint for MaxDB | Description of the Backint for MaxDB interface for external backup tools
Development
Development Environment | Using the development environment for creating MaxDB software from the source code
Web Based Problem Tracking System | Web interface for the Problem Tracking System (PTS) for documenting problems with the database software

Various symbols and typographic conventions are used to flag different types of text in the documentation.

Leaving content frame


Installation (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Installation

Title of the Documentation | Contents
Installation Manual | Installing, updating and uninstalling the database software; upgrading database instances including software


Installation Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Installation Manual

Purpose

This documentation describes the basics for installing and uninstalling MaxDB software, updating the database software, and upgrading database instances to the operating system platforms supported by MaxDB.

It is particularly concerned with the following programs:

· SDBSETUP: see Using the Installation Manager

· SDBINST for installing/updating installation profiles and individual software components, taking into account dependencies between the components

· SDBUNINST for uninstalling software components, taking into account dependencies between the components

· SDBUPD for upgrading database instances and their server software

The description of upgrading database instances and their server software also applies to database instances in SAP systems.

For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetical Glossary.

Constraints

This documentation is not relevant for installing or uninstalling MaxDB software in SAP systems. Installing and uninstalling the MaxDB software required for SAP systems is described in SAP-specific guides. SAP customers can find these guidelines in the SAP Service Marketplace under service.sap.com/installNW2004s and service.sap.com/upgradeNW2004s. SAP customers can find more information under SAP Note 767598.

Implementation Considerations

The programs SDBSETUP, SDBINST, SDBUNINST and SDBUPD are part of the database software package.

Open source users can download the entire database software from the MaXDB website under dev.mysql.com/downloads/maxdb.

SAP customers receive the MaxDB software with the SAP installation CD, or via the SAP Service Marketplace at service.sap.com.

The description that follows assumes use of the software available online on the MaxDB Website and at the SAP Service Marketplace.

Using the Installation Manager

Installation, Upgrade and Uninstalling in the Command Line

Connecting External Backup Tools

Installing the MaxDB PHP extension

Configuring SQL / WebDAV

Troubleshooting

Detailed Information

See also:

Concepts of the Database System,

· Syntax Notation

· Directories

· Variables and Examples


Using the Installation Manager (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Using the Installation Manager

Use

The Installation Manager for the MaxDB software is a graphical interface tool enabling you to install the entire MaxDB software package or individual software components and also create, upgrade and uninstall a database instance.

Prerequisites

Prerequisites for Using the Installation Manager

Platform | wxWidget Software | Other Software
MS Windows X86_32 | wxMSW | -
MS Windows X86_64, IA64 | not yet supported | -
Linux X86_32 | wxGTK2 | Gtk+ >= 2.0 glibc ≥ 2.3.3 with TLS support (Thread Local Storage) If gcc 4.x is installed on your system, you may also require libstdc compatibility libraries for gcc 3.2.x or gcc 3.3.x.
Linux X86_64 | wxGTK2 | glibc ≥ 2.3.3 Gtk+ >= 2.0
Linux IA64 | wxGTK2 | glibc ≥ 2.3.3 Gtk+ >= 2.0
Linux PPC_64 | wxGTK2 | glibc ≥ 2.3.3 Gtk+ >= 2.0
SUN Solaris SPARC | wxGTK | Gtk+ 1.2 (included from Solaris 9 onwards)
IBM AIX PPC_64 | wxGTK (Gtk statically linked) | X11 running time
HP-UX HPPA | wxGTK (Gtk statically linked) | X11 running time
HP-UX IPF | wxGTK (Gtk statically linked) | X11 running time

With Linux, the root user must also be authorized to open a display.

Features

· Installation of MaxDB software and database instances:

· Update of MaxDB software

· Upgrade of MaxDB database instances including software

· Uninstalling MaxDB software and database instances

Activities

Calling the Installation Manager

Installing the Synchronization Manager


Calling the Installation Manager (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Calling the Installation Manager

Prerequisites

· See the prerequisites in the section Using the Installation Manager.

· You must have unpacked the database software to a local directory.

Calling the Installation Manager in Microsoft Windows

...

1. Go to the local directory where you have unpacked the database software.

2. Enter the following command:

SDBSETUP

Calling the Installation Manager in UNIX/Linux

...

...

1. Open a root shell.

2. Go to the local directory where you have unpacked the database software.

3. Enter the following command:

./SDBSETUP

Result

The Installation Manager has been started.

You can now choose between the following actions:

· Installation or Upgrade (Start installation/upgrade)

· Uninstall (Remove MaxDB components)

· Display MaxDB components that are installed (Show MaxDB components)

· MaxDB website (Visit MaxDB website)


Installing the Synchronization Manager (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installing the Synchronization Manager

Use

To synchronize multiple database instances, you need to install the Synchronization Manager on all computers involved. You can find further information on synchronizing database instances under Synchronization Manager.

Prerequisites

· Java Runtime Environment 1.4, see java.sun.com/jre

· j2ee.jar from the Java 2 Enterprise SDK ≥ 1.4, see java.sun.com/j2ee

· Eclipse SDK, see www.eclipse.org

· You have called the Installation Manager.

Procedure

...

1. Choose Start Installation/Upgrade

2. Choose Next at the start each of the steps that follow.

3. Choose Custom.

4. Choose the Synchronization Manager software component. Note The Installation Manager automatically selects all software components required.

5. Choose the installation paths for the MaxDB software and, in UNIX/Linux, the names of the special operating system user and special operating system group. See Concepts of the Database System, <sdba_group> (Special Operating System Group).

6. To start the installation, choose Install. On finishing, you will receive a message telling you that you have completed the installation successfully.

7. To close the Installation Manager, select Exit.

Result

The Synchronization Manager software has been installed in the <independent_program_path>\app\syncman directory. See Variables and Examples.

In order to be able to synchronize database instances, you need to execute other configurations, see Synchronization Manager, Configuration.


Installation, Upgrade and Uninstallation on the Command Line (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Installation, Upgrade and Uninstallation on the Command Line

Use

You can install the complete MaxDB software or individual software components using command-line programs and also upgrade and uninstall software and database instances.

You have the following command line programs at your disposal for this purpose:

· SDBINST for installing/updating component groups, installation profiles and individual software components taking into account dependencies between the components.

· SDBUNINST for uninstalling software components, taking into account dependencies between the components

· SDBUPD for upgrading database instances and their server software

The description of upgrading database instances and their server software also applies to database instances in SAP systems.

Features

Installing and Updating the Database Software

Uninstalling the Database Software

Upgrading Database Instances and Their Server Software


Installing and Updating the Database Software (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installing and Updating the Database Software

Implementation Considerations

You can install or update the database software either interactively or in the background.

You can install/update component groups, installation profiles or individual software components. The installation program itself decides whether it is dealing with a new installation or an update.

The installation process is logged by the system.

Before you start the installation or upgrade of the database software:

· Make sure that you have taken precautions against the most common errors that can cause an installation or update to crash (see Troubleshooting).

· Find out about which advantages and disadvantages interactive and background installations have.

· Decide whether you need one or more database instances.

If you plan to run multiple database instances, we recommend a separate (parallel) software installation for each database instance. This makes subsequent updates easier, since any errors will only affect one database instance.

· Choose an appropriate component group or an appropriate installation profile, or decide whether, in special cases, you only need to install or update one or more individual software components. Note you can only install individual components in the background however.

We recommend that you use component groups or installation profiles to perform your installation or update. This is a simple and secure way of choosing the database software installation that meets your needs.

See also:

Directories

Supported Operating Systems, Platforms and Browsers

Concepts of the Database System, Special Operating System Users and Groups (UNIX/Linux)

Interactive Installation/Update

In an interactive installation or update, you install complete component groups or installation profiles. The SDBINST installation program queries all necessary information and offers you defaults and options for the installation profiles and installation paths. The program then installs the software package and registers it.

Background Installation/Update

In a background installation or update, you use options to specify the information required by SDBINST. The actual installation process then runs in the background.

Advantages of a Background Installation

· Performing an installation or an upgrade in the background is less time-consuming.

· You have the option of installing or updating individual software components.

· You can generate identical database software installations on different computers using call script embedding.

Disadvantages of a Background Installation

· You have to enter all the required options in the call script correctly and in their entirety.

· The system does not determine some options from the software packages until runtime. This means that the system cannot check the completeness of the information at the start of the installation. It starts the installation, and then interrupts it when it finds that some information is missing.

Installing/Updating Component Groups or Installation Profiles

You can choose between various combinations of software components. Each individual combination fulfils a different purpose. You choose the component group or installation profile that is appropriate for your needs, and do not need to worry about the sequence of the installation, or any dependencies between software components, to obtain a fully functioning software installation.

To perform a standard installation or update of the entire database software package, choose the component group Server + Client or with the installation profile all.

Installing/Updating Software Components

If you want to update parts of your database software, you install individual components of the database software installation. We recommend this installation procedure in special cases only.

In this procedure, you must take into account the dependencies between the individual software components. An appropriate error message is otherwise displayed, and the system terminates the installation.

Background Installation of the Software Component Precompiler (CPC <version>)

You only want to update the C++ Precompiler in your existing software installation. You start the installation of the CPC SDK <version> software component. The system recognizes that this component requires a new version of the CPC Base software component. You are reminded that the CPC SDK <version> package depends on the CPC Base package, which must be installed first. The installation terminates.

This means that if there are many dependencies, you will have to restart the installation many times (with a different installation package each time).

You can avoid this problem by using, for example, the C Precompiler installation profile.

See:

Installing/Updating Software on UNIX

Installing/Updating Software on Linux

Installing/Updating Software on Microsoft Windows


Installing/Updating Software on UNIX (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installing/Updating Software on UNIX

Use

You install or update a component group, installation profile or individual database software components.

The procedure that follows should only be used for updates if you wish to update components for which the software is not stored in the <dependent_path> of the MaxDB installation or if the software installation you want to update is not used by any database instances.

See also:

Concepts of the Database System, Directories

If you want to update components, for which the software is stored in the <dependent_path> of the MaxDB installation and database instances use this software installation, you have to upgrade these database instances along with the software (see: Upgrading Database Instances and Their Server Software). If you do not, you risk rendering the database instances incompatible with database software, and you may not be able to restart them.

The system logs the installation process.

Procedure

...

1. First, unpack the database software to a local directory.

Unpacking the Software on UNIX

2. Now decide whether you want to perform an interactive installation (only possible for installation profiles) or a background installation.

¡ Interactive Installations/Updates on UNIX

¡ Background Installations/Updates on UNIX

For detail of advantages and disadvantages of these installation procedures, see
Installing and Updating the Database Software.


Unpacking the Software on UNIX (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Unpacking the Software on UNIX

Conventions

Concepts of the Database System,

· Directories

· Variables and Examples

Procedure

...

1. Select the package that is appropriate for your software and operating system architecture.

If you only want to install or update an individual software component, then select a component group or installation profile that contains this software component.

Installing from the Software Distribution Center on the SAP Service Marketplace (service.sap.com/swdc, for SAP customers only)

¡ For the database instance type OLTP choose
Download ® Database Patches ® MaxDB and SAP DB ® Max DB | MaxDB 64-bit ® MaxDB <version> ® <os> ®
MAXDB<version>_<build>-<GUID>.SAR

¡ For the database instance type liveCache (SAP System APO) choose
Download ® Support Packages and Patches ® Entry by Application Group ® SAP Application Components ® SAP APO ® SAP APO <apo_version> ® Entries by Component ® APO LC ® APO LC<version>/LCAPPS<apo_version> ® <os> ®
LC<version>A<apo_version>_<apo_build>-<GUID>.SAR

Installation from the MaxDB website dev.mysql.com/downloads/maxdb/7.6.00.html

¡ Database instance type OLTP only:
Choose the desired software package for your operating system:
maxdb-<inst_profile>-<os>-<32|64>bit-<arch>-<version>_<build>.tgz

2. Copy the software package to a local directory of your choice.

3. Unpack the software using the following command:

For installation from the SAP Service Marketplace:

SAPCAR –xvf MAXDB<version>_<build>-<GUID>.SAR

For installation from the MaxDB website:

tar xvzf maxdb-<inst_profile>-<os>-<32|64>bit-<arch>-<version>_<build>.tgz

Result

The system will have entered the following in this local directory:

· For OLTP software, the subdirectory
maxdb-<inst_profile>-<os>-<32|64>bit-<arch>-<version>

· For SAP liveCache, the subdirectory
apo<apo_version>_livecache-<os>-<arch>-<version>

It then saves the software to these subdirectories.


Interactive Installations/Updates on UNIX (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Interactive Installations/Updates on UNIX

Use

You use the SDBINST program to install or update component groups, installation profiles of the database software on UNIX. The program queries all necessary information during the installation process.

If you want to update an existing database software installation, the procedure varies depending on whether your source version is 7.5.00 or higher, or lower than 7.5.00.

If your source version is lower than 7.5.00, then you must stop the X Server and all database instances before the installation or update. Remember that this interrupts communication between the clients and all local database instances. If your source version is 7.5.00 or higher, then the X Server software supports an update of the database software while X Server is running. In such cases, it is not necessary to stop the X Server and all the database instances. However, you do need to stop those database instances assigned to the installation directory being updated.

Prerequisites

· You need to be in a root shell.

· You must have downloaded the installation package, and unpacked it to a local directory of your choice (Unpacking the Software on UNIX).

Preparations

If the following conditions apply to your system, you must perform the steps described before a new installation:

· The installation program adds the necessary sql6, sql30and sapdbni72 services to the /etc/services /etc/servicesfile, should they not already exist there. If these services are managed centrally for your system on the network (NIS), you must enter them there as follows:
sql6 7210/tcp
sapdbni72 7269/tcp

· During the installation, the database software must be assigned to a special operating system user <sdb_user>, who is the owner of the software, and to the group <sdba_group>.
(See also: Concepts of the Database System, Special Operating System Users and User Groups (UNIX/Linux) for version 7.5.00 and higher).

If you manage user groups and owners locally on your computer, we recommend you create the user group and owner before starting the installation process. You can also enter this information during the installation process however.
If you manage user groups and owners for your system centrally on the network, you must create them here before you start the installation. For more information on creating operating system users and user groups, see the documentation for your operating system.

The special operating system user may not log on to the operating system. You revoke this authorization from the user for this reason. For information on how to do this, see the documentation for your operating system (lock account).

The primary group for the owner of the database software is the administrator group.

For SAP systems, you must use the sdb and sdba names for the <sdb_user> owner and the <sdba_group> group.

For consistency and particularly when contacting the support team, we recommend you also use the sdb and sdba names for the owner and group in other systems.

· If the <independent_program_path>/bin path is not yet entered in the PATH environment variable, enter it now. (For information on setting environment variables, see the documentation for your operating system.)

Procedure

...

1. If you want to update an existing database software installation:

¡ If necessary, use the following command to stop each database instance assigned to the installation directory you want to update:
dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

¡ If necessary, use the following command to stop the X Server program (vserver process):
x_server stop

For a new installation, start with step 2.

2. Switch to the directory
sapdb-<inst_profile>-<os>-<32|64bit-<arch>-<version>_<build>,
which contains the installation software.

3. Enter ./SDBINST to start the installation/update program.

4. The system proposes component groups. Enter the ID of the desired component group. Confirm your selection.

5. If you selected the Custom component group, the system now proposes installation profiles. Enter the corresponding ID. Confirm your selection.

6. If you are installing the software for the first time, or if you are updating from a software version < 7.5.00, the system prompts you to enter the following data:

¡ The <sdb_user> special operating system user (the owner of the database software)

¡ The <sdba_group>

If you are installing or updating older software versions, the system prompts you to enter the <group> and <owner> of the database software.

If the group and owner have already been created, enter and confirm the correct values. The system compares this information with the values stored locally or on the network. If your information does not match these values, the installation terminates.

If the group and owner have not yet been created, the system asks you whether you want to create them now. Specify your chosen values, or confirm the defaults. When you specify these values, the group and owner are created locally on your computer.

7. The system now checks your computer for installations of the database software that can be updated.

It lists any relevant installations.

¡ If you want to update an existing installation, specify its ID.
The system then updates the software in <independent_program_path>. Depending on your chosen software, the software in <dependent_path> is also updated if the installation package contains more recent versions of the files.

¡ If you want to perform a new installation of the database software in parallel to the existing installation, specify none. You then have the option of specifying a new installation path. Define an installation path in parallel to the existing installation path.

If there is no current installation of the database software on your computer, the database software is now installed. If necessary, the system prompts you to specify the following paths:

¡ Path for saving data, configurations, and run directories of database instances and database applications (system default is /var/opt/sdb/data)

¡ Path for saving programs and libraries shared by database instances and database applications (system default is /opt/sdb/programs)

¡ Path for saving the server software that is dependent on the database version.
The specified path must be unique. Multiple directories containing different versions can exist simultaneously (system default is /opt/sdb/<version>)

Specify the required paths, or confirm the system defaults.

8. If no database software has been installed yet on your computer, add the <independent_program_path>/bin entry to the PATH environment variable for each user who wants to use the database system.

You will receive a message informing you that the installation was successful.

Result

The new version of the chosen database software has now been has been installed and registered on your computer. You can check the result of your installation using the log (Logging).

You can now use Database Manager CLI and Database Manager GUI to create new database instances.

See:

· Creating a Database Instance in Database Manager CLI

· Creating a Database Instance in the Database Manager GUI documentation


Background Installations/Updates on UNIX (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Background Installations/Updates on UNIX

Use

You use the SDBINST program to install/update component groups, installation profiles or individual components of the database software on the UNIX operating system. All required information is specified on the command line, along with the command for starting the installation program.

If you want to update an existing database software installation, the procedure varies depending on whether your source version is 7.5.00 or higher, or lower than 7.5.00.

If your source version is lower than 7.5.00, then you must stop the X Server and all database instances before the installation or update. Remember that this interrupts communication between the clients and all local database instances. If your source version is 7.5.00 or higher, then the X Server software supports an update of the database software while X Server is running. In such cases, it is not necessary to stop the X Server and all the database instances. However, you do need to stop those database instances assigned to the installation directory being updated.

Prerequisites

· You must be logged on as the root user on your computer.

· You need to unpack the required software (Unpacking the Software on UNIX).

Preparations

If the following conditions apply to your system, you must perform the steps described before a new installation:

· The installation program enters the services sql6, sql30 and sapdbni72 in the file /etc/services, if they do not already exist there. If these services are managed centrally for your system on the network (NIS), you must enter them there as follow:
sql6 7210/tcp
sql30 7200/tcp
sapdbni72 7269/tcp

· During the installation, the database software must be assigned to a special operating system user (<sdb_user>), who is the owner of the software, and to the group (<sdba_group>). We recommend that you define the group and the owner in advance. Only users with appropriate authorizations can generate database instances later (see also Concepts of the Database System, UNIX: Special Operating System Users and Groups (UNIX/Linux) for software versions 7.5.00 and higher).

· If the <independent_program_path>/bin path is not yet entered in the PATH environment variable, enter it now.

Procedure

...

1. If you want to update an existing database software installation:

¡ If necessary, use the following command to stop each database instance assigned to the installation directory you want to update:
dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

¡ If necessary, use the following command to stop the X Server program (vserver process):
x_server stop

For a new installation, start with step 2.

2. Start the installation/update process for the OLTP software with the following command:
./SDBINST [-b | --batch] -component_group <component_group> | -profile <inst profile>[,<inst_profile2>...] | -package <package_name>[,<package_name2...>] -indep_data <independent_data_path> - indep_prog <independent_program_path> -depend <dependent_path> [-archive_dir <directory>] [-o <sdb_user> -g <sdba_group>]

For the SAP liveCache software, start the installation/update process (in SAP APO systems only) with the following command:

¡ For the APO liveCache installation profile:
./SDBINST [-b] -profile "APO LiveCache" -indep_data <independent_data_path> -indep_prog <independent_program_path> -depend <dependent_path> [-o <sdb_user> -g <sdba_group>]

¡ For the APO LC APPS software component:
./SDBINST [-b] -package "APO LC APPS" -depend <dependent_path>

You only need to specify the special operating system user <sdb_user> and the group <sdba_group> if you are installing the software for the first time, or if you are upgrading from a software version < 7.5.00.

For an explanation of the options, see Overview of the Options for the SDBINST Program.

You must place any names of installation profiles and software components that contain blanks in double quotation marks.

For certain installation profiles or software components, you do not need to specify the options –indep_prog, -indep_data, or –depend. If you do specify these options, the system ignores them. See the overview of options for more information.

You will receive a message informing you that the installation was successful.

Result

The software packages have been installed and registered. You can check the result of your installation in the log (Logging).

Follow-Up Steps

You can now use Database Manager CLI and Database Manager GUI to create new database instances.

See:

· Creating a Database Instance in Database Manager CLI

· Creating a Database Instance in the Database Manager GUI documentation


Installing/Updating Software on Linux (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installing/Updating Software on Linux

Use

You install or update a component group, installation profile or database software component.

The procedure that follows should only be used for updates if you wish to update components for which the software is not stored in the <dependent_path> of the MaxDB installation or if the software installation you want to update is not used by any database instances.

See also:

Concepts of the Database System, Directories

If you want to update components, for which the software is stored in the <dependent_path> of the MaxDB installation and database instances use this software installation, you have to update the database instances together with the software (Updating Database Instances Including Server Software). If you do not, you risk rendering the database instances incompatible with database software, and you may not be able to restart them.

If you have installed the database software on your computer with the Red Hat Package Manager (installation with rpm package), you must use this program for subsequent installations and updates.
You cannot use the SDBINST program for other installations and updates (installation with tgz package).

For installations on Linux, two programs are available:

· Installation/Update with the Red Hat Package Manager

· Installation/Update with SDBINST


Installations/Updates with SDBINST (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installations/Updates with SDBINST

Use

You use the SDBINST program to install or update component groups, installation profiles of the database software on Linux. The program queries all necessary information during the installation process.

If you have already installed the database system on your server with the Red Hat Package Manager (installation with rpm package), then you can now use this program only for subsequent installations and updates.
You cannot use the SDBINST program for other installations and updates (installation with tgz package).

Procedure

Proceed as described under Installing/Updating the Software on UNIX.


Installations/Updates with the Red Hat Package Manager (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installations/Updates with the Red Hat Package Manager

Use

You install or update components of the database software on Linux. All required information is specified on the command line along with the command for starting the installation program.

You must take into account the dependencies between the software components to ensure that the software installation is fully functioning.

Prerequisites

· You need to be in a root shell.

· You need to be able to access the rpm packages you want to install from your computer.

Procedure

First Installation of the Database Software

...

1. Go to the /usr directory and check whether the spool directory exists.
If it does not yet exist, continue with step 2. If it does exist, delete the spool directory.

2. Stay in the /usr directory and create the following symbolic link:
ln -s ../var/spool spool

3. Execute the installation command:
rpm -Uhv maxdb<package_name>.rpm

4. Enter all users that want to use the database system into the special operating system user group (default: sdba).

5. Add the /opt/sdb/programs/bin entry to the PATH environment variable for each user that wants to use the database system.

Updating the Database Software

On the computer on which you want to update the software version, stop all existing database software.

Stop the X Server program (vserver process). Remember that this interrupts communication between the clients and all local database instances.

...

1. To stop all database instances assigned to the installation directory that you want to update, enter the command:
dbmcli –d <database_name> -u <dbm_user>,<dbm_user_password> db_offline

2. Execute the installation command:
rpm -Uhv maxdb<package_name>.rpm

Result

The new versions of the software components in the installation directory have been installed and registered.

Follow-On Steps

You can now use Database Manager CLI and Database Manager GUI to create new database instances.

See:

· Creating a Database Instance in Database Manager CLI

· Creating a Database Instance in Database Manager GUI


Installing/Updating Software on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installing/Updating Software on Microsoft Windows

Use

You install or update a component group, installation profile or individual database software components.

The procedure that follows should only be used for updates if you wish to update components for which the software is not stored in the <dependent_path> of the MaxDB installation or if the software installation you want to update is not used by any database instances.

See also:

Concepts of the Database System, Directories

If you want to update components, for which the software is stored in the <dependent_path> of the MaxDB installation and database instances use this software installation, you have to update the database instances together with the software (Updating Database Instances and Their Server Software). If you do not, you risk rendering the database instances incompatible with database software, and you may not be able to restart them.

The system logs the installation process.

Procedure

...

1. First, unpack the database software to a local directory.

Unpacking the Software on Microsoft Windows

2. Now decide whether you want to perform an interactive installation (only possible for component groups or installation profiles) or a background installation.

¡ Interactive Installations/Updates on Microsoft Windows

¡ Background Installations/Updates on Microsoft Windows

For the advantages and disadvantages of these installation procedures, see
Installing and Updating the Database Software.


Unpacking the Software on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Unpacking the Software on Microsoft Windows

Conventions

See Concepts of the Database System,

· Directories

· Variables and Examples

Procedure

...

...

1. Select the package that is appropriate for your software and operating system architecture.

If you only want to install or update an individual software component, then select a component group or installation profile that contains this software component.

Installing from the Software Distribution Center on the SAP Service Marketplace(service.sap.com/swdc, for SAP customers only)

¡ For the Database Instance Type OLTP choose
Download ® Database Patches ® MaxDB and SAP DB ® Max DB | MaxDB 64-bit ® MaxDB <version> ® <os> ®
MAXDB<version>_<build>-<GUID>.SAR

¡ For the Database Instance Type liveCache (SAP System APO) choose
Download ® Support Packages and Patches ® Entry by Application Group ® SAP Application Components ® SAP APO ® SAP APO <apo_version> ® Entries by Component ® APO LC ® APO LC<version>/LCAPPS<apo_version> ® <os> ®
LC<version>A<apo_version>_<apo_build>-<GUID>.SAR

Installation from the MaxDB website dev.mysql.com/downloads/maxdb/7.6.00.html

¡ Database instance type OLTP only:
Choose the desired software package for your operating system:
maxdb-<inst_profile>-<win>-<32|64>bit-<arch>-<version>_<build>.zip

2. Copy the software package to a local directory of your choice.

3. Unpack

¡ an sar package using the SAPCAR program

¡ a zip package using the Winzip program

to a local directory of your choice.

Result

The system will have entered the following in this local directory:

· For OLTP software, the
maxdb-<inst_profile>-win-<32|64>bit-<arch>-<version> subdirectory

· For SAP liveCache software, the
apo<apo_version>_livecache-win-<32|64>bit-<arch>-<version> subdirectory

It then saves the software to these subdirectories.


Interactive Installations/Updates on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Interactive Installations/Updates on Microsoft Windows

Use

You use the SDBINST program to install or update component groups, installation profiles of the database software on Microsoft Windows. The program queries all necessary information during the installation process.

You must stop the X Server program before you update the database software. Remember that this interrupts the communication between the clients and all local database instances.

Prerequisites

· You need to have administrator rights for your computer.

· You need to download and unpack the installation package (Unpacking the Software on Microsoft Windows).

Procedure

...

1. To update an existing installation of the database system or install a newer software version in parallel:

¡ Stop each individual database instance of database system versions installed using the following command:

dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

¡ Stop the X Server program (XServer service) using the command:

x_server stop

In the case of an initial installation, start at step 2.

2. Open a command prompt and go to the local directory containing the installation files:

¡ For OLTP software, this is the directory

maxdb-<inst_profile>-win-<32|64>bit-<arch>-<version>

¡ For liveCache software, this is the directory

apo<apo_version>_<livecache>-win-<32|64>bit-<arch>-<version>

3. Enter sdbinst to start the installation/update program.

4. The system proposes component groups. Enter the ID of the desired component group. Confirm your selection.

5. If you selected the Custom component group, the system now proposes installation profiles. Enter the corresponding ID. Confirm your selection.

6. The system now checks your computer for installations of the database system that can be updated.

It lists any relevant installations.

¡ If you want to update an existing installation, specify its ID.

The system then updates the software in <independent_program_path>. Depending on your chosen software, the software in <dependent_path> is also updated if the installation package contains more recent versions of the files.

¡ If you want to perform a new installation of the database software in parallel to the existing installation, specify none. You then have the option of specifying a new installation path. Define an installation path in parallel to the existing installation path.

If there is no current installation of the database software on your computer, the software components are now installed one by one. If necessary, the system prompts you to specify the following paths:

¡ Path for saving data, configurations, and run directories of database instances and database applications (system default is C:\Documents and Settings\All Users\Application Data\sdb\data)

¡ Path for saving programs and libraries shared by database instances and database applications (system default is C:\Program Files\sdb\programs)

¡ Path for storage of server software dependent on the database version

This path must be unique. Multiple directories containing different versions can exist simultaneously (system default is C:\Program Files\sdb\<version>)

Specify the required paths, or confirm the system defaults.

You will receive a message informing you that the installation was successful.

7. If you are installing the database software on your computer for the first time, we recommend that you shut down your server, and restart it to enable the system to access the <independent_program_path>.

This is not necessary if you have updated the database software.

Result

The new version of the chosen database software has now been has been installed and registered. You can check the result of your installation using the log (Logging).

Follow-Up Steps

You can now use Database Manager CLI and Database Manager GUI to create new database instances.

See:

· Creating a Database Instance in Database Manager CLI

· Creating a Database Instance in the Database Manager GUI documentation


Background Installations/Updates on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Background Installations/Updates on Microsoft Windows

Use

You use the SDBINST program to install/update component groups, installation profiles or individual components of the database software on Microsoft Windows. All required information is specified on the command line, along with the command for starting the installation program.

You must stop the X Server program before you update the database software. Remember that this interrupts communication between the clients and all local database instances.

Prerequisites

· You need to have administrator rights for your computer.

· You need to download and unpack the installation package (Unpacking the Software on Microsoft Windows).

Procedure

1. To update an existing installation of the database system or install a newer software version in parallel:

¡ Stop each individual database instance with the command:
dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

¡ Stop the X Server program (XServer service) with the command:
x_server stop

In the case of an initial installation, start at step 2.

2. Start the installation process for the OLTP software with the following command:
sdbinst [-b | --batch] -component_group <component_group> | -profile <inst profile>[,<inst_profile2>...] | -package <package_name>[,<package_name2...>] -indep_data <independent_data_path> - indep_prog <independent_program_path> -depend <dependent_path> [-archive_dir <directory>]

Start the installation process for the liveCache software (in SAP APO systems only) with the following command:

¡ For the APO liveCache installation profile:
sdbinst [-b] -profile "APO LiveCache" -indep_data <independent_data_path> -indep_prog <independent_program_path> -depend <dependent_path>

¡ For the APO LC APPS software component:
sdbinst [-b] -package "APO LC APPS" -depend <dependent_path>

For an explanation of the options, see Overview of the Options for the SDBINST Program.

You must place any names of installation profiles and software components that contain blanks in double quotation marks.

For certain installation profiles or software components, you do not need to specify the options –indep_prog, -indep_data, or –depend. If you do specify these options, the system ignores them. See the overview of options for more information.

You will receive a message informing you that the installation was successful.

Result

The software packages have been installed and registered. You can check the result of your installation in the log (Logging).

Follow-Up Steps

You can now use Database Manager CLI and Database Manager GUI to create new database instances.

See:

· Creating a Database Instance in Database Manager CLI

· Creating a Database Instance in the Database Manager GUI documentation


Uninstalling the Database Software (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Uninstalling the Database Software

Implementation Considerations

Depending on the procedure you used to install the database software, you can now use either the SDBUNINST program or the Red Hat Package Manager to uninstall the software.

In both cases, you can uninstall the entire database software, individual installation profiles, or individual software components.

To perform an uninstall after you have canceled an installation, you first need to restart your computer. The system is not able to access the uninstall program until you have done this.

If you are working on the Linux operating system and have used the Red Hat Package Manager (rpm package) to install the database software on your server, you can only uninstall the software with this program.

Conventions

Concepts of the Database System,

· Directories

· Variables and Examples

Uninstalling with SDBUNINST on UNIX, Linux and Microsoft Windows

Uninstalling with the Red Hat Package Manager


Uninstalling with SDBUNINST on UNIX, Linux and Microsoft Windows

 Entering content frame

Procedure documentation Uninstalling with SDBUNINST on UNIX, Linux and Microsoft Windows

Implementation Considerations

You use the SDBUNINST uninstall program to uninstall some or all of the software components, taking into account the dependencies between them. This program is included in the database software from Version 7.3.00 Build 033.

You can use it to uninstall the software of the database system from Version 7.2.

Overview of Options for the SDBUNINST Program

Prerequisites

· One or more versions of the database software must be installed on your computer. These must include at least one installation of Version 7.3.00, Build 033 or higher, which includes SDBUNINST.

· You need to have administrator rights for your computer.

Procedure

...

1. On UNIX/Linux: Switch to the root shell.

On Microsoft Windows: Open the command prompt on your computer.

2. Use the following command to stop the database instances on your computer one by one:
dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

3. Use the following command to delete the database instances on your computer one by one:
dbmcli –d <database_name> -u <dbm_user>,<password> db_drop

4. Execute the uninstallation program with the required option:
sdbuninst <option>

¡ If you want to uninstall all software components, specify the –all option; otherwise, specify your chosen component with the –package option.


Uninstalling with the Red Hat Package Manager (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Uninstalling with the Red Hat Package Manager

Use

You install or update components of the database software on Linux. All required information is specified on the command line along with the command for starting the installation program.

Prerequisites

You are in a root shell.

Procedure

1. Stop and delete each database instance one by one by executing the following commands:
dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

dbmcli –d <database_name> -u <dbm_user>,<password> db_drop

2. Execute the uninstall command:
rpm -e maxdb<package_name|*>.rpm

Result

The specified software component(s) are uninstalled.


Upgrading Database Instances and Their Server Software (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Upgrading Database Instances and Their Server Software

Implementation Considerations

When you upgrade database instances to higher versions, you are updating their server software at the same time. In the following section, this procedure is known as an upgrade.

The strategy you choose depends on the database instance type and on the source and target versions. For help in choosing a suitable upgrade strategy, see the tables under Selecting an Upgrade Strategy.

Each time you upgrade database instances, we recommend you take precautions to avoid errors. Make sure you have made complete backups of all data in the relevant database instances, and that you also have the database software of the source version. Only this way can you immediately revert to the source version and avoid long periods of system downtime.

Before you start, make sure that you have taken precautions against the most common errors that cause an upgrade to crash (see Troubleshooting).

Whenever possible, use the SDBUPD program to perform the upgrade. This program gives you comprehensive support for a smooth upgrade without problems. However, you can only use it if certain prerequisites are met. If this is not the case, you have to use a different upgrade strategy.

Prerequisites for Using SDBUPD

SAP customers can use the SDBUPD program for upgrading database instances in SAP systems. The SDBUPD program carries out all required checks during the upgrade process.

You can also use this program to upgrade database instances that are not part of an SAP system. To do this, however, the following prerequisites must be fulfilled:

· The SDBINST program must have been used to install the existing software.

· Each of the existing database instances must refer to a separate software installation.


Selection of the Upgrade Strategy (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Selection of the Upgrade Strategy

Procedure

Select an upgrade strategy that is appropriate for the database instance type, and the source and target versions of the database software. Proceed as described for your chosen upgrade strategy.

If your database instance fulfills the necessary prerequisites, we recommend that you use the program SDBUPD, since an upgrade with this program removes the need for most of the user interaction, and is quicker and safer.

Upgrade Strategies for OLTP Database Instances

 | Target Version 7.6.x
Source Version from 7.3.00 Build 025 | In-Place Migration with SDBUPD or* In-Place Migration with SDBINST The target version must be equal to/greater than 7.6.00 build 12.
Source Version 7.4.03 | Patch Installation with SDBUPD or* Patch Installation with SDBINST
Source version 7.5.x | Patch Installation with SDBUPD or* Patch Installation with SDBINST
Start Version 7.6.00 | Patch Installation with SDBUPD or *Patch Installation with SDBINST

* Use the SDBUPD program if your database instance is part of an SAP system.
In special cases, you can use SDBUPD even if the database instance is not part of an SAP system. See Prerequisites for Using SDBUPD under Upgrading Database Instances and Their Server Software.

Upgrade Strategies for liveCache Database Instances

 | Target Version 7.6.00/500
Source Version 7.2.05/30A | Upgrade with APO Extract/Load
Source Version 7.4.02/30A | Upgrade with APO Extract/Load
Source Version 7.4.02/310 | Upgrade with APO Extract/Load
Source Version 7.4.03/400 | Upgrade with APO Extract/Load
Source Version 7.5.00/410 | Upgrade with APO Extract/Load
Source Version 7.6.00/500 | Patch Installation with SDBUPD


Patch Installation with SDBUPD (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Patch Installation with SDBUPD

Use

You use the SDBUPD program to upgrade a database instance. When you do this, only the database software is replaced.

You can only use this procedure for software version 7.6.x where only the version build number has changed between source and target version and for upgrades from 7.4.03 to 7.6.x and version 7.5.x to 7.6.x (see also Selecting an Upgrade Strategy).

You use this upgrade strategy if your database instance is part of an SAP system.

You can use this procedure even if the database instance is not integrated in an SAP system. To do this, however, the following prerequisites must be fulfilled:

· The SDBINST program must have been used to install the existing software (that is, with a tgzpackage or a zip file, and not an rpm package)

· Each database instance must refer to a separate software installation.

The procedure depends on whether your source version is lower than 7.5.00, or is 7.5.00 or higher, and on your operating system.

If your operating system is UNIX or Linux and your source version is lower than 7.5.00, then you must stop the X Server and all database instances before the upgrade. Remember that this interrupts communication between the clients and all local database instances. If your source version is 7.5.00 or higher, then the X Server software supports an update of the database software while X Server is running. You no longer need to stop the X Server. The database instance that you want to upgrade is stopped by SDBUPD during the upgrade.

If you are working on Microsoft Windows, you must always stop the X Server and all database instances.

Prerequisites

Before you start upgrading a database instance, make sure that you have up-to-date log backups and/or data backups for recovering this database instance in the event of errors.

The database parameters of the database instance you want to upgrade must not have been changed since the last restart.

· The database instance you want to upgrade must be the only instance that refers to the installation path of the software you want to update.

· The database instance must be in one of the three defined operational states - in other words, no errors may exist.

Procedure

...

1. If necessary, stop each database instance with the following command:

dbmcli –d <database_name> -u <dbm_user>, <password> db_offline

2. If necessary, stop the X Server:

x_server stop

3. Start the SDBUPD program for the database instance by entering the following commands:

UNIX, Linux: | Microsoft Windows:
./SDBUPD –d <database_name> -u <dbm_user>,<password> [-o <sdb_user> -g <sdba_group>] | sdbupd –d <database_name> -u <dbm_user>,<password>

You then only need to specify the <sdb_user> special operating system user and the <sdba_group> group if you are performing an upgrade for software version 7.5.00 (see Database System Concepts, UNIX: Special Operating System Users and Groups).

SDBUPD performs the upgrade, and displays a message to indicate that the upgrade has been completed successfully. It then flags the installation as complete.

Result

The specified database instance and software belonging to the Server profile have been updated.

With this procedure, the software not belonging to the Server installation profile is not updated. To update this software, use SDBINST as described under Installing and Updating the Database Software.

If you have upgraded a liveCache database instance, it will now be in the OFFLINE operational state.

If you have upgraded an OLTP database instance, it will be in the ONLINE operational state.


Patch Installation with SDBINST and Follow-Up Actions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Patch Installation with SDBINST and Follow-Up Actions

Use

You use the SDBINST program to upgrade database instances. When you do this, only the database software is replaced. You must then perform the necessary follow-up actions on the command line using Database Manager CLI.

This upgrade strategy is valid for OLTP database instances only (see Selecting an Upgrade Strategy). It is valid for all supported operating system platforms.

The procedure depends on whether your source version is 7.5.00 or higher, or lower than 7.5.00, and on your operating system.

If your operating system is UNIX or Linux and your source version is lower than 7.5.00, then you must stop the X Server and all database instances before the upgrade. Remember that this interrupts communication between the clients and all local database instances. If your source version is 7.5.00 or higher, then the X Server software supports an update of the database software while X Server is running. In such cases, it is not necessary to stop the X Server and all the database instances. However, you do need to stop the database instance that is assigned to the installation directory that is being updated.

If you are working on Microsoft Windows, you must always stop the X Server and all database instances.

Prerequisites

Before you start the upgrade process, make sure you have up-to-date log backups and/or data backups for recovering the database instances in the event of error.

· All database instances that you want to upgrade must refer to the same software installation.

Procedure

...

1. If necessary, stop each database instance with the following command:

dbmcli –d <database_name> -u <dbm_user>, <password> db_offline

2. If necessary, stop the X Server:

x_server stop

3. Start the SDBINST program with the options for installing the installation profile Server. For the <dependent_path>, make sure that you enter the correct software installation path of the database instance or instances you want to upgrade.

UNIX/Linux:

Microsoft Windows:

./SDBINST [-b] -profile server -indep_data <independent_data_path> -indep_prog <independent_program_path> -depend <dependent_path>
[-o <sdb_user> -g <sdba_group>]

sdbinst [-b] -profile server -indep_data <independent_data_path> -indep_prog <independent_program_path> -depend <dependent_path>

When you are upgrading the software from a version < 7.5.00, specify the <sdb_user> special operating system user and the <sdba_group> group according to the authorization concept for UNIX (see Database System Concepts, Special Operating System User and Groups (UNIX/Linux)).

4. Start the X Server with the following command:

x_server start

5. Log on to each of the database instances in sequence as the DBM operator, and perform the specified actions:

Procedure

Command

...

Log on to Database Manager CLI with the data of the database instance that you want to upgrade.

dbmcli –d <database_name> -u <dbm_user>, <password>

Update the software version of the database instance.

db_reg

Update the parameters of the database instance.

param_checkall

If you are upgrading from a database version < 7.5.00 on a UNIX operating system, you should proceed as follows:

a. Log off from Database Manager CLI.

b. Call the chvolperm program. This program changes the owner, group, and access rights to the volumes of the database instance according to the authorization concept for UNIX operating systems.

c. Log on to Database Manager CLI again.

exit | release | quit | bye

<dependent_path>/bin/chvolperm –d <database_name>

dbmcli –d <database_name> -u <dbm_user>,<password>

Change the database instance to the operational status WARM (up to Version 7.3) or ONLINE (from Version 7.4).

db_online | db_warm

Load the system tables.

A message is displayed indicating that the procedure has been successful.

load_systab

Exit Database Manager CLI.

exit | release | quit | bye

Result

The OLTP database instance specified and the software belonging to the Server profile have been updated.

With this procedure, the software not belonging to the Server installation profile is not updated. To update this software, use SDBINST as described under Installing and Updating the Database Software.

The database instance is in the ONLINE operational status.


In-Place Migration with SDBUPD (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation In-Place Migration with SDBUPD

Use

You use the SDBUPD program to upgrade a database instance.

You use this procedure if the database instance is part of an SAP system.

This upgrade strategy is valid only for an OLTP instance. It is valid for all supported operating system platforms.

Prerequisites

· The database instance that you want to upgrade must be part of an SAP system.

· The database instance must be in ONLINE operating state or, in the case of version 7.3, in WARM state.

· The database instance must be the only instance that refers to the installation path of the software version you want to update.

· The database parameters of the database instance that you want to upgrade must not have changed since the last restart.

· The source version of the database software must be Version 7.3 Build 025 or higher and the target version 7.5.00 or higher (See also: Selecting an Upgrade Strategy).

Procedure

...

Description

Command

Log on to Database Manager CLI and stop the database instance that you want to upgrade.

If the existing X Server has a version lower than 7.5, then use this command to stop all database instances one by one.

dbmcli –d <database_name> -u <dbm_user>,<password> db_offline

Change the database instance you want to upgrade to the operational state COLD (up to Version 7.3) or ADMIN (from Version 7.4).

db_cold | db_admin

If you have a more recent data backup, perform an incremental data backup and a log backup. Otherwise, perform a full data backup (see Backing Up the Database Instance).

backup_start <medium> [<type>] [AUTOIGNORE]

Exit Database Manager CLI.

exit | release | quit | bye

If the source version is lower than 7.5.00, stop the X Server.

If your source version is 7.5.00 or higher, then the X Server software supports an update of the database software while the database is running. In this case, you no longer need to stop the X Server.

x_server stop

Stop the X Server if it has a source version lower than 7.5.

x_server stop

Start the SDBUPD program.

SDBUPD performs the upgrade, and displays a message if this is completed successfully. It then flags the installation as complete.

The execution of this command can take a long time. Under no circumstances must you terminate it. If you do, you risk losing all your data. Your only option in this event is to use data backups to revert to the database instance state that is stored in these backups.

UNIX/Linux:

./SDBUPD –d <database_name> -u <dbm_user>,<password>
[-o <sapdb_user>
-g <sapdb_admin>]

You then only need to specify the special operating system user <sdb_user> and the group <sdba_group> if you are performing an upgrade for software version 7.5.x (see Concepts of the Database System, UNIX: Special Operating System Users and Groups (UNIX/Linux)).

Microsoft Windows:

sdbupd –d <database_name> -u <dbm_user>,<password>

Result

The specified OLTP database instance and software belonging to the Server profile have been updated.

With this procedure, the software not belonging to the Server installation profile is not updated. To update this software, use SDBINST as described under Installing and Updating the Database Software.

The database instance is in the ONLINE operational state.


In-Place Migration with SDBINST and Follow-Up Actions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation In-Place Migration with SDBINST and Follow-Up Actions

Use

You use the SDBINST program to upgrade database instances for Version 7.3 and above. You first need to install the new version of the database software. You then need to migrate the database instance(s).

The source version of the database software is version 7.3.00 Build 025 or higher, the target version is 7.5.00 or higher (see also Selecting an Upgrade Strategy).

If you would like to upgrade from Version 7.3.00 to a Version 7.6.00, the build of Version 7.6.00 must be greater than/equal to 12.

Use this procedure for database systems that are not part of an SAP system, particularly if multiple database instances refer to the same installation path.

This upgrade strategy is valid for database instances that are OLTP instances only. It is valid for all supported operating system platforms.

Prerequisites

· The database instance that you want to upgrade cannot be part of an SAP system.

· You need to have a backup medium for a complete data backup.

Procedure

To guarantee the security of your data where errors occur in the migration, we recommend that you perform a complete data backup of the instance in step 6, in the operational state COLD. This causes downtime because the database instance has to be stopped. However, in the event of an error, the resulting data backup can be used to recover the database instance in both Version 7.3 and the target version.

Alternatively, you can perform a complete data backup in the operational state WARM before you start the migration. However, in the event of an error, you can only use this backup to recover the source version of the database instance. It is therefore not equivalent to a data backup in the operational state COLD during the migration process.

...

1. Install the software of the target version using SDBINST (zip file or tgz package) in the <dependent_path_new> installation path in parallel to the installation path of Version 7.3. (in other words, without overwriting the old software version)

or

Install the software of the target version using the Red Hat Package Manager (rpm package).

If you have installed Version 7.3 of the database software on your computer using the Red Hat Package Manager, you must use this program to perform subsequent installations. It is not possible to use SDBINST for subsequent installations.

2. Perform the following migration steps for each of the database instances of your source version.

Procedure

Command

...

1.

Call Database Manager CLI as the DBM operator and connect to the database instance that you want to migrate.

dbmcli –d <database_name> -u <dbm_user>,<password>

2.

Stop the database instance in the correct manner.

Use the db_offline command; do not use db_stop. This is the only way of making sure you can restart the database instance if an error occurs.

db_offline

3.

Transfer the database instance to the COLD operational state.

db_cold

4.

Open a utility session.

util_connect

5.

Execute the command that prepares the migration.

util_execute migrate

6.

Perform a complete data backup in the COLD operational state.

backup_start <medium>

7.

Exit the utility session.

util_release

8.

Transfer the database instance to the OFFLINE operational state.

db_offline

9.

UNIX:

Assign the database instance to the new software version.

Microsoft Windows:

Delete the database instance registration.

UNIX:

db_reg –R <dependent_path_new>

Microsoft Windows:

db_drop WITHOUTFILES

10.

Exit Database Manager CLI.

For Microsoft Windows only:

Register the installation path of the new database software with Database Manager and create a database instance of this new software version.

exit | release | quit |bye

dbmcli –R <dependent_path_new> db_create <database_name> <dbm_user>,<password>

11.

Log on to Database Manager CLI again.

dbmcli -d <database_name> -u <dbm_user>,<password>

12.

Start the migration of the database parameters.

param_checkall

13.

If you are upgrading to database version 7.5.00 or higher on a UNIX operating system, perform the following steps. If you are not, proceed as described under point 14.

a. Log off of Database Manager CLI.

b. Call the chvolperm program. This program changes the owner, group, and access rights to the volumes of the database instance according to the authorization concept for UNIX (see Concepts of the Database System, Special Operating System Users and Groups (UNIX/Linux)).Log on to Database Manager CLI again.

exit | release | quit |bye

<dependent_path_new>/bin/chvolperm –d <database_name>

dbmcli –d <database_name> -u <dbm_user>, <password>

14.

If you are upgrading from a database version 7.3.00 to a database version 7.5.00, perform the following additional steps: Otherwise, proceed as described under point 15.

Transfer the database instance to the ADMIN operational state.

Enter the migration command.

Transfer the database instance to the OFFLINE operational state.

db_admin

util_execute migrate database

db_offline

15.

Restart the database instance. The database catalog is migrated from 7.3 to the target version.

db_online

16.

Reload the system tables.

A message is displayed indicating that the procedure has been successful.

load_systab

Result

You have migrated your database instance from software version 7.3 to the required target version.

The database instance is now in the ONLINE operational state.


Upgrading with APO Extract/Load (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Upgrading with APO Extract/Load

Use

You use the SDBUPD program for an upgrade with APO Extract/Load. You must first back up the transaction data of the application system from the liveCache database instance to the APO database, and then substitute the software (Selecting an Upgrade Strategy).

This procedure is currently valid only for the liveCache instance type in the SAP APO system. It is valid for all operating system platforms supported by the database system.

The procedure depends on whether your source version is lower than 7.5.00, or is 7.5.00 or higher, and on your operating system.

If your operating system is UNIX or Linux and your source version is lower than 7.5.00, then you must stop the X Server and all database instances before the upgrade. Remember that this interrupts communication between the clients and all local database instances. If your source version is 7.5.00 or higher, then the X Server software supports an update of the database software while X Server is running. In this case, you no longer need to stop the X Server and the database instances.

If you are working on Microsoft Windows, you must always stop the X Server and all database instances.

Prerequisites

· You need to have backed up the liveCache transactions to the APO database.

For more information, see the SAP Service Marketplace under service.sap.com/upgradeNW2004s

· The database parameters of the database instance that you want to upgrade must not have changed since the last restart.

· The database instance may be in any operational state.

Procedure

...

1. If necessary, stop each database instance with the following command:

dbmcli –d <database_name> -u <dbm_user>, <password> db_offline

2. If necessary, stop the X Server:

x_server stop

3. Start the SDBUPD program with the following command:

UNIX, Linux: | Microsoft Windows:
./SDBUPD –d <database_name> -u <dbm_user>,<password> [-o <sapdb_user> -g <sapdb_admin>] | sdbupd –d <database_name> -u <dbm_user>,<password>

You then only need to specify the <sdb_user> special operating system user and the <sdba_group>group <sdba_group> if you are performing an upgrade for software version 7.5.00 (see Concepts of the Database System, Special Operating System Users and Groups UNIX/Linux)).

4. SDBUPD performs the upgrade, and displays a message to indicate whether it has been completed successfully. You are prompted to start liveCache.

5. Start the liveCache ( Structure link Starting liveCache).

6. Restore the data from the APO system to liveCache.

For more information, see the SAP Service Marketplace under service.sap.com/upgradeNW2004s

Result

The specified liveCache database instance in the SAP APO system and its software have been upgraded.

The liveCache is now in the ONLINE operational state.


Installing MaxDB PHP Extension (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installing MaxDB PHP Extension

Implementation Notes

The MaxDB PHP programming interface enables you to access MaxDB database instances with PHP.

The software for the MaxDB PHP extension is published via the PECL standard distribution and can be downloaded free of charge under pecl.php.net/package/maxdb. You also require PHP Version 4.3.6 or higher.

The documentation for the MaxDB PHP extension is available in html format under www.php.net/manual/en/ref.maxdb.php. This documentation is also available in docbookxml format under cvs.php.net/phpdoc/en/reference/maxdb.

The programming interface can be used on Linux x86_32, Microsoft Windows 2000, and Microsoft Windows XP.

See:

Creating and Installing the MaxDB PHP Extension on Linux

Installing the PHP Library on Microsoft Windows


Creating and Installing the MaxDB PHP Extension on Linux (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating and Installing the MaxDB PHP Extension on Linux

Use

You create the software for the MaxDB PHP extension from the source code and install this software on your computer.

Prerequisites

· You need to have installed the following programs:

¡ gcc compiler, version 2.95 or higher

¡ autoconf, version 2.52 or higher

¡ libtool, version 1.5.6 or higher

· You need to have downloaded the source code for PHP 4.3.x or 5.0.x under php.net/downloads.php and unpacked this to a local directory <php_source> on your computer.

· You have - at least - installed the MaxDB SQLDBC software (Base and SQLDBC software components). The installation path in the following is <independent_program_path>.

To be able to reproduce the test examples described in the following, you also require a database instance however. For this reason we recommend that you install the complete MaxDB software first, create a database instance, then load the tutorial data to this database instance. A very simple and safe way for this is using the Installation Manager.

Procedure

...

1. Create the directory <php_source>/ext/maxdb.

2. Download the MaxDB PHP package maxdb-<version>.tgz from PECL under pecl.php.net/package/maxdb and unpack it to a temporary directory on your computer.

tar –C <tmp_folder> –xvzf maxdb-<version>.tgz

    3.      Copy the contents of the directory <maxdb_version> to the directory <php_source>/ext/maxdb:

cp –r <tmp_folder>/<maxdb_version> <php_source>/ext/maxdb

4. Go to the directory <php_source>:

cd /<php_source>

5. Create the new scripts for compiling the source code. To do so, enter the following command:

./buildconf --force

6. Specify the parameters for creating the PHP software with MaxDB extension.

¡ With the help of the with-maxdb option, define the directory <independent_program_path>.

Enter

§ The installation directory of SQLDBC if you have only installed the MaxDB SQLDBC software, or else

§ The directory for the programs and libraries used jointly by the MaxDB database instances and applications if you have installed the complete MaxDB software.

¡ With the help of the prefix option, you can specify the directory <php_with_maxdb> into which MaxDB with PHP extension is to be installed. Note that you must have write authorizations for this directory in order to be able to create the software in it.

If you do not specify this option, the system uses the /usr/local directory as default.

Use the following command to display all possible options:

./configure --help

./configure --with-maxdb=<independent_program_path> --prefix=<php_with_maxdb> [--<parameter>] [...]

<parameter> :: = <option>=<value> | <option>

7. Open a root shell and create and install PHP with MaxDB extension using the following command:

make install

Result

PHP with MaxDB support has been compiled and installed in the directory <php_with_maxdb>.

You can display the list of all PHP extensions installed as a test to check the installation has been successful. To do so, enter the following command:

<php_with_maxdb>/bin/php –m

If no errors have occurred, the PHP extension maxdb is displayed in the list.

For other tests, see: Testing the MaxDB PHP extension (Linux)

Example

...

The source code for PHP 5.0.0 has been unpacked to directory /home/anna/php-5.0.0.

The SQLDBC software at minimum has been installed to the directory /opt/sdb/programs.

1. Create the directories /home/anna/php-5.0.0/ext and /home/anna/tmp.

2. Unpack the MaxDB PHP package maxdb-7[1].5.00.24.tgzto the directory /home/anna/tmp:

tar –C /home/anna/tmp –xvzf maxdb-7[1].5.00.24.tgz

You now have the following directory structure:

/home/anna/php-5.0.0/

ext/

/home/anna/tmp/

ext/

maxdb/

tests/

<independent_program_path>/

lib/

sdk/

incl/

lib/

3. Copy the contents of directory <maxdb_php>/ext/maxdb to <php_source>/ext:

cp –r /home/anna/tmp/ext/maxdb /home/anna/php-5.0.0/ext

4. Go to the directory where you unpacked the PHP source code.

cd /home/anna/php-5.0.0

5. Create the new scripts for compiling the source code.

./buildconf –force

6. With the help of the necessary options, specify that the programs and libraries used jointly by the MaxDB database instances and applications are stored in the directory /opt/sdb/programs, that PHP with MaxDB extension is to be installed in the directory /usr and that the software is to be created both without CGI and without LIBXML support:

./configure --with-maxdb=/opt/sdb/programs --prefix=/usr --disable-cgi –-disable-libxml

7. Create and install the PHP software with MaxDB extension:

make install


Testing the MaxDB PHP Extension (Linux) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Testing the MaxDB PHP Extension (Linux)

Use

You test the functions of the MaxDB PHP extension. You can either use the test scenario included in the MaxDB PHP package for this or develop your own tests.

Prerequisites

· You must have created and installed the MaxDB PHP extension.

See: Creating and Installing the MaxDB PHP Extension on Linux

· You need to install the MaxDB software and create a database instance. This is located on the same computer as the PHP installation. If you want to use the MaxDB test scenario provided, you need to have loaded the tutorial data into the database instance.

See: Using the Installation Manager

Procedure

...

1. Open a root shell and go to the <php_source> directory with the PHP source code:

cd <php_source>

2. Copy the file php.ini-recommended to the directory <php_with_maxdb>/lib and change the name of this file to php.ini.

cp php.ini-recommended <php_with_maxdb>/lib/php.ini

3. Open the <php_with_maxdb>/lib/php.ini file in an editor and enter [maxdb] plus the values for the following variables:

Variable | Description
maxdb.default_db | Name of database instance
maxdb.default_user | Name of a valid database user
maxdb.default_pw | Password of the database user

4. Enter the path for the PHP installation in the environment variable TEST_PHP_EXECUTABLE.

5. Go to the directory <php_source> with the PHP source text. This directory contains the run-tests.php script for testing PHP.

cd <php_source>

6. To start the tests in the directory <test_program_folder>, enter the following command:

php run-tests.php <test_program_folder>

Result

You can see information on which tests were successful and which have failed.

Example

You have unpacked the source code for PHP 5.0.0 to the directory /home/anna/php-5.0.0.

You have created the MaxDB PHP extension and installed it in the /usr.

You have installed the MaxDB software and created the DEMODBdatabase instance as well as the database user MONA with the password RED.

You use the MaxDB test scenario provided.

...

1. Go to the directory /home/anna/php-5.0.0:

cd /home/anna/php-5.0.0

2. Copy the file php.ini-recommended to the directory <usr/lib and change the name of this file to php.ini.

copy php.ini-recommended /usr/lib/php.ini

3. Open the file /usr/lib/php.ini in an editor then enter the following:

[maxdb]

maxdb.default_db=DEMODB

maxdb.default_user=MONA

maxdb.default_pw=RED

4. Enter the path for the PHP installation in the environment variable TEST_PHP_EXECUTABLE.

Update the environment variables in a bash shell:

export TEST_PHP_EXECUTABLE=<php_with_maxdb>/bin/php

5. Go to the directory containing the source text: /home/anna/php-5.0.0. This directory contains the run-tests.php script for testing PHP.

cd /home/anna/php-5.0.0

6. To start the tests, enter the following command:

php run-tests.php /home/anna/tmp/ext/maxdb/tests


Installing the Max DB PHP Library (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installing the Max DB PHP Library (Microsoft Windows)

Use

You install the MaxDB-PHP library php_maxdb.dll. in Microsoft Windows in order to be able to use the MaxDB PHP extension.

To do this you, use the corresponding file for the version of your PHP installation: php_maxdb.dll.

Prerequisites

· You must have installed the programs tar and gzip for Microsoft Windows.

· You must have downloaded the PHP binary distribution for Microsoft Windows. You can find this under php.net/downloads.php

· You must have downloaded the appropriate MaxDB PHP library for your PHP version.

You can find the package for PHP5 under snaps.php.net/win32/PECL_5_0/php_maxdb.dll

You can find the package for PHP4 under snaps.php.net/win32/PECL_STABLE/php_maxdb.dll

· You must have installed the MaxDB SQLDBC software at least (Base and SQLDBC software components). The installation path in the following is <independent_program_path>.

To be able to reproduce the test examples described in the following, you also require a database instance however. For this reason we recommend that you install the complete MaxDB software first, create a database instance, then load the tutorial data to this database instance. Using the Installation Manager is a very easy and secure way of doing this.

Procedure

...

1. Unpack the PHP binary distribution to a local directory <php_binary> on your computer.

2. Select the appropriate MaxDB PHP library for your PHP version and unpack this to the directory containing the extensions for the PHP binary distribution:

For PHP5, unpack the package to <php_binary>\ext

For PHP4, unpack the package to <php_binary>\extensions

3. Copy the file php.ini-recommended from the <php_binary> directory to the directory of your version of Microsoft Windows <win_dir> and rename it php.ini:

copy <php_binary>\php.ini-recommended <win_dir>\php.ini

4. Open the php.ini file in an editor and add the following line to the Dynamic Extensions section:

extension=php_maxdb.dll

5. Look for extension_dir in the php.ini file and enter the directory containing the extensions for the PHP binary distribution of your PHP version.

For PHP5, enter:

extension_dir=″<php_binary>\ext″

For PHP4, enter:

extension_dir=″<php_binary>\extensions″

6. Save your changes and close the php.ini. file.

7. Enter the necessary paths to the PATH environment variable:

SET PATH=%PATH%;<php_binary>;<php_binary>\ext

Result

The MaxDB PHP library has been installed.

You can display the list of all PHP extensions installed as a test to check the installation has been successful. To do so, enter the following command:

php –m

If no errors have occurred, the PHP extension maxdb is displayed in the list.

For other tests, see: Testing the PHP Library (Microsoft Windows).

Example

You are using PHP5 and want to install the MaxDB PHP extension for Microsoft Windows (32 bit).

You are using the Windows XP operating system and this is installed in the C:\WINDOWS directory.

...

1. Unpack PHP 5.0.0 to the directory C:\php-5.0.0-Win32

2. Unpack the package http://snaps.php.net/win32/PECL_5_0/php_maxdb.dll to C:\php-5.0.0-Win32\ext.

3. Copy the file php.ini-recommended from the file C:\php-5.0.0-Win32 to the directory C:\WINDOWS and change its name to php.ini:

copy C:\php-5.0.0-Win32\php.ini-recommended C:\WINDOWS\php.ini

4. Open the php.ini file in an editor and add the following line to the Dynamic Extensions section:

extension=php_maxdb.dll

5. In the php.ini file, look for extension_dir and enter the directory C:\php-5.0.0-Win32\ext there.

extension_dir=″c:\php-5.0.0-Win32\ext″

6. Save your changes and close the php.ini. file.

7. Enter the necessary paths to the PATH environment variable:

SET PATH=%PATH%;C:\php-5.0.0-Win32;C:\php-5.0.0-Win32\ext


Testing the PHP Library (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Testing the PHP Library (Microsoft Windows)

Use

You test the functions of the MaxDB PHP extension. You can either use the test scenario included in the MaxDB PHP package for this or develop your own tests.

Prerequisites

· You must have installed the MaxDB PHP library.

See: Installing the MaxDB PHP Library (Microsoft Windows)

· You need to install the MaxDB software and create a database instance. This is located on the same computer as the PHP installation. If you want to use the MaxDB test scenario provided, you need to have loaded the tutorial data into the database instance.

See: Using the Installation Manager

· If you want to use the MaxDB test scenario provided, you also need to download the MaxDB source package under pecl.php.net/package/maxdb and unpack this into the <maxdb_php> directory. The test programs are contained in this package.

Procedure

...

1. Open the php.ini file in the directory of your version of Windows and enter [maxdb] plus values for the following variables:

Variable | Description
maxdb.default_db | Name of database instance
maxdb.default_user | Name of a valid database user
maxdb.default_pw | Password of the database user

2. Go to the directory <test_program_folder> containing the test programs:

cd <test_program_folder>

3. Run the individual test programs. Enter the following command to execute the <test program>:

php <test_program>

Example

You have unpacked the PHP binary distribution to the directory C:\php-5.0.0-Win32.

You have installed the MaxDB PHP library for Microsoft Windows in the C:\WINDOWS directory.

You have unpacked the MaxDB source package to the directory C:\php-5.0.0-Win32\ext\maxdb\tests.

You have installed the MaxDB software and created the DEMODBdatabase instance as well as the database user MONA with the password RED.

You use the MaxDB test scenario provided.

4. Open the file C:\WINDOWS\php.ini in an editor program then insert the following:

[maxdb]

maxdb.default_db=DEMODB

maxdb.default_user=MONA

maxdb.default_pw=RED

5. Go to the directory containing the MaxDB PHP test programs.

cd C:\php-5.0.0-Win32\ext\maxdb\tests

6. Execute the maxdb001.php test program.

php maxdb001.php

The PHP binary distribution for Microsoft Windows does not include a test frame. You therefore need to execute each test program for the MaxDB PHP library individually.


Configuring Web SQL / WebDAV (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring Web SQL / WebDAV

Use

You configure the following MaxDB software:

· Web SQL and/or

· WebDAV Servlet

The further development of Web DBM has been stopped. The MaxDB software package only contains Web DBM up to and including Version 7.5. You can also manage Version 7.6 database instances with Web DBM 7.5 however.

Prerequisites

· You need to have installed and started a Servlet Container such as Apache Tomcat, SAP NetWeaver AS or JBoss.

· You must have installed the MaxDB JDBC interface.

· You must have installed the appropriate MaxDB software component or installation profile:

Software components:

¡ WebSQL

¡ WebDAV Servlet

Installation Profile:

¡ WebJTools

The software is installed in the directory <independent_program_path>\servlets\websql or <independent_program_path>\servlets\webdav. You can find more information on the files in the Readme file in this directory.

· For the WebDAV Servlet, you also need a MaxDB database instance ≥ Version 7.6.

The WebDAV Servlet is a new implementation of the MaxDB WebDAV interface. If you have already used WebDAV for access to a MaxDB database instance in MaxDB 7.5, the installation program adapts your WebDAV document store for use with the new WebDAV Servlet automatically (assigning the tables to the necessary schemas among others).

Procedure

...

1. Make the MaxDB JDBC driver available in your Servlet Container.

2. Carry out the deployment procedure in the Servlet Container. You can find more information on how to deploy a Servlet in your Servlet Container in the Servlet Container manufacturer documentation.

3. For installation of the WebDAV Servlet only:

The MaxDB WebDAV Servlet is supplied with example configuration files for the Apache Tomcat, SAP NetWeaver AS and JBoss servlet containers. You can find these files in the following directory: <independent_program_path>\servlets\webdav.

If you are using one of these types of Servlet Container, you need to adapt the corresponding example configuration file to your system environment:

¡ Enter the MaxDB database instance as the data source in the configuration files relevant for your Servlet Container and then the authentication data for an arbitrary user of the MaxDB database instance.

We recommend you use a dedicated database users for the WebDAV Servlet. See Concepts of the Database System, Database Users.

¡ If necessary, configure the WebDAV context path. The default value for the context path is /webdav.

In the Apache Tomcat standard installation, /webdav is already assigned as a context path. If you are using Apache Tomcat, you will therefore need to configure a different context path for the MaxDB WebDAV Servlet.

¡ For SAP NetWeaver AS only:

In the Deployment Descriptor, enter the authentication data for the SAP NetWeaver AS administrator user for the J2EE engine.

Result

You can now call WebSQL / WebDAV via the context path.

Software | Context Path (Default)
Web SQL | /websql
WebDAV | /webdav

See also:

· Web SQL, Calling the Web SQL Studio

· WebDAV, Calling the WebDAV Servlet


Connecting Backup Tools from Other Providers (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Connecting Backup Tools from Other Providers

Purpose

You can use backup tools from other providers together with MaxDB database tools to save and restore or export and import data.

See Concepts of the Database System, Supported Backup Tools from Other Providers.

Implementation Considerations

For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

If, for example, you want to back up the data stored in a database instance or export data from a database instance, you can save this data directly to files, pipes or to tapes by means of a tape device.

However, you can also use a backup tool from another provider to save the data on to a permanent medium. You can also control the necessary actions using the MaxDB database tools. The backup tool provides the tapes on to which you can save or export your data.

You need to configure the MaxDB software in order to use the MaxDB database tool together with the backup tool from another provider.

You can use backup tools from other providers for the following actions:

· Saving to backup media

¡ Incremental Data Backups

¡ Complete Data Backups

¡ Log Backups

¡ Archiving the Version Files

· Restoring backup media

¡ Restore the database instance using data backups, log backups, and archived log backups

· Exporting data to backup media

¡ Exporting the entire database instance

¡ Exporting the entire database catalog

· Importing data from the backup media

¡ Importing the entire database instance

¡ Importing the entire database catalog

The procedures for backups and restores after the relevant configuration are contained in the following documents (depending on which tools you use):

Database Manager CLI, Backing Up and Restoring Database Instances
Database Manager GUI, Using Backup Tools from other Providers for Backing Up and Using Backup Tools from other Providers for Restoring.

The procedures for exporting and importing data after you have defined the relevant configuration are described in the Loader documentation under Exporting and Importing with Backup Tools from other Providers.

After you have defined the configuration, test all planned actions. This allows you to familiarize yourself with the relevant MaxDB database tool, and test the correct configuration of the MaxDB software for the backup tool. This is a prerequisite for ensuring that no errors occur when the external backup tool is used to back up, restore, import or export data while the system is running in live mode.

Restrictions

When backing up or restoring data, you can switch from Microsoft Windows to Linux and vice versa only. This means that a backup created on a Microsoft Windows operating system can only be restored on the same operating system or on a Linux operating system. A backup created on Linux can only be restored on the same operating system or on a Microsoft Windows operating system.

If you are planning to migrate data between different operating systems, it is generally recommended that you use Loader. This tool does not impose any restrictions on switching operating systems when exporting or importing data. The only restriction relates to the limited independence of the operating systems of the various backup devices. If, for example, you want to switch from Microsoft Windows to UNIX, a tape device or a backup tool would need to be compatible with both operating systems. Check this beforehand in the documentation for your backup device.


Block Diagram: Backing Up and Restoring (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Block Diagram: Backing Up and Restoring

The following block diagram illustrates the software components that are involved when you back up and restore data, and shows how they work together with an external backup tool.

This graphic is explained in the accompanying text

Description of the Backup Process

The Database Manager client is used to send the command that saves the data; this calls the DBM Server program. If you are using a UNIX operating system, the DBM Server creates one or more pipes. If you use Microsoft Windows, the pipes are created by the database kernel. The DBM Server sends the information that starts the backup process to the database kernel. As soon as the data is written to the pipes, the DBM Server program calls the external backup tool. The backup tool reads the data from the pipes and saves it on a permanent medium.

Description of the Restore Process

The Database Manager client is used to send the command that restores the data; this calls the DBM Server program. If you are using a UNIX operating system, the DBM Server creates one or more pipes. If you use Microsoft Windows, the pipes are created by the database kernel. The DBM Server sends the information that starts the restore process to the database kernel. The program then calls the external backup tool and transfers the information about which backup has to be restored. The client of the backup tool requests the specified backup medium from the backup server. The server gets the medium, reads the data of the backup, and transfers the data to the client of the backup tool. The client writes the data to the pipes. There the data is read by the database kernel and transferred to the database system.


Block Diagram: Importing and Exporting Data (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Block Diagram: Importing and Exporting Data

The following block diagram illustrates the software components that are involved when you import and export data, and shows how they work together with an external backup tool.

This graphic is explained in the accompanying text

Description of the Import Procedure

The Loader client is used to send the command that imports the data; this calls the Loader Server program. The Loader Server then creates the pipes. At the same time, it calls the external backup tool and tells it from which external backup tool to load the data. The client of the external backup tool requests the specified backup medium from the backup server. The backup server gets the medium, reads the data to be imported from the backup medium, and transfers the data to the client of the external backup medium. The client writes the data sequentially to the pipes. There the Loader Server reads them and imports them into the database instance.

Description of the Export Procedure

The Loader client is used to send the command that exports the data; this calls the Loader Server program. The Loader Server then creates the pipes. The Loader Server starts to export the data and write it sequentially to the pipes. At the same time, it calls the external backup tool. The backup tool reads the data sequentially from the pipes and saves it on a permanent medium.


Connecting to a Backint for Oracle Interface (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connecting to a Backint for Oracle Interface

Many external backup tools have a Backint for Oracle interface. In principle, the program Backint for Oracle can backup any files in the file system, regardless of whether the Oracle database system is installed on the computer or not. The following description of how to connect MaxDB to a Backint for Oracle interface assumes that this feature is guaranteed by the vendor of the external backup tool with the Backint for Oracle interface.

After the MaxDB software has been configured accordingly, the MaxDB database tools for backing up, restoring, importing and exporting data can be connected to the Backint for Oracle interface of an external backup tool of this type.

The connection is made by using an adapter program that, together with the Backint for Oracle of the external backup tool, implements a Backint for MaxDB. This adapter program is part of your MaxDB installation.

After you have triggered the relevant action by using the database tool, the adapter program copies the data in segments into temporary files. The adapter program calls the Backint for Oracle program several times in succession to save these temporary files by using the external backup tool.

See also:

Restrictions for Using Backint for Oracle

How the MaxDB Adapter Program Works

Configuration of Backint for Oracle Connections


Restrictions for Using Backint for Oracle with Versions Smaller than 7.5

 Entering content frame

Background documentation Restrictions for Using Backint for Oracle with Versions Smaller than 7.5

The connection from MaxDB to an external backup tool using a Backint for Oracle interface without any restrictions is only possible from version 7.5. The following restrictions apply to any previous versions:

The available MaxDB database tools are specified for each version.

MaxDB Versions and Tools for Creating Backups and Restoring by Using a Backint for Oracle Interface

Version | Build No. | Available MaxDB Tools
7.4.03 | from 000 | Database Manager CLI, Database Manager GUI
 | from 002 | Also Web DBM
7.4.02 | from 000 | Database Manager CLI, Database Manager GUI
 | from 011 | Also Web DBM
7.4.01 | from 003 | Database Manager CLI, Database Manager GUI
7.3.32 | from 000 | Database Manager CLI, Database Manager GUI
7.3.00 | from 015 | Database Manager CLI, Database Manager GUI
 | from 025 | Also Web DBM
7.2.05 | from 008 | Database Manager CLI, Database Manager GUI (Backups only)*

* You can use this version of the Database Manager GUI only for creating backups and not for restoring purposes. However, if you have installed a newer version of the Database Manager GUI that supports the restore function (7.4.03, for example), you can also restore databases that have an older version (7.2.05, for example), since this database tool is downward compatible.


How the MaxDB Adapter Program Works (SAP Library - MaxDB Library)

 Entering content frame

Background documentation How the MaxDB Adapter Program Works

To enable you to connect Backint for Oracle to MaxDB, an adapter program is delivered with the MaxDB software. This program meets the Backint for MaxDB specification if it is used with a Backint for Oracle program.

How Backups Work

...

The backup data of the database system is received by one or more pipes and saved in temporary files. You can define the number and size of these files in the parameter file of the MaxDB adapter program.

The MaxDB adapter program calls the external backup tool and saves the temporary files by using the Backint for Oracle program. The temporary files are then deleted. This step is repeated until all data has been saved.

To speed up the backup process, you need to configure the adapter program to enable parallel backups. To do this, you define a group of parallel backup media and a separate staging area for each pipe. In this way, new temporary files are created, and existing temporary files are saved by using Backint for Oracle.

Administrative information is saved in a backup history, a backup of which is created by Backint for Oracle after each backup.

How Recoveries Work

...

The information about the backup history is evaluated by the adapter program.

The adapter program uses the backup history and Backint for Oracle to restore the required temporary files in the correct sequence. The temporary files are transferred by the adapter program to the database system by using one or more pipes.

If an error occurs and the backup history is no longer available, you have to manually restore the last version of the backup history by using Backint for Oracle. Make sure that you are familiar with Backint for Oracle and the handling of your backup tool in case this is necessary.


Configuring the Backint for Oracle Connection (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the Backint for Oracle Connection

Use

You configure the MaxDB software with the aim of connecting the MaxDB database tools for backing up, restoring, importing, or exporting data to the Backint for Oracle interface of an backup tool.

Prerequisites

· Your external backup tool has a Backint for Oracle interface.

· The version of your MaxDB database system supports the connection of a Backint for Oracle interface (see: Restrictions for Using Backint for Oracle).

· Your Backint for Oracle program is able to save any files in a file system, even if you do not have an Oracle database system installed on your computer.

Procedure

To connect MaxDB to the Backint for Oracle interface, perform the following steps:

...

1. Configure the Backint for Oracle interface of the external backup tool according to the instructions of the vendor. If you have to create a configuration file for this, you have to specify its name in the parameter file of the adapter program (see step 2).

2. Create the parameter file for the MaxDB adapter program
This file connects MaxDB with the external backup tool. If necessary, also enter the name of the configuration file of the external backup tool in this file (see step 1). Example

3. Create the configuration file for Backint for MaxDB (case 1)
This file connects the Database Manager with the MaxDB adapter program. Also enter the name of the parameter file of the MaxDB adapter program in this file (see step 1). Example

4. Export the environment variables of the external backup tool if you are required to do so by the vendor of the external backup tool.

5. Set the environment variable BSI_ENV for the program Database Manager.

6. If necessary, set non-tool-specific environment variables for the Database Manager.


Creating the Parameter File for the MaxDB Adapter Program (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating the Parameter File for the MaxDB Adapter Program

Use

If you want to use an external backup tool with a Backint for Oracle interface for a MaxDB database system, you first have to configure the connection between the MaxDB and the Backint for Oracle program (Configuring the Backint for Oracle Connection). Creating the parameter file for the MaxDB adapter program is one of the required steps for this configuration.

In the parameter file you determine where the adapter program generates the required temporary files, and where the interface program Backint for Oracle is located.

You enter the name of this parameter file in the configuration file of the Backint for MaxDB (keyword PARAMETERFILE) when you configure Backint for MaxDB.

Procedure

On every line in the parameter file you specify a parameter of the MaxDB adapter program. When you do this, at the beginning of each line you have to specify the keyword for the parameter and then the relevant value(s). Lines that do not begin with keywords are ignored by the system.

Syntax

<key_string> <value_string>

<key_string> | Keyword for a parameter; can consist of one or more words
<value_string> | Value(s) of the parameter

You can define the following parameters for the MaxDB adapter program:

Parameter

Syntax

Description

Absolute path and size of a temporary file

STAGING AREA: <absolute_path>/<file_name> <size> [KB|MB|GB]

You can define up to 256 temporary files.
If you do not specify a unit for the size, the size is configured in bytes.
The program uses precisely one temporary file for each pipe.

Maximum number of temporary files that are to be processed by Backint for Oracle concurrently.

FILES PER BACKINT CALL: <number>

Default value: 1
The program can save temporary files and generate other temporary files at the same time, provided that the <number> specified here is smaller than the number of the backup/recovery pipes used.

Absolute path and name of the Backint for Oracle program

BACKINT: <absolute_path>/<file_name>

Absolute path and name of the configuration file for the Backint for Oracle program

PARAMETERFILE OF BACKINT: <absolute_path>/<file_name>h>

Define this parameter only if you have to create a configuration file for the external backup tool. Otherwise, do not use this keyword.

Absolute path and name of the backup history

HISTORY FILE: <absolute_path>/<file_name>

The backup history contains the information that is required for the restore function.

Absolute path and name of the standard input file

INPUTFILE FOR BACKINT: <absolute_path>/<file_name>

These files must differ from the files that are configured for the Backint for MaxDB connection (see INPUT, OUTPUT, ERROROUTPUT in Creating the Configuration File for Backint for MaxDB).

Absolute path and name of the standard output file‑

OUTPUT FILE FOR BACKINT: <absolute_path>/<file_name>

Absolute path and name of the standard error output file

ERRORFILE FOR BACKINT: <absolute_path>/<file_name>

Maximum waiting time in seconds between creating a temporary file and starting to save it by using Backint for Oracle

MAXIMAL DELAY OF BACKINT CALL: <number>

Default value: 10
This value is specified to prevent deadlocks in exceptional situations during a parallel backup or a restore.

If the temporary files are created at different speeds and one temporary file is already complete, the adapter program waits a maximum of the time specified here for another temporary file to be completely created. If no other file is created within the specified time, the existing temporary file is saved.

Specify a large time period so that the configured number of temporary files (FILES PER BACKINT CALL:) can be saved at the same time.

Specifies whether or not the adapter program should ignore the closing slash (/ or \) of an absolute directory name for Backint for Oracle.

OMIT LAST DIRECTORY DELIMITER ON RESTORE: <option>

<option> ::= YES | NO

NO: Default value
The slash is not ignored.
YES: The slash is ignored.
Use this option to avoid problems with Backint for Oracle implementations that do not expect a closing slash (/ or \) at the end of a directory name.
This parameter is supported for the following MaxDB versions as of the specified build numbers:
7.4.03 from build 000, 7.4.02 from build 002, 7.3.00 from build 021, 7.2.05 from build 016

Value of the environment variable BI_CALLER

BI_CALLER VALUE: <value>: <value>

Set this parameter only if the backup tool requires you to set this parameter. In accordance with the system default, the variable BI_CALLER is removed from the environment before Backint for Oracle is called. For most Backint for Oracle implementations you do not need to set this value since these implementations allow the environment variables BI_CALLER to be missing. This parameter is supported for the following MaxDB versions as of the specified build numbers:
All versions from 7.4.04 build 000, 7.4.03 from build 006, 7.4.02 from build 016, 7.3.0 from build 029, 7.2.05 from build 025.

See also:

Example of a Parameter File for the MaxDB Adapter Program


Example of a Parameter File for the MaxDB Adapter Program (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example of a Parameter File for the MaxDB Adapter Program

Use

You can simplify the way you create the parameter file for the MaxDB adapter program , if you use the following example and adjust it to suit your needs. If you do not want a certain parameter to be set by the parameter file, you have to invalidate or delete the relevant keyword.

In the Example of a Configuration File for Backint for MaxDB the existing parameter files backintmaxdbconfig.par are listed.

File Content

STAGING AREA: D:\TEMP\STAGE1 1 GB
STAGING AREA: E:\TEMP\STAGE2 1024 MB
STAGING AREA: F:\TEMP\STAGE3 1048576 KB
STAGING AREA: G:\TEMP\STAGE4 1073741824

FILES PER BACKINT CALL: 2

BACKINT: C:\Program Files\BackupTool\BIN\backint.exe"
PARAMETERFILE OF BACKINT: C:\BackupTool\CONF\backintoraconfig.utl

HISTORY FILE: C:\SAPDB\BackintHistory

INPUTFILE FOR BACKINT: C:\TEMP\backint4Oracle.in
OUTPUTFILE FOR BACKINT: C:\TEMP\backint4Oracle.out
ERRORFILE FOR BACKINT: C:\TEMP\backint4Oracle.err

MAXIMAL DELAY OF BACKINT CALL: 30

Explanation

Keyword | Value(s) | Explanation
STAGING AREA: | D:\TEMP\STAGE1 1 GB E:\TEMP\STAGE2 1024 MB F:\TEMP\STAGE3 1048576 KB G:\TEMP\STAGE4 1073741824 | The adapter program (if configured in this way) can backup or restore a maximum of four pipes at the same time. The temporary files created in doing this can reach a size of a Gigabyte, as long as the end of the pipe is not reached.
FILES PER BACKINT CALL: | 2 | As soon as two of the four temporary files have been completely created, they are saved by calling the Backint for Oracle program.
BACKINT: | C:\Program Files\BackupTool\BIN\backint.exe" | The absolute path of the Backint for Oracle program is: "C:\Program Files\BackupTool\BIN\backint.exe" If the path contains a space then close it with double quotation marks.
PARAMETERFILE OF BACKINT: | C:\BackupTool\CONF\backint oraconfig.utl | The absolute path of the configuration file of the Backint for Oracle program is: C:\Backuptool\CONF\backintoraconfig.utl.
HISTORY FILE: | C:\SAPDB\BackintHistory | The adapter program stores the backup history at the end of each backup under the path C:\SAPDB\BackintHistory and saves the history by calling the Backint for Oracle program again.
INPUTFILE FOR BACKINT: | C:\TEMP\backint4Oracle.in | Standard input for Backint for Oracle: C:\TEMP\backint4Oracle.in
OUTPUTFILE FOR BACKINT: | C:\TEMP\backint4Oracle.out | Standard output for Backint for Oracle: C:\TEMP\backint4Oracle.out
ERRORFILE FOR BACKINT: | C:\TEMP\backint4Oracle.err | Standard error output for Backint for Oracle: C:\TEMP\backint4Oracle.err
MAXIMAL DELAY OF BACKINT CALL: | 30 | If the temporary files are created at different speeds and one temporary file is already complete, the adapter program waits a maximum of 30 seconds for another of the temporary files to be completely created. If none of the other files is created within 30 seconds, the temporary file that already exists is backed up using Backint for Oracle.


Creating the Configuration File for Backint for MaxDB (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating the Configuration File for Backint for MaxDB

Use

You configure the MaxDB software with the aim of connecting the MaxDB database tools to an external backup tool for backing up, restoring, exporting, or importing data.

You use the configuration file for Backint for MaxDB to inform the Database Manager where the Backint for MaxDB program is located and how to communicate with it.

Case 1: Connecting to Backint for Oracle by Using the MaxDB Adapter Program

If you want to use an external backup tool with a Backint for Oracle interface for a MaxDB database system, you first have to configure the connection between the MaxDB and the Backint for Oracle program (see Configuring the Backint for Oracle Connection). Creating the configuration file for the Backint for MaxDB is one of the required steps for this configuration.

(See also: How the MaxDB Adapter Program Works.)

Case 2: Connecting to the Backint for MaxDB Interface of an External Backup Tool (Third-Party Vendor)

If you want to use an external backup tool with a Backint for MaxDB interface for a MaxDB database system, you have to create a configuration file. For the most part, this corresponds to the configuration file in case 1. The differences are explained in the following description.

It is assumed that the Backint for MaxDB interface of the third-party vendor meets the Backint for MaxDB specification (see also the documentation Backint for MaxDB).

Procedure

You specify a parameter of the Database Manager in every line in the configuration file. When you do this, at the beginning of each line you have to specify the keyword for the parameter and then the relevant value(s). Lines that do not begin with keywords are ignored by the system.

Syntax

<key_string> <value_string>

<key_string> | Keyword for a parameter; can consist of one or more words
<value_string> | Value(s) of the parameter

You can define the following parameters for connecting Backint for MaxDB to the Database Manager:

Parameter

Syntax

Description

Absolute path and name of the Backint program

BACKINT <absolute_path>/<file_name>

Case 1: Connecting to a Backint for Oracle interface by using a MaxDB adapter program
Specify the absolute path and name of the adapter program that was delivered with MaxDB.

Case 2: Connecting to the Backint for MaxDB interface of an external backup tool (third-party vendor)
Specify the absolute path and name of the Backint for MaxDB program.

Absolute Path and name of the standard input file

INPUT <absolute_path>/<file_name>

The Database Manager creates these files temporarily and uses them for standard input, output, and error output for Backint for MaxDB.

Absolute path and name of standard output file

OUTPUT <absolute_path>/<file_name>

Absolute path and name the standard error output file

ERROROUTPUT <absolute_path>/<file_name>

Absolute path and name of the configuration file of the Backint for MaxDB program

PARAMETERFILE <absolute_path>/<file_name>

Case 1: Connecting to a Backint for Oracle interface by using a MaxDB adapter program
Specify the absolute path and name of the parameter file of the adapter program.

Case 2: Connecting to the Backint for MaxDB interface of an external backup tool (third-party vendor)
Specify the absolute path and name of a configuration file for the Backint for MaxDB program, if it was necessary to create one.

Time in seconds,

Time after which the backup tool exits, after the database kernel has copied all data successfully

TIMEOUT_SUCCESS <number>

Default value: 300

Case 1 - Connecting to a Backint for Oracle interface by using a MaxDB adapter program: Make sure that you allow enough time so that the backup tool can save all copied data to a tape. The number of temporary files and their configured sizes are the most important factors here.

Case 2 - Connecting to the Backint for MaxDB interface of an external backup tool (third-party vendor): Period of time after which the Database Manager terminates the backup tool, if all data has been copied to the pipes.

Note that the backup tool always exits after this defined period, whether all data copied from the database kernel has been backed up by the backup tool or not.

Time in seconds,

Time after which the backup tool exits, if the database kernel has stopped the backup due to an error.

TIMEOUT_FAILURE <number>

Default value: 300

Make sure that you allow enough time so that the backup tool can save all data copied by the database kernel. This is because the backup tool always exits when this timeout is reached, even if not all of the copied data has been saved yet. On the other hand, do not specify too much time. Otherwise, you risk a situation where a backup stopped by the database kernel blocks other backups (such as automatic backups at night) from being started.

Absolute path of the run directory of the source database

ORIGINAL_RUNDIRECTORY <absolute_path>

Default value: Run directory of the current database instance

Specify this parameter only for a migration.
The prerequisite for the migration from one computer to another is that the version of Backint for MaxDB that you are using can make backups from the source computer available on the target computer.

Pay attention to upper- and lowercase spelling when you specify this value.

See also:

Example of a Configuration File for Backint for MaxDB


Example of a Configuration File for Backint for MaxDB (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example of a Configuration File for Backint for MaxDB

Use

You can simplify the way you create configuration file for Backint for MaxDB if you use the following example and adjust it to suit your needs. If you do not want a certain parameter to be set by the parameter file, you have to invalidate or delete the relevant keyword.

File Content

Case 1: Connecting to a Backint for Oracle Interface by Using the MaxDB Adapter Program

BACKINT C:\SAPDB\TST\db\bin\backint.exe
INPUT C:\TEMP\backint4MAXDB.in
OUTPUT C:\TEMP\backint4MAXDB.out
ERROROUTPUT C:\TEMP\backint4MAXDB.err
PARAMETERFILE C:\SAPDB\WRK\TST\backintmaxdbconfig.par
TIMEOUT_SUCCESS 600
TIMEOUT_FAILURE 300
ORIGINAL_RUNDIRECTORY C:\SAPDB\wrk\CUSTOMERDB

Case 2: - Connecting to the Backint for MaxDB Interface of an External Backup Tool (Third-Party Vendor)

BACKINT C:\Backuptool\backint.exe
INPUT C:\TEMP\backint4MAXDB.in
OUTPUT C:\TEMP\backint4MAXDB.out
ERROROUTPUT C:\TEMP\backint4MAXDB.err
PARAMETERFILE C:\SAPDB\WRK\TST\backintmaxdbconfig.par
TIMEOUT_SUCCESS 600
TIMEOUT_FAILURE 300
ORIGINAL_RUNDIRECTORY C:\SAPDB\wrk\CUSTOMERDB

Explanation

Keyword | Value | Explanation
BACKINT | C:\Backuptool\backint.exe | The absolute path of the Backint for MaxDB program is: C:\Backuptool\backintsapdb.exe.
INPUT | C:\TEMP\backint4MAXDB.in | The absolute path of the standard input is: C:\TEMP\backint4MAXDB.in
OUTPUT | C:\TEMP\backint4MAXDB.out | The absolute path of the standard output is: C:\TEMP\backint4MAXDB.out
ERROROUTPUT | C:\TEMP\backint4MAXDB.err | The absolute path of the standard error output is: C:\TEMP\backint4MAXDB.err
PARAMETERFILE | C:\SAPDB\WRK\TST\adaptprog.par | The absolute path of the parameter file of the adapter program is: C:\SAPDB\WRK\TST\adaptprog.par.
TIMEOUT_SUCCESS | 600 | If successful, the Database Manager waits for a maximum of 10 minutes for Backint for MaxDB to stop.
TIMEOUT_FAILURE | 300 | If errors occur, the Database Manager waits for a maximum of 5 minutes for Backint for MaxDB to stop.
ORIGINAL_RUNDIRECTORY | C:\SAPDB\wrk\ CUSTOMERDB | Run directory of the original database instance: C:\SAPDB\wrk\P1.


Exporting Environment Variables for the External Backup Tool (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Exporting Environment Variables for the External Backup Tool

Use

If the vendor of the external backup tool stipulates the export of environment variables, you can export them into the environment by using the Database Manager before you call the external backup tool.

The export of environment variables is supported for the following database versions as of the specified build numbers:
7.2.05 from build 016, 7.3.00 from build 021, 7.4.02 from build 002, 7.4.03 from build 000

Syntax

dbmcli -d <database_name> -n <database_server> -u <dbm_user>,<password> dbm_configset -raw set_variable_<number> <variable>=<value>

<number> | Your choice of numbering for the variables that have to be set (0<= number <=100)
<variable> | Environment variable
<value> | Value of the environment variable

If you define several values for one environment variable, the Database Manager solves the conflict in the following way.
Example:
You have entered the following DBM commands:

dbmcli ... dbm_configset -raw set_variable_<number1> <variable>=<value1>

dbmcli ... dbm_configset -raw set_variable_<number2> <variable>=<value2>

If number1 < number2, the Database Manager exports only the <value1> for the environment variable <variable>, otherwise only the value <value2>.

If you publish one of the environment variables TEMP, TMP, ADINT, ADA_OPT, NSR_ENV, NSR_POOL, NSR_EXPIRE, or BSI_ENV with
dbmcli ... dbm_configset -raw <variable> <value1>
and export it with
dbmcli ... dbm_configset -raw set_variable_<number> <variable>=<value2>,
the environment variable is exported with the value <value1> before an external backup tool is called.


Setting the Environment Variable BSI_ENV (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting the Environment Variable BSI_ENV

Use

So that the Database Manager or Loader on the database computer can access the configuration file for Backint for MaxDB, you have to explicitly define the absolute path of the file in the environment variable BSI_ENV by using the Database Manager CLI.

If you do not do this, instead of using the configuration file, the system uses the file specified in the following table:

Operating system | File
UNIX | <run_directory>/bsi.env
Microsoft Windows | <run_directory>\bsi.env

Syntax

dbmcli -d <database_name> -n <database_computer> -u <dbm_user>,<dbm_user_password> dbm_configset -raw BSI_ENV <value>

<value>

Value of the environment variable BSI_ENV

See also:

Database Manager CLI, Changing a Database Manager Configuration Parameter


Setting Non-Tool-Specific Environment Variables for the Database Manager

 Entering content frame

Background documentation Setting Non-Tool-Specific Environment Variables for the Database Manager

Use

To enable the Database Manager to access the variables it needs on the database computer, or to force the Database Manager to export environment variables before it calls an external backup tool, you must use the Database Manager CLI  to specify these environment variables explicitly.

You can set these environment variables for each external backup tool. The values you define here override any values defined for these variables in the environment or in the configuration file of the external backup tool.

¡ If you want to override the environment variable TEMP or TMP, proceed as described in Setting TEMP or TMP.

¡ If you want to define timeouts for external backup tools from third-party vendors, proceed as described under Setting DBM_TTO_SUCCESS and DBM_TTO_FAILURE.

In this way, you can define how long the external backup waits until it exits after all data has been copied to the pipe(s), or how long it waits until it terminates the backup if an error occurs.

Use the same procedure for Backint for MaxDB if you want to override the values defined for TIMEOUT_SUCCESS and/or TIMEOUT_FAILURE in the configuration file.


Setting TEMP or TMP (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting TEMP or TMP

Use

You use the Database Manager to set the environment variables TEMP or TMP. The values you define override the values specified for TEMP or TMP in the configuration file of the Database Manager or the environment.

Syntax

dbmcli -d <database_name> -n <database_computer> -u <dbm_user>,<dbm_user_password> dbm_configset –raw <variable> <value>

<variable> | Name of the environment variable TEMP | TMP
<value> | Absolute path and name of the directory in which the Database Manager generates temporary files


Setting DBM_TTO_SUCCESS and DBM_TTO_FAILURE (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting DBM_TTO_SUCCESS and DBM_TTO_FAILURE

Use

You use the Database Manager CLI to define the values for the environment variables DBM_TTO_SUCCESS and DBM_TTO_FAILURE.

You use the variable DBM_TTO_SUCCESS to define the period of time after which the Database Manager exits the external backup tool, if the database kernel has sent all the data to the pipes or files. The external backup tool is also terminated if not all the data has been backed up to pipes or files, to stop the backup if there are any errors in the backup tool.

If you use Backint for MaxDB, you use this method to override the value of the parameter TIMEOUT_SUCCESS in the Backint for MaxDB configuration file.

You use the variable DBM_TTO_FAILURE to define the period of time after which the Database Manager exits the external backup tool, if the database kernel has stopped the backup due to an error. The external backup tool is also exited if the database kernel has not yet copied all data to the pipes or files. This enables extra backups to be started, for example, when making automatic backups at night.

If you use Backint for MaxDB, you use this method to override the value of the parameter TIMEOUT_FAILURE in the Backint for MaxDB configuration file.

Syntax

dbmcli -d <database_name> -n <database_computer> -u <dbm_user>,<dbm_user_password> dbm_configset –raw <variable> <value>

<variable> | Name of the environment variable DBM_TTO_SUCCESS | DBM_TTO_FAILURE
<value> | Value of the timeout in seconds


Connecting to a Backint for MaxDB Interface (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connecting to a Backint for MaxDB Interface

Use

External backup tools that have their own Backint for MaxDB interface are still being developed. The requirements that need to be met by this interface are documented in Backint for MaxDB.

The section Connecting to a Backint for Oracle Interface describes the use of a Backint for MaxDB implementation by using an adapter program. This implementation uses a program that was developed by SAP and is delivered with the MaxDB software package. This program is intended for connecting to Backint for Oracle. The configuration file that has to be created, however, corresponds to the configuration file that would have to be created for an external backup tool with its own Backint for MaxDB interface if the requirements in the documentation Backint for MaxDB are met by the vendor.

Prerequisites

The version of your MaxDB database system supports the connection of a Backint for MaxDB interface (see: Restrictions for Using Backint for MaxDB).

Procedure

To connect to a Backint for MaxDB interface, perform the following steps:

...

1. Create the configuration file for Backint for MaxDB, case 2.

2. Export the environment variables of the external backup tool if this is required by the vendor of the external backup tool.

3. Set the environment variable BSI_ENV for the Database Manager.

4. If necessary, set non-tool-specific environment variables for the Database Manager.


Restrictions for Using Backint for MaxDB for Versions Smaller than 7.5

 Entering content frame

Background documentation Restrictions for Using Backint for MaxDB for Versions Smaller than 7.5

The connection from MaxDB to an external backup tool using a Backint for MaxDB interface without any restrictions is only possible as of version 7.5. The following restrictions apply to any previous versions:

The available MaxDB database tools are specified for each version.

MaxDB Versions and Tools for Creating Backups and Restores by Using a Backint for MaxDB Interface

Version | Build No. | Available MaxDB Tools
7.4.03 | from 000 | Database Manager CLI, Database Manager GUI
 | from 002 | Also Web DBM
7.4.02 | from 000 | Database Manager CLI, Database Manager GUI
 | from 011 | Also Web DBM
7.4.01 | from 003 | Database Manager CLI, Database Manager GUI
7.3.32 | from 000 | Database Manager CLI, Database Manager GUI
7.3.00 | from 015 | Database Manager CLI, Database Manager GUI
 | from 025 | Also Web DBM
7.2.05 | from 008 | Database Manager CLI, Database Manager GUI (Backups only)*

* You can use this version of the Database Manager GUI only for creating backups and not for restoring purposes. However, if you have installed a newer version of the Database Manager GUI that supports the restore function (7.4.03, for example), you can also restore databases that have an older version (7.2.05, for example), since this database tool is downward compatible.


Connecting to TSM (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Connecting to TSM

MaxDB supports connections to the external backup tool TSM from the company IBM/Tivoli for backing up, restoring, importing, and exporting data after the MaxDB software has been configured accordingly.

Note that there are version-specific restrictions for using TSM or for creating parallel backups or restores.

For further information, go to: www.ibm.com

See also:

Restrictions for Using TSM

Restrictions for Creating Parallel Backups and Restores with TSM

Configuring the TSM Connection


Restrictions for Using TSM for Versions Smaller than 7.5 (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restrictions for Using TSM for Versions Smaller than 7.5

The use of the external backup tool TSM for MaxDB is only possible without restrictions as of version 7.5. The following restrictions apply to any previous versions:

The available MaxDB database tools are specified for each version.

MaxDB Versions and Tools for Backups and Restores with TSM

Version | Build No. | Available MaxDB Tools
7.4.03 | from 000 | Database Manager CLI, Database Manager GUI
 | from 002 | Also Web DBM
7.4.02 | from 000 | Database Manager CLI, Database Manager GUI
 | from 011 | Also Web DBM
7.3.32 | from 000 | Database Manager CLI, Database Manager GUI (Backups only)*
7.3.00 | from 000 | Database Manager CLI, Database Manager GUI (Backups only)*
 | from 015 | Database Manager CLI, Database Manager GUI
 | from 025 | Also Web DBM
7.2.05 | from 000 | Database Manager CLI, Database Manager GUI (Backups only)*

* You can use this version of the Database Manager GUI only for creating backups and not for restoring purposes. However, if you have installed a newer version of the Database Manager GUI that supports the restore function (7.4.03, for example), you can also restore databases that have an older version (7.2.05, for example), since this database tool is downward compatible.

See also:

Restrictions for Parallel Backups and Restores Using TSM for Versions Smaller than 7.5


Restrictions for Parallel Backups and Restores with TSM for Versions Smaller than 7.5

 Entering content frame

Procedure documentation Restrictions for Parallel Backups and Restores with TSM for Versions Smaller than 7.5

Parallel backups and restores with TSM are only possible without restrictions and with all the MaxDB database tools as of MaxDB version 7.5. The following restrictions apply to any previous versions:

The available MaxDB database tools are specified for each version.

MaxDB Versions and Tools for Performing Parallel Backups and Restores with TSM

Version | Build No. | Available MaxDB Tools
7.4.03 | from 000 | Database Manager CLI, Database Manager GUI
 | from 002 | Also Web DBM
7.4.02 | from 003 | Database Manager CLI, Database Manager GUI
 | from 011 | Also Web DBM
7.3.00 | from 021 | Database Manager CLI, Database Manager GUI
 | from 025 | Also Web DBM
7.2.05 | from 017 | Database Manager CLI, Database Manager GUI


Configuring the TSM Connection (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the TSM Connection

Use

You configure the MaxDB software with the aim of connecting the MaxDB database tools for backing up, restoring, unloading, or loading data to the external backup tool TSM. For this you use the TSM client adint2. If this client is not available on the platform that you use, you can also connect TSM to MaxDB by using Backint for Oracle.

See also:

Connecting to a Backint for Oracle Interface

The adint2 program is not contained in a standard installation of the TSM client. The program is provided separately by IBM. For more information, see the following Internet address: http://www.de.ibm.com.

Prerequisites

· The version of your MaxDB database system supports the connection of TSM (see: Restrictions for Using TSM).

· You have the TSM client adint2.

Procedure

...

1. If you want to create a parallel backup or restore, check whether the version of your database system supports this action (see Restrictions for Creating Parallel Backups and Restores with TSM).

2. Set the environment variables ADINT and ADA_OPT.

3. If necessary, set non-tool-specific environment variables for the Database Manager.


Setting the Environment Variables ADINT and ADA_OPT (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting the Environment Variables ADINT and ADA_OPT

Use

So that the Database Manager and the Loader on the database computer can access the required environment variables ADINT and ADA_OPT, you have to explicitly define them by using the Database Manager CLI.

Environment Variable | Description
ADINT | Specifies the directory in which the program adint2 (UNIX) or adint2.exe (Microsoft Windows) is stored. Specify this directory as an absolute path – without a closing slash (/) or backslash (\).
ADA_OPT | Absolute name of the adint2 configuration file. An example configuration file initSID.utl is located in the directory of the adint2 program.

Syntax

dbmcli -d <database_name> -n <database_server> -u <dbm_user>,<password> dbm_configset -raw <variable> <value>

<variable> | Environment variable ADINT | ADA_OPT
<value> | Value of the environment variable

See also:

Database Manager CLI, Changing a Database Manager Configuration Parameter


Connecting to NetWorker (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Connecting to NetWorker

MaxDB supports connections to the external backup tool NetWorker from the company Legato for backing up, restoring, importing, and exporting data after the MaxDB software has been configured accordingly.

Note that there are version-specific restrictions for using NetWorker or for creating parallel backups or restores.

See also:

Restrictions for Using NetWorker

Restrictions for Creating Parallel Backups and Restores with NetWorker

Configuration of the NetWorker Connection


Restrictions for Using NetWorker for Versions Smaller than 7.5 (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restrictions for Using NetWorker for Versions Smaller than 7.5

The use of the external backup tool NetWorker (Legato) for MaxDB is only possible without restrictions as of version 7.5. The following restrictions apply to any previous versions:

The available MaxDB database tools are specified for each version.

MaxDB Versions and Tools for Backups and Restores with NetWorker

Version | Build No. | Available MaxDB Tools
7.4.03 | from 000 | Database Manager CLI, Database Manager GUI
 | from 002 | Also Web DBM
7.4.02 | from 000 | Database Manager CLI, Database Manager GUI
 | from 011 | Also Web DBM
7.3.32 | from 000 | Database Manager CLI, Database Manager GUI
7.3.00 | from 005 | Database Manager CLI, Database Manager GUI (Backups only)*
 | from 015 | Database Manager CLI, Database Manager GUI
 | from 025 | Also Web DBM
7.2.05 | from 001 | Database Manager CLI, Database Manager GUI (Backups only)*

* You can use this version of the Database Manager GUI only for creating backups and not for restoring purposes. However, if you have installed a newer version of the Database Manager GUI that supports the restore function (7.4.03, for example), you can also restore databases that have an older version (7.2.05, for example), since this database tool is downward compatible.

The following NetWorker versions are required at the minimum :

Operating System | NetWorker Version
UNIX | 5.5
Microsoft Windows | 5.7

See also:

Restrictions for Parallel Backups and Restores Using NetWorker for Versions Smaller than


Restrictions for Parallel Backups and Restores Using NetWorker for Versions Smaller than 7.5

 Entering content frame

Procedure documentation Restrictions for Parallel Backups and Restores Using NetWorker for Versions Smaller than 7.5

Parallel backups and restores using the NetWorker are only possible without restrictions and with all the MaxDB database tools as of MaxDB version 7.5. The following restrictions apply to any previous versions:

The available MaxDB database tools are specified for each version.

If you perform a parallel backup with a database whose version is lower than 7.4.03, set the NetWorker parameter Target Sessions for each tape drive to 1. (See the vendor’s documentation.)

MaxDB Versions and Tools for Performing Parallel Backups and Restores with NetWorker

Version | Build No. | Available MaxDB Tools
7.4.03 | from 000 | Database Manager CLI, Database Manager GUI
 | from 002 | Also Web DBM
7.4.02 | from 000 | Database Manager CLI, Database Manager GUI
 | from 011 | Also Web DBM
7.3.32 | from 000 | Database Manager CLI, Database Manager GUI
7.3.00 | from 009 | Database Manager CLI, Database Manager GUI (Backups only)*
 | from 015 | Database Manager CLI, Database Manager GUI
 | from 025 | Also Web DBM
7.2.05 | from 004 | Database Manager CLI

* You can use this version of the Database Manager GUI only for creating backups and not for restoring purposes. However, if you have installed a newer version of the Database Manager GUI that supports the restore function (7.4.03, for example), you can also restore databases that have an older version (7.2.05, for example), since this database tool is downward compatible.


Configuring the NetWorker Connection (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the NetWorker Connection

Use

You configure the MaxDB software with the aim of connecting the MaxDB database tools for backing up, restoring, importing, or exporting data to the external backup tool NetWorker.

Prerequisites

The version of your MaxDB database system supports the connection of NetWorker (see: Restrictions for Using NetWorker).

Procedure

...

1. If you want to create a parallel backup or restore, check whether the version of your database system supports this action (see Restrictions for Creating Parallel Backups and Restores with NetWorker).

2. Set the environment variable NSR_ENV .

3. Create the configuration file for NetWorker .

4. If necessary, set non-tool-specific environment variables for the Database Manager.


Setting the Environment Variable NSR_ENV (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting the Environment Variable NSR_ENV

So that the Database Manager or Loader on the database computer can access the configuration file for NetWorker, you have to explicitly define the absolute path of the file in the environment variable NSR_ENV by using the Database Manager CLI.

If you do not do this, instead of the configuration file, the system uses the file specified in the following table:

Operating System | File
UNIX | /nsr/sapdb/env
Microsoft Windows | C:\Program Files\nsr\sapdb\env

Syntax

dbmcli -d <database_name> -n <database_computer> -u <dbm_user>,<dbm_user_password> dbm_configset -raw NSR_ENV <value>

<value>

Value of the environment variable NSR_ENV

See also:

Database Manager CLI, Changing a Configuration Parameter of the Database Manager


Creating the Configuration File for NetWorker (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating the Configuration File for NetWorker

You configure the MaxDB software with the aim of connecting the MaxDB database tools for backing up, restoring, importing, or exporting data to the external backup tool NetWorker.

Procedure

You specify a parameter of the Database Manager in every line in the configuration file. When you do this, at the beginning of each line you have to specify the keyword for the parameter and then the relevant value(s). Lines that do not begin with keywords are ignored by the system.

Syntax

<key_string> <value_string>

{0><key_string><}100{><key_string><0} | {0>Schlüsselwort für einen Parameter, kann aus einem oder mehreren Wörtern bestehen<}100{>Keyword for a parameter; can consist of one or more words<0}
<value_string> | Value(s) of the parameter

You can define the following parameters for connecting NetWorker and the Database Manager:

Parameter

Syntax

Description

Absolute path of the directory where NetWorker is installed

NSR_HOME <absolute_path>

The NetWorker programs SAVE, MMINFO, and RECOVER are in this directory.

Name of the NetWorker server

NSR_HOST <name>

Name of the NetWorker tape pool

NSR_POOL <name>

If you specify a name, it overwrites the default value for the tape pool that was configured in NetWorker.

Expiry date or period of the backup

NSR_EXPIRE <value>

This value is transferred to the NetWorker program SAVE and overwrites the default value for the expiry date or expiry period that was configured in NetWorker.

See the NetWorker documentation for the allowed entries.

Specifies which of the NetWorker programs SAVE and RECOVER is started with the -v option

NSR_NOTVERBOSE <option>

<option> ::= NONE | SAVE |

RECOVER | "SAVE AND RECOVER"

This value is required in case the NetWorker programs do not support the –v option.

NONE: Default value
SAVE and RECOVER are started with the -v option.

SAVE: SAVE is started without and RECOVER is started with the -v option.

RECOVER: SAVE is started with and RECOVER is started without the -v option.

"SAVE AND RECOVER": SAVE and RECOVER are started without the -v option.

Specifies whether the output of the NetWorker program SAVE is analyzed when backups take place

NSR_USEOUTPUT <option>

<option> ::= SAVE | NONE

SAVE: Default value
The output of SAVE is checked for error messages.

NONE: The output of SAVE is not checked for error messages. Only the return code of SAVE is used. Since SAVE can return the value 0 even if errors occur, do not use NONE.

Error messages of the NetWorker program SAVE that can be ignored

NSR_IGNOREERROR <error_text>

All error messages of the form <pipe_name>:<error_text> are ignored.

Repeat this parameter definition for each error message that can be ignored.

Specifies whether the Database Manager uses (for recoveries) the backup times or the NetWorker save set identifiers

NSR_EBIDTYPE <option>

<option> ::= NSAVETIME | SSID

NSAVETIME: Default value
Backups are identified by their backup time.
This is the recommended value since no particular authorization is required for the operating system user by the NetWorker program RECOVER.

SSID: Backups are identified using the NetWorker Save Set Identifier.

Waiting time (in seconds) between two SAVE calls during parallel backups

NSR_SAVEINTERVAL <time>

Default value: 10

Name under which you want to save the backup in NetWorker

NSR_BACKUPNAME <name>

Default value: Name of the database instance

Any string of characters that can contain the placeholders <database_name> and/or <node>. When backing up or restoring with NetWorker, the placeholders are replaced with the name of the database instance and/or the database computer.

Avoiding a NetWorker software error

NSR_AVOIDPSSIDBUG <option>

<option> ::= YES | NO

A software error in the MMINFO program when using the option -q pssid=0 (PSSID bug) is known as of NetWorker 6.0. You can avoid this error by setting this parameter.
NO: Default value
Calls the NetWorker MMINFO program with the option -q pssid=0
YES: Avoids the software error in the MMINFO program (only NetWorker versions as of 6.0)

Date format that is used for analyzing the output of the NetWorker program MMINFO

NSR_SAVETIMEFORMAT <format>

<format>::=

[<separator_definition><separator>]

<datetime_format>

[<separator><AM_definition>]

[<separator><PM_definition>]

<separator_definition>::=

SEPARATOR=<new_separator>

<new_separator>::= character which does

not occur in <date_time_format>,

<AM_definition> and

<PM_definition>

<separator>::= with missing

commas <separator_definition> (',')

otherwise <new_separator>

<datetime_format>::= { <year>

| <month> | <day> | <hour> |

<minute> | <second> | <AM> |

<PM> [<datetime_separator>] }

<datetime_separator>::= any character

except y, m, d, H, M, S, a, A, p, P

<year>::= yy | yyyy

<month>::= mm

<day>::= dd

<hour>::= HH

<minute>::= MM

<second>::= SS

<AM>::= am | AM | a.m. | A.M.

<PM>::= pm | PM | p.m. | P.M.

<AM_definition>::=AM=<local_AM_string>

<local_AM_string>::= any character

string without the character <separator>

<PM_definition>::=PM=<local_PM_string>

<local_PM_string>::= any character

string without the character <separator>

Required if current default value does not correspond to NetWorker output.

Default values are
mm/dd/yy HH:MM:SS AM: for date output from NetWorker that is more than 8 characters long, or

mm/dd/yyyy HH:MM:SS AM: for date output from NetWorker that is more than 10 characters long

You can only configure one format. This can be a format that differs from the default values as long as the specified syntax elements are used.

yy|yyyy year, mm month, dd day, HH hour, MM minute, SS second, AM | PM a.m. or p.m.

Specifies how the size specification for backups transferred with the NetWorker SAVE program is to be used.

NSR_SIZEROUNDUP <option>

<option> ::= NOROUNDUP |

FIRSTDECIMAL | NORMAL |

LASTINTEGER

Required if the size that was transferred by SAVE for the backup is rounded off.

This parameter can be used for the following database versions as of the specified build numbers only: 7.2.05 from build 017, 7.3.00 from build 021, 7.4.03 from build 000.

NOROUNDUP: Default value
 The size specification is used unchanged.

FIRSTDECIMAL: The size specification is increased by 0.1 (For example: Backup size 14 GB is used with 14.1 GB).

NORMAL: The size specification is increased by 0.5.

LASTINTEGER: The size specification is increased by 1.

Character string that is used as the value for the MMINFO option –t

NSR_AVOIDTIMEBUG <value>

Required if MMINFO from NetWorker does not work without option –t

This parameter can be used for the following database versions as of the specified build numbers only: 7.2.05 as of build 018, 7.3.00 as of build 022, 7.4.02 as of build 004, 7.4.03 as of build 000.

The character string must match the format expected by MMINFO. If the character string consists of multiple words, you have to set them in quotation marks.
Note that backups that are not within the time span specified by the character string are regarded by MaxDB as no longer available for a restore.

Client name that is used by the Database Manager when calling up the Networker Program MMINFO and also the NetWorker Program SAVE, if necessary. This is used instead of the computer name supplied by the operating system.

NSR_CLIENT

Can only be used with the database version 7.3.0 as of Build 032, 7.4.3 as of Build 010 or database versions larger/the same as 7.5 and has to match the client name configured in the NetWorker.

Once this client name has been initially specified or changed then any backups executed prior to that can only be accessed like backups from another client. They are identified as UNAVAILABLE in the backup history. Their availability can only be determined by using the DBM command Retrieve External Backups This presents the previous client name as a parameter instead of the one from the database computer. There are no other restrictions when restoring.

Determines how the selected value for NSR_CLIENT is used.

NSR_USECLIENTFOR <option>

<option> ::="SAVE and MMINFO"

| MMINFO

MMINFO: Default value. The selected value for NSR_CLIENT is only used for the NetWorker Program MMINFO.

SAVE and MMINFO: The selected value for NSR_CLIENT is used for the NetWorker program SAVE and MMINFO. In this way, you can use a logical computer name for backups or specifically use a second network card.

If you select the value “SAVE and MMINFO” you are check ing whether a backup is being executed with your NetWorker version and your configuration and if it can be restored. If the backup cannot be restored then select the default value MMINFO for the parameter NSR_USECLIENTFOR and contact your NetWorker support.

See also:

Example of a configuration file


Example of a Configuration File for NetWorker (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example of a Configuration File for NetWorker

Use

You can simplify the way you create the configuration file for NetWorker if you use the following example and adjust it to suit your needs. If you do not want a certain parameter to be set by the parameter file, you have to invalidate or delete the relevant keyword.

File Content

NSR_HOST           p47579
NSR_HOME           "C:\Program Files\nsr\bin"
NSR_POOL           MAXDBPOOL
NSR_EXPIRE         year

NSR_NOTVERBOSE     RECOVER
NSR_EBIDTYPE       NSAVETIME

NSR_USEOUTPUT      SAVE
NSR_IGNOREERROR    " unknown error 109 (0x6d)"
NSR_IGNOREERROR    " using unlocked access"
NSR_IGNOREERROR    " The pipe has been ended.”

NSR_SAVEINTERVAL   60
NSR_BACKUPNAME     MAXDB:<database_name>_on_<node>

NSR_AVOIDPSSIDBUG YES
NSR_SAVETIMEFORMAT "yyyy/mm/dd HH:MM:SS AM"

Explanation

Keyword

Value

Explanation

NSR_HOST

p47579

The NetWorker server is running on computer p47579.

NSR_HOME

"C:\Program Files\nsr\bin"

The NetWorker client is installed on the database server in the directory
C:\Program Files\nsr\bin

NSR_POOL

MAXDBPOOL

Backups are stored in the NetWorker pool MAXDBPOOL.

NSR_EXPIRE

year

The backups have an expiration time of one year.

NSR_NOTVERBOSE

RECOVERY

The NetWorker RECOVER program is run without the -v option.

NSR_EDITTYPE

NSAVETIME

The backup time is used to identify backups.

NSR_USEOUTPUT

SAVE

The output of the NetWorker SAVE program is searched for errors during every backup.

NSR_IGNOREERROR

" unknown error 109 (0x6d)"
 " using unlocked access"
" The pipe has been ended."

The messages
 <pipe_name>: unknown error 109 (0x6d),
<pipe_name>: using unlocked access and
 <pipe_name>: The pipe has been ended are ignored for the pipes that are used.

NSR_SAVEINTERVAL

60

The system waits 60 seconds between two SAVE calls during parallel backups.

NSR_BACKUPNAME

MAXDB:<database_name>_on_<node>

If the name of the database instance is DB73 and the name of the database computer is p47579, the backups are created with the name MAXDB:DB73_on_p47579 in NetWorker.

NSR_AVOIDPSSIDBUG

YES

The PSSID bug in the NetWorker program MMINFO is avoided.

NSR_SAVETIMEFORMAT

"yyyy/mm/dd HH:MM:SS AM"

The NetWorker MMINFO program delivers date specifications in the specified format.
Example: 2001/12/31 11:59:58 AM


Connecting to VERITAS NetBackup (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connecting to VERITAS NetBackup

Use

Using Backint for Oracle Interface, MaxDB supports connections to the external backup tool VERITAS NetBackup from the company VERITAS for backing up, restoring, importing, and exporting data once MaxDB software has been configured accordingly. It can be used for database versions as of 7.3 (with a current patch level).

For more information, especially on the platforms supported, and for set-up examples see the VERITAS NetBackup for SAP System Administrator's Guide at support.veritas.com.


Troubleshooting (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Troubleshooting

When you install or update your database software, or when you upgrade database instances and their software, you can sometimes experience errors that cause the program to terminate. In the event of these errors, you can use the available programs, your data backups, and the source version software to return temporarily to the original version. This gives you time for troubleshooting, and keeps downtime as short as possible.

Underno circumstances delete installed files from the file system manually. Even if installations crash, use only the program SDBUNINST for uninstalling software. Otherwise, unexpected problems may occur in your next installation or upgrade.

Errors in the Execution of the Program SDBINST

Errors in the Execution of the Program SDBUPD


Errors in the Execution of the Program SDBINST (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Errors in the Execution of the Program SDBINST

If errors occur when you execute the program SDBINST, the program terminates abnormally with a message about the cause of the error.

Frequent Causes of Errors

...

1. Files of the software you want to update are still being used.

¡ Administration sessions are still running, which means that the Database Manager CLI is still active.

¡ Applications are still running that use the runtime or scripting interfaces of the database system

2. There is not enough disk space for the new software.

3. You have attempted to update a 64 bit database kernel with software for a 32 bit kernel. This is not possible.

4. You are attempting to update the software with SDBINST. However, you have ignored the dependencies between the software components; these dependencies concern the versions of the components or the order in which they need to be installed.

User Action

Remove the cause of the error and execute the program again.


Errors in the Execution of the SDBUPD Program (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Errors in the Execution of the SDBUPD Program

If errors occur when you execute the SDBUPD program, the program terminates with a message describing the cause of the error.

Frequent Causes of Errors

...

1. An unexpected error occurred when you executed SDBUPD.

2. You are attempting to use SDBUPD to switch to a software version that is lower than your current version (called a downgrade in the following). Examples of this situation:

¡ You selected the wrong software version by mistake.

¡ The upgrade of the database instance terminated with an error. You then tried to use SDBUPD to return to the original software version.

¡ The database instance upgrade was successful, however, you want to return to a lower software version for other reasons.

You cannot use SDBUPD to downgrade software. If you want to use SDBUPD, the new software must have at least a higher build number (Version Notation).

User Action

Proceed as follows in each case.

Case 1:

No database instances exist that refer to a higher software version.

Case 2:

Database instances exist that refer to a higher software version. You want to downgrade the software that is used exclusively by the database instance (Dependent Software).

Case 3:

Database instances exist that refer to a higher software version. You want to downgrade the software that is not used by the database instance, or whose version is not relevant for the database instance (Independent Software).


Case 1: No Database Instances Exist Yet (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Case 1: No Database Instances Exist Yet

Use

No database instances exist that refer to a higher software version.

Procedure

Either uninstall the entire database software with SDBUNINST

or

uninstall only those software components that you want to install in a lower version. Take into account the dependencies between the components.

Uninstalling the Database Software


Case 2: Downgrading Dependent Software (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Case 2: Downgrading Dependent Software

Use

Database instances already exist that refer to a higher software version. You want to downgrade the software used exclusively by the database instance (dependent software).

Procedure

Delete the registration of existing database instances before the downgrade.

· If you want to perform the downgrade at build level only, there will be no incompatibilities between the database instances of the higher version and the software of the lower version you want to install. Proceed as follows for each individual database instance:

 | Procedure | Command
... | Call Database Manager CLI as the DBM operator and connect to the database instance. | dbmcli -d <database_name> -u <dbm_user>,<password>
 | Delete the database instance registration. | db_drop WITHOUTFILES
 | Exit Database Manager CLI. | exit | release | quit | bye
 | Uninstall the database kernel and the required software component(s) with the higher version at the very minimum. | sdbuninst –package "Database Kernel" [, <package_name2>…]
 | Install your required installation profile with the lower version (for OLTP database instances Server at least, for liveCache database instances APO liveCache at least). Caution If you are installing the software in SAP systems, it is important to read the note below. | sdbinst –profile Server | "APO LiveCache" [, <inst_profile2>…]
 | Register the database instance again. Enter the name and DBM operator of the old database instance, plus the path of the newly-installed lower software version. | Unix/Linux: <dependent_path>\bin \dbmcli –s –R <dependent_path> db_create <database_name> <dbm_user>,<password> Microsoft Windows: "<dependent_path>\pgm \dbmcli" –s –R "<dependent_path>" db_create <database_name> <dbm_user>,<password>

· If the downgrade is in connection with a change of version (minor or major release, see also: Version Notation) of the database software, proceed as follows:

Procedure | Command
Call Database Manager CLI as the DBM operator and connect to the database instance. | dbmcli -d <database_name> -u <dbm_user>,<password>
Delete the database instance. | db_drop
Exit Database Manager CLI. | exit | release | quit | bye
Uninstall the database kernel and the required software component(s) with the higher version at the very minimum. | sdbuninst –package "Database Kernel" [, <package_name2>…]
Install your required installation profile with the lower version (for OLTP database instances Server at least, for liveCache database instances APO liveCache at least). Caution If you are installing the software in SAP systems, it is important to read the note below. | sdbinst –profile Server | "APO LiveCache" [, <inst_profile2>…]
Start Database Manager GUI. Use the Installation Wizard to create a new database instance using the parameter file from a backup. | Choose Instance ® Install. Follow the instructions for creating a database instance. For the new database instance, specify the database administrator saved in the backup parameter file.
Exit Database Manager GUI. | Choose File ® Exit.

If you use this procedure in SAP systems, do not accept the system defaults. Instead, specify the following settings:

<group> | For target version 7.5.00 or higher: sdba For all previous database versions: sapsys
<owner> | For target version 7.5.00 or higher always: sdb For all previous database versions: · For OLTP database instances: sqdsid · For liveCache database instances: sidad m
<independent_data_path> | UNIX/Linux: /sapdb/data Microsoft Windows: <drive>:\sapdb\data
<independent_program_path> | UNIX/Linux: /sapdb/programs Microsoft Windows: <drive>:\sapdb\programs
<dependent_path> | UNIX/Linux: /sapdb/<SID>/db Microsoft Windows: <drive>:\sapdb\<SID>\db


Case 3: Downgrade for Independent Software (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Case 3: Downgrade for Independent Software

Use

Database instances exist that refer to a higher software version. You want to downgrade the software that is not used by the database instance, or whose version is not relevant for the database instance (Independent Software).

Procedure

 | Action | Command
... 1. | Uninstall at least the database kernel and the chosen software component(s) with the higher version. | sdbuninst –package "Database Kernel" [, <package_name2>…]
2. | Install your chosen installation profile with the lower version (for OLTP database instances at least Server, for liveCache database instances at least APO liveCache). If you are installing the software in SAP systems, read the important note below. | sdbinst –profile Server | "APO LiveCache" [, <inst_profile2>…]

If you want to use this procedure in SAP systems, do not accept the system defaults. Specify the following settings instead:

<group> | For target version 7.5.00 or higher: sdba For all previous database versions: sapsys
<owner> | For target version 7.5.00 or higher always: sdb For all previous database versions · For OLTP database instances: sqdsid · For liveCache database instances: sidadm
<independent_data_path> | UNIX/Linux: /sapdb/data Microsoft Windows: <drive>:\sapdb\data
<independent_program_path> | UNIX/Linux: /sapdb/programs Microsoft Windows: <drive>:\sapdb\programs
<dependent_path> | UNIX/Linux: /sapdb/<SIS>/db Microsoft Windows: <drive>:\sapdb\<SID>\db


Details (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Details

Component Groups

Installation Profiles

Software Components

Logging

Overview of Options for the SDBINST Program

Overview of Options for the SDBUNINST Program

Overview of Options for the Program SDBUPD


Installation Profiles (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installation Profiles

Installation profiles are different combinations of individual software components that meet different requirements. An installation profile provides you with a fully-functioning software installation, regardless of which profile you choose.

If you install individual software components (parts of installation profiles), you must take into account the dependencies between the components in order to ensure that the software installation is fully functioning.

Choose from the following installation profiles:

Name | Software Components Included | Installation/Update of
all | All software components | Complete software package
APO LiveCache | For liveCache in the SAP APO system only Base, multiple PCR <version>, Server Utilities, ODBC (MS Windows only), DB Analyzer, Database Kernel, APO LC APPS or APO COM (up to APO Version 4.0) | Server software and client software of the liveCache database system
DB Analyzer | Base, ODBC (for MS Windows only), DB Analyzer | Database Analyzer
JDBC | Base, JDBC | MaxDB JDBC Driver
Loader | Base, Loader, Redist Python | Loader
Runtime for SAP AS | Base, multiple PCR <version>, JDBC, Loader | Client software for the SAP application server
Script Interface | Base, Perl Interface, Python Interface | Libraries for applications that use programming interfaces
Server | Base, Database Kernel, Server Utilities, ODBC, JDBC, Loader, DB Analyzer, | Server and client software of the OLTP database system
Web Tools | Base, ODBC, Web Tools, XML Indexing Engine | Web Tools

You must place any names of software components that contain spaces in double quotation marks.


Software Components (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Software Components

Use

You install installation packages that contain individual components of the database software only. You can do this to install missing components without having to update components unnecessarily.

The installation of software components is more complex than the installation of component groups or installation profiles, and requires the user to understand and take into account the dependencies determined by the content or versions of the software.

Since this installation is not interactive and can only run in the background, you need to determine any other components you have to install and the order in which they are to be installed beforehand. The installation program terminates the installation as soon as it recognizes that dependencies have not been taken into account. For this reason, you should only use this installation type in special cases.

The database software is split into the following components:

Name | Description
APO LC APPS (from APO Version 4.0) or APO COM | For SAP liveCache in the SAP APO system only: Libraries with APO liveCache routines
Base | Programs for registering the installation, uninstall tool, InstallRegistryViewer, and programs that the SAP application server needs to access the database system (including Database Manager CLI, XUSER and SQLCLI)
Database Kernel | Database kernel with runtime environment
DB Analyzer | Database Analyzer: Tool for analyzing database performance
JDBC | MaxDB JDBC driver for accessing the MaxDB database system
Loader | Loader: Tool for loading and unloading data
ODBC | ODBC driver for accessing the MaxDB database system
PCR<version> | Precompiler runtime package; Contains runtime libraries for applications that were created with the C/C++-Precompiler for Embedded SQL. Can exist in several versions in the local installation directory
Perl Interface | Perl Interface
Python Interface | Python Interface
Redist Python | Python interface and extensions
Server Utilities | Tools for administration of the database kernel (including XCONS)
SQLDBC | Object-oriented C++ interface for accessing the MaxDB database system; contains, among other things, a non-versioned SQLDBC library
SQLDBC <version> | Versioned SQLDBC library
Web Tools | Web server and web-based database tools (WebDBM)

You must place any names of software components that contain spaces in double quotation marks.

Dependencies

The following dependencies exist between software components:

Base ® Server Utilities ® Database Kernel ® APO LC APPS | APO COM
Base ® CPC Base ® CPC SDK <version>
Base ® ODBC ® Web Tools
Base [ ® ODBC]* ® DB Analyzer
Base ® SQLDBC
Base ® JDBC
Base ® Loader
Base ® Perl Interface
Base ® Python Interface
Base ® PCR <version>
Base ® Redist Python

* Required for DB Analyzer on Microsoft Windows only

Explanation of Dependencies

· The Base software component is independent of all other packages.

· Server Utilities cannot be installed until Base has been installed.

¡ Database Kernel cannot be installed until Server Utilities has been installed.

§ APO LC APPS or APO COM cannot be installed until Database Kernel has been installed

· CPC Base cannot be installed until Base has been installed.

¡ CPC SDK <version> cannot be installed until CPC Base has been installed.

· ODBC cannot be installed until Base has been installed.

¡ Web Tools cannot be installed until ODBC has been installed.

· DB Analyzer cannot be installed until you have installed Base (on UNIX) or Base and ODBC (on Microsoft Windows).

· SQLDBC cannot be installed until Base has been installed.

· JDBC cannot be installed until Base has been installed.

· Loader cannot be installed until Base has been installed.

· Perl cannot be installed until Base has been installed.

· Python cannot be installed until Base has been installed.

· PCR <version> cannot be installed until Base has been installed.

·


Logging (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Logging

Use

All installation/update steps and the steps involved in upgrading database instances and their server software are saved in log files. The name of the log file indicates the MaxDB or SAP liveCache product name.

Conventions

Directories

Location of Log Files for Installations/Updates

· UNIX/Linux (tgz package):
<independent_data_path>/wrk/MAXDB<profile>_install-<date>-<time>.log

or

<independent_data_path>/wrk/SAPliveCache<profile>_install-<date>-<time>.log

· Microsoft Windows:
<independent_data_path>\wrk\MAXDB<profile>_install-<date>-<time>.log

or

<independent_data_path>\wrk\SAPliveCache<profile>_install-<date>-<time>.log

If the <independent_data_path> directory is not known when the system crashes, the log is created in the current directory.

If you have installed/updated individual software components, the steps are logged in:
MAXDBSoftware_install-<date>-<time>.log

or

SAPliveCacheSoftware_install-<date>-<time>.log

Location of the Log File for Updates of Database Instances and Their Software (Upgrades)

· UNIX/Linux (tgz package):
<independent_data_path>/wrk/MAXDBUpgrade_install-<date>-<time>.log or

<independent_data_path>/wrk/SAPliveCacheUpgrade_install-<date>-<time>.log

· Microsoft Windows:
<independent_data_path>\wrk\MAXDBUpgrade_install-<date>-<time>.log

or

<independent_data_path>\wrk\SAPliveCacheUpgrade_install-<date>-<time>.log


Overview of Options for the SDBINST Program (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Overview of Options for the SDBINST Program

You can specify the following options when using the SDBINST program to install or update database software:

Option

Description

-b | -batch

Installation program used in the background

If you specify this option, the installation program terminates with an error if any information is missing.

If you do not specify this option, the program stops if any information is missing, and prompts you to act.

-component_group <component_group>

<component_group> = Server | Client

Component Group

Server is the component group Server+Client

-profile <inst_profile>

Installation Profiles

You must place any names that contain blanks in double quotation marks.

-package <package_name>

Logical name of the software component (not file name)

You must place any names that contain blanks in double quotation marks.

-indep_data <independent_data_path>

Can be specified for an initial installation only. Otherwise, the system ignores it. You can only change this path after you have completely uninstalled the database software.

-indep_prog <independent-program_path>

Can be specified for an initial installation only. Otherwise, the system ignores it. You can only change this path after you have completely uninstalled the database software.

-depend <dependent_path>

Needs to be specified for a new installation only, and only for the all, Server and APO LiveCache installation profiles and the Database Kernel and APO LC APPS (from APO Version 4) or APO COM software components. Otherwise, the system ignores it.

-a <archive_directory>

Directory in which the installation packages are stored

-o | -owner <sdb_user>

UNIX only: Software owner

-g | -group <sdba_group>

UNIX only: Software group (administrator group)

-h|-help

List of possible options and descriptions

-v | -version

Version number of the SDBINST installation program

-l | -list

Displays all possible installation profiles and software components

See also:

Directories


Overview of Options for the Program SDBUNINST (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Overview of Options for the Program SDBUNINST

You can specify the following options when you use the program SDBUNINST to uninstall database software:

Option | Description
-all | Uninstalls all software registered for MaxDB
-package <package_name> | Logical name of the software component (not file name) that you want to uninstall
-package_dir <package_directory> | Directory of the specified software component Specify this information only if there are multiple software packages with the same name
-autoresolve | As well as the specified software component, the system also uninstalls all dependent components. -package ODBC –autoresolve On Microsoft Windows, the component ODBC and its dependent component Web Tools are uninstalled.
-h | -help | List of options and descriptions
-v | -version | Version number of the uninstallation program SDBUNINST
-l | -list | Display all possible software components


Overview of Options for the SDBUPD Program (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Overview of Options for the SDBUPD Program

You can specify the following options when upgrading database instances using the SDBUPD program:

Option

Description

-b | -batch

SDBUPD is used in the background

If you specify this option, the installation program terminates with an error if any information is missing.

If you do not specify this option, the program stops if any information is missing, and prompts you to act.

-d <database_name>

Database Instance Name

-u <dbm_user>,<password>

Name and password of the DBM operator

-h|-help

List of possible options and descriptions

-v | -version

Version number of SDBUPD

-l | -list

Displays all possible installation profiles and software components

-o <sdb_user>

Owner of software (UNIX/Linux) when upgrading the software to Version 7.5.00 and higher (see Concepts of the Database System, Special Operating System Users and Groups (UNIX/Linux))

-g <sdba_group>

Administrator group (UNIX/Linux) when upgrading the software to Version 7.5.00 or higher


Directories (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Directories

Use

The database and its tools create a series of directories.

Important Directories in the Database System

Path | Default Value (Microsoft Windows) | Default Value (UNIX/Linux) | Description
<dependent_path> | Software installation only: c:\Program Files\sdb\<version> * Installation of software and database instance: c:\Program Files\sdb\<database_name> | Software installation only: /opt/sdb/<version> Installation of software and database instance: /opt/sdb/<database_name> | Database version-dependent server software These programs are installed once for each database instance. Many directories from different versions can co-exist. All programs in these version-dependent directories are not executed directly by the user, but are called using the programs stored in the <independent_program_path>.
<independent_data_path> | c:\Documents and Settings\All Users\Application Data\sdb\data* | /var/opt/sdb/data | Data, configuration and run directories of database instances and applications
<independent_data_path>\config |  |  | Configuration files for database parameters, data for user authorization, etc.
<independent_data_path>\wrk\<database_name> |  |  | Run directory of database instance <database_name>
<independent_data_path>\wrk\<database_name>\DIAGHISTORY |  |  | Directory in which the database system saves diagnosis files (backups of the most important log files and memory dumps) after a database error You can configure the path of this directory with the special database parameter DIAG_HISTORY_PATH
<independent_program_path> | c:\Program Files\sdb\programs * | /opt/sdb/programs | Programs and libraries jointly used by all database instances and applications These programs are installed once for each computer. This directory contains the programs of the newest installed version of the database software. It also contains the runtime environment of the clients. These are installed once per computer.
<inst_path> | c:\Program Files\sdb | /opt/sdb | Installation directory of the database software
<tool_application_data> | <user_home>\Application Data\sdb\<tool> | <user_home>/.sdb/<tool> | Includes log and configuration files of the database tool <tool>
<tool_user_data> | <user_home>\My Documents\sdb\<tool> | <user_home>/sdb/<tool> | Contains the data generated with the database tool <tool> by the logged-on operating system user

* System default if MaxDB software has not yet been installed. If an older version of MaxDB exists, the installation program proposes the paths belonging to this version for the new installation.

To ensure the downward compatibility of the database software, the database system creates the following directories on UNIX/Linux.

Path | Description
/var/spool/sql | Contains links to current directories and files
/usr/spool/sql | Contains links to current directories and files

The following additional conventions apply to SAP systems:

Path | Description
\sapdb\<database_name>\sapdata | Directory for the data volumes
\sapdb\<database_name>\saplog | Directory for the log volumes and the mirrored log volumes

Activities

If you are designing the directory structure for a production system, read the Tips for Creating and Configuring a Database Instance.

You define the directories when you install the database software. You can either accept the system default or define a different path.

You can install the database tools either on the database computer or on another computer. For an RPM-based installation on Linux, you cannot freely choose the directories.

Before you change a directory path or name, first check the dependencies on other directories and contact support if necessary.

To display the paths of the most important directories, use the Database Manager or, in SAP systems, the CCMS:

· Database Manager CLI, Software Installation

· Database Administration in CCMS: MaxDB, Structure link Directories

· Database Administration in CCMS: SAP liveCache Technology, Structure link Directories

See also:

Variables and Examples

Creating and Configuring a Database Instance

Installation Manual


Variables and Examples (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Variables and Examples

The syntax of commands with variables is described in the documentation; see Syntax Notation.

The following table lists the most commonly used variables and examples.

Variable | Description | Examples
<arch> | Name of the operating system architecture in the path |
<backup_medium> | Backup medium | CPLBM (complete data backup) INCBM (incremental data backup) LOGBM (log backup)
<build> | Build number of the database software |
<computer_name> | Name of the computer |
<database_computer> | Name of the computer on which the database instance is installed | GENUA PARMA SIENA COMO
<database_instance_type> | Database instance type |
<database_name> | Name of database instance | DEMODB TESTDB SAMPLEDB
<database_server> | Name of the computer on which the database instance is installed | See <database_computer>
<database_user> | Database user | MONA DAVID BORIS NINA
<database_user_password> | Password of the database user | RED BLUE PINK BLACK
<dbm_user> | Name of a Database Manager operator | DBADMIN DBM OLEG ELENA JULIE
<dbm_user_password> | Password of the Database Manager operator | SECRET DBM MONDAY SUNDAY TUESDAY
<dependent_path> | Store of the server software the depends on the database version (see Directories) | Software installation only: Microsoft Windows*: C:\Program Files\sdb\<version> UNIX/Linux: /opt/sdb/<version> Installation of software and database instance: Microsoft Windows*: C:\Program Files\sdb\<database_name> UNIX/Linux: /opt/sdb/<database_name>
<file_name> | File name |
<independent_data_path> | Location of the data, configuration and run directories of database instances and applications You can find the path of this directory using the DBMCLI command dbm_getpath: dbmcli dbm_getpath IndepDataPath | Microsoft Windows*: c:\Documents and Settings\All Users\Application Data\sdb\data UNIX/Linux: /var/opt/sdb/data
<independent_program_path> | Location of the programs and libraries used jointly by database instances and applications You can find the path of this directory using the DBMCLI command dbm_getpath: dbmcli dbm_getpath IndepProgPath | Microsoft Windows*: C:\Program Files\sdb\programs UNIX/Linux: /opt/sdb/programs
<inst_path> | Installation path |
<inst_profile> | Name of the installation profile |
<master_component> | Master component in a hot standby system | PARMA
<msgsrv_user> | User of the message server (used by the Synchronization Manager) | MSGMAN
<msgsrv_user_password> | Password of the user of the message server | SECRET
<os_user> | Name of the operating system user | ANNA
<os_user_password> | Password of the operating system user | MAY
<os> | Name of the operating system |
<package_directory> | Directory in which the software package is located after it has been installed |
<package_name> | Logical name of the software package |
<password> | Password |
<path> | Path |
<program_path> | Windows standard directory for the user software (for example C:\Program Files ) |
<sdb_user> | UNIX/Linux: Name of the owner of the database software (special operating system user) | sdb
<sdba_group> | UNIX/Linux: Name of the special operating system user group | sdba
<standby_component> | Standby component in a hot standby system | GENUA
<syncman_user> | Special database user required for synchronizing database instances with the Synchronization Manager | DBSERVICE
<sysdba_user> | Name of the SYSDBA user (database system administrator) | DBADMIN
<sysdba_user_password> | Password of the SYSDBA user | SECRET
<tool_application_data> | Directory with the log and configuration files of a database tool <tool> | Microsoft Windows: C:\Documents and Settings\anna\Application Data\sdb\loader UNIX/Linux: /home/anna/.sdb/loader
<tool_user_data> | Directory with the data generated with the database tool <tool> by the logged-on operating system user | Microsoft Windows: C:\Documents and Settings\anna\My Documents\sdb\loader UNIX/Linux: /home/anna/sdb/loader
<user_home> | Home directory of the operating system user | Microsoft Windows: C:\Documents and Settings\Anna UNIX/Linux: /home/anna
<user_key> | User key of an XUSER entry | SAMPLEKEY
<user_name> | Name of the user |
<version> | Version number according to four-digit version notation |
<virtual_server_name> | Name of the virtual computer in a hot standby system | VIRTUAL_SERVER HOTEL_VIRTUAL

* System default if MaxDB software has not yet been installed. If an older version of MaxDB exists, the installation program proposes the paths belonging to this version for the new installation.


Basic Information (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Basic Information

Title of the Documentation | Contents
Concepts of the Database System | Information about the database system, technical system landscape, creating and configuring a database instance, administration, monitoring, performance, troubleshooting, developing database applications
Glossary | Terms used in the database system
SQL Tutorial | Using the SQL language for operations involving the data and tables of the MaxDB database system using the DEMODB demo database
Reference Manual | SQL statements and their syntax, system tables, special features of the SQL mode ORACLE
Messages | List of all messages of the database system: Return codes and error messages from the database kernel and the database tools. Includes short explanations of possible causes of the errors, and tips on how to solve them.
MaxDB Security Guide | Recommended security measures for the database system


Concepts of the Database System (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Concepts of the Database System

Purpose

MaxDB is a relational database system. Using the database software, you can create, use and manage OLTP (MaxDB) and SAP liveCache database instances.

OLTP (MaxDB) database instances can be used either within or outside of SAP systems. SAP liveCache database instances can only be used within SAP systems.

OLTP (MaxDB) and SAP liveCache database systems are variations of the same database system. For that reason, the documentation explicitly mentions both types only where their functions differ; otherwise the system is simply referred to as MaxDB.

You can use the database system on many different operating systems (see Supported Operating Systems, Platforms and Browsers).

Implementation Considerations

For information on where to get the database software and how to install it, see the Software Information and Download sections; see also the Installation Manual.

This documentation describes the basic concepts of the database system and contains references to the documentation for the database tools and interfaces, where the exact procedures are described. The SQL Tutorial provides an introduction to working with the database system.

For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

See also:

Software Information

Overview of the Database System

Database Tools

Interfaces

Technical System Landscape

Creating and Configuring a Database Instance

Administration

Monitoring

Performance

Troubleshooting

Developing Database Applications

Appendix


Software Information (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Software Information

You can use the MaxDB software to create, use and manage MaxDB databases. You can use a MaxDB database as the database for an SAP system, among other uses.

Prior to version 7.5, MaxDB was delivered under the name SAP DB.

You can download the MaxDB software, MaxDB documentation and the demo database from the MaxDB website; see Download and Version Notation. MaxDB supports all major platforms; see Supported Operating Systems, Platforms and Browsers.

You need a commercial license to develop commercial software based on MaxDB. You can get a commercial license for MaxDB from SAP and from MySQL. For open source and other software development projects for testing and educational purposes, MaxDB is also available under the GNU General Public Licence (GPL); see www.mysql.com/company/legal/licensing and Open Source Development of the Database Software.

There are a number of ways to get help if you have any questions or problems; see Support and Tracking Problem Messages with Web PTS.

See also:

Database Tools

Technical System Landscape

Documentation: Installation Manual


SAP DB and MaxDB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SAP DB and MaxDB

In May 2003, SAP concluded a cooperation agreement with MySQL AB. The contract stipulates that, as of database version 7.5, the SAP DB database shall be delivered under the name MaxDB.

MaxDB 7.5 is the result of the continuing development of the SAP DB source code. The MaxDB software 7.5 can be used as a direct upgrade for previous SAP DB versions as of 7.2.04. As per the releases for SAP applications, this also applies to SAP DB databases in SAP installations.

For SAP customers, nothing changes as a result of this contract. Open source users can get more information about the changed license terms from the following address:

www.mysql.com/products/licensing/opensource-license.html

See also:

Software Information


Documentation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Documentation

What is covered by the documentation?

For an overview of the documentation available for MaxDB and SAP liveCache Technology, consult the following sections:

· Structure link MaxDB (only for SAP customers)

· Structure link SAP liveCache Technology (only for SAP customers)

· MaxDB Library (for open source users)

Where do I get the documentation?

You have the following options:

· You can access the online version of the documentation using a web browser.

· You can download the entire documentation in HTMLHelp format (a .chm file) for Microsoft Windows.

If you use the Microsoft Windows operating system, we recommend the download in HTMLHelp format.

· You can download the entire documentation in HTML format (multiple plain HTML files).

For more information, see Download.

How do I use the documentation?

Use the Glossary to find a term in the documentation quickly.

The MaxDB documentation is divided into several individual documents. If a reference is made to a section in another document, the title of the document is italicized.

See Database Manager GUI, Displaying System Tables

HTML Format

Areas on the User Interface

This graphic is explained in the accompanying text

1 SAP user menu (only displayed in the SAP Help Portal)

· Link to the initial screen of the SAP Knowledge Warehouse

· Link to the initial screen of the SAP Library

· Introduction to the SAP system

· Help on Help

· Show/hide navigation

· Change context
(Display older versions (“contexts”) of the documentation and other languages)

· Search

· Properties
(Properties of the section being displayed)

2 Knowledge Warehouse menu

· Synchronize
(Selects the displayed section in the navigation tree; if the section is located in a different document than the section that was last displayed, this opens the corresponding navigation tree)

· Back
(Displays the previous section in the navigation tree)

· Forwards
(Displays the following section in the navigation tree)

· Expand all
(Expands all units in the navigation tree)

· Collapse all
(Closes all units in the navigation tree)

3 Navigation tree

All units and sections of the selected documentation are displayed in the navigation tree. To expand the unit, choose the triangle icon.

4 Section

The section that was selected in the navigation tree is displayed in this area. To see the URL of the section and to localize it in the navigation tree, choose the double arrow symbol next to the title of the section.

Microsoft Windows HTMLHelp Format

The documentation in HTMLHelp format is structured like the documentation in HTML format. The HTMLHelp format offers the following advantages:

· Compiled and compressed format (a single .chm file)

· Requires less memory than the plain HTML files

· Index

· Full text search:

¡ Combination of search terms (AND, OR, NEAR, NOT)

¡ Highlighting of the search terms in the section that is found

¡ Localization of a found section in the navigation tree using the Locate function

¡ Iterative restriction of the search using the Search Previous Results function

· Favorites

· Printing of individual units including all associated units and sections

Examples

In the documentation, procedures, commands and so on, are illustrated with examples. The bases for these examples are the demo database, the syntax notation and the variables presented in the variables and examples section.

See also:

Software Information


Demo Database (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Demo Database

Definition

The demo database instance DEMODB is a database instance that contains example data. The demo database instance is included in the MaxDB software.

Use

The demo database instance DEMODB is used in the documentation to illustrate procedures, commands and the like using examples:

dbmcli –d <database_name> -u <dbm_user>,<dbm_user_password> db_online

dbmcli –d DEMODB –u OLEG,MONDAY db_online

This demo database was developed for practice and testing purposes and contains several predefined demo users with standard passwords and demo data.

Do not use the demo database instance in a production system.

Structure

· Name of the database instance: DEMODB

· Name/password of the database system administrator: DBADMIN/SECRET

· Name/password of a database user: MONA/RED

· Schema: HOTEL

For more of the terms used in the demo database instance, see Variables and Examples.

Example

See also:

SQL Tutorial, HOTEL Demo Schema for the SQL Tutorial

Software Information


Download (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Download

SAP customers get the database software from the SAP Service Marketplace; open source users can download the software from the MaxDB website.

For SAP Customers

Product | Download/Source | Online
MaxDB/liveCache database software | SAP installation CD | SAP Service Marketplace http://service.sap.com
Release notes | - | SAP note 806690
Installation and Upgrade Guides MaxDB | - | SAP note 767598 or http://service.sap.com/instguides ® SAP NetWeaver ® <release> ® Installation / Upgrade
Installation and Upgrade Guides liveCache | - | SAP note 767598 or http://service.sap.com/instguides ® mySAP Business Solutions ® mySAP SCM ® Using SAP SCM <release> Server
Security Guide | - | Security Guide See also SAP Note 767598 or http://service.sap.com/securityguide ® SAP NetWeaver '04 DB and OS Platform Security Guides ® SAP Security for MySQL MaxDB
MaxDB documentation | SAP installation CD | SAP note 767598 or SAP Help Portal http://help.sap.com ® Documentation ® SAP NetWeaver ® <release> ® <language> ® SAP NetWeaver ® Application Platform ® Databases ® MySQL MaxDB
High Availability documentation MaxDB |  | SAP Help Portal http://help.sap.com ® Documentation ® SAP NetWeaver ® <release> ® <language> ® SAP NetWeaver ® Solution Life Cycle Management ® SAP High Availability ® Database High Availability ® High Availability for the MySQL MaxDB Database
liveCache documentation | SAP installation CD | SAP note 767598 or Online access on the SAP Help Portal http://help.sap.com ® Documentation ® SAP NetWeaver ® <release> ® <language> ® SAP NetWeaver ® Application Platform ® Databases ® SAP liveCache

For Open Source Users

Product | Download | Online
MaxDB database software | http://dev.mysql.com/downloads/maxdb | -
Release notes | - | http://dev.mysql.com/doc/maxdb/changes/
Installation documentation | In the documentation | Installation Manual
Security Guide | In the documentation | Security Guide
Documentation | http://dev.mysql.com/downloads/maxdb | http://dev.mysql.com/doc/maxdb/index.html
Conditions of License |  | http://www.mysql.com/products/licensing/opensource-license.html

See also:

Software Information


Version Notation (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Version Notation

Definition

The version information for the database software is provided according to the following version notation:

<major>.<minor>.<cl>.<build>

MaxDB 7.5.00.15

Elements of the Version Notation

Name | Number of Places | Description
major | 1 | Version number
minor | 1 | Version number
cl | 2 | Correction level number
build | 2 | Build number

In the technical area, the following notation with a three-digit build number is frequently used:

<major>.<minor>.<cl> Build <build>

MaxDB 7.5.00 Build 015

See also:

Software Information


Supported Operating Systems, Platforms and Browsers (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Supported Operating Systems, Platforms and Browsers

Supported Operating Systems and Platforms for MaxDB Software Version 7.6

Operating System | Architecture
HP-UX | HP-UX IA64
IBM AIX | AIX
Linux | X86_32 X86_64 IA64 Power
SUN Solaris | SPARC
Microsoft Windows 2000 | X86_32
Microsoft Windows XP | X86_32
Microsoft Windows Server 2003 | X86_32 X86_64 IA64

For SAP liveCache, the following restrictions apply:

· Microsoft Windows XP is not supported

· On Linux, runs on IA64 only

Supported Web Browsers for MaxDB Software Version 7.6

Operating System | Web Browser
All supported operating systems | Mozilla Version 1.1 and above
Linux | Konqueror Version 3.0.3 and above
Microsoft Windows | Internet Explorer Version 6.0 and above

See also:

Software Information


Open Source Development of the Database Software (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Open Source Development of the Database Software

Purpose

Open source users can change and translate the source code of the MaxDB database software themselves.

Please observe the license terms. See: www.mysql.com/company/legal/licensing

Process Flow

...

1. You install the MaxDB development environment.

See Development Environment, Installing the Development Environment.

2. You download the source code of the MaxDB database software from the MaxDB website.

See Download.

3. You install the source code.

See Development Environment, Installing the Source Code.

4. You initialize the development environment, change the source code and translate it with the VMAKE tool.

For detailed information, see the Development Environment documentation.

See also:

Tracking Problem Messages with Web PTS

Software Information

Developing Database Applications


Support (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Support

You can get support for your database system in the following ways.

Support

Name | Description
Mailing List | lists.mysql.com/maxdb Online support via the mailing list is based on mutual support between MaxDB users and is free of charge. You direct your questions and problems to this mailing list in an e-mail. Both the database development team and members of the open source community can then reply to you. Online support does not guarantee fixed response times. However, the development team continually monitors the correspondence in the mailing list and ensures that every problem is responded to.
Support contract with SAP | If you use the database system in an SAP application, a support contract with SAP gives you access to the whole support infrastructure of SAP AG. For more information, see SAP Note 826037.
Support contract with MySQL | If you use the database system in other applications (not SAP applications), then you can conclude a support contract with MySQL.

If you use the database in both SAP applications and non-SAP applications, then SAP AG provides you with support for the SAP applications, and MySQL AB provides you with support for the other applications.

See also:

Tracking Problem Messages with Web PTS

Software Information


Tracking Problem Messages with Web PTS (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Tracking Problem Messages with Web PTS

Use

To find out about known problems with the MaxDB/SAP DB software or to track the processing of problems you have reported, use the web-based Problem Tracking System (Web PTS).

You can find the Web PTS at the following address:

www.sapdb.org/webpts

See also:

Documentation on the Web Based Problem Tracking System

Software Information


Overview of the Database System (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Overview of the Database System

MaxDB is a relational database system with which you can create, use and manage MaxDB database instances.

A database instance comprises a database and the additional information required for the operation of the database. A database is a set of data with a regular structure. The data in a database is comprised of the application data (data records) and the database catalog (metadata).

Every database instance has a unique name. A database instance can be in different operational states, for example ONLINE, ADMIN, OFFLINE. In the ONLINE operational state, users can work with the data in the database instance, while the ADMIN operational state allows database administrators to execute administration tasks.

As a user, to query or change data in a database, you use the Structured Query Language (SQL). Using SQL, you can display, change and delete the logical units (database objects) of the database instance, such as tables. You can use schemas to group database objects logically. You can combine multiple SQL statements to make transactions. To isolate individual transactions from one another, the database system sets locks for database objects.

The database system uses B* trees and page chains as logical structures for accessing data (see Data Storage and Access). In physical terms, a database instance comprises the data and log volumes (permanent memory), multiple caches, the files in the run directory and a collection of metadata (including configuration files, database parameters, paths of the volumes, etc.).

See also:

Software Information

Database Tools

Technical System Landscape

Creating and Configuring a Database Instance

Administration


SQL (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SQL

Use

You can use the Structured Query Language (SQL) to define, display, insert, change and delete data in the database. The database system executes SQL statements within transactions.

The SQL statements are divided into the following groups:

· Data definition

· Authorization

· Data manipulation

· Data query

· Transactions

· Statistics

For an introduction to the MaxDB SQL syntax, see the SQL Tutorial; for a complete description, see the Reference Manual.

Activities

· To program a database application, you can embed SQL statements in the programming language of your choice and send them to the database instance via an interface.

Users of the database application then enter SQL statements only implicitly.

· You can explicitly enter SQL statements with the following database tools, among others:

¡ SQL Studio (GUI, only for Microsoft Windows)

¡ SQLCLI (command line for all supported operating systems)

¡ Web SQL (web-based, for all supported operating systems)

Features

In the MaxDB database system you can use the following data types, among others: BOOLEAN, CHAR[ACTER] (ASCII, BYTE, UNICODE), DATE, FIXED, FLOAT, INT[EGER], LONG (ASCII, BYTE,UNICODE) for saving BLOBs and CLOBs, SMALLINT, TIME, TIMESTAMP, VARCHAR (ASCII, BYTE, UNICODE). See the Reference Manual, Data Type (data_type)

By working with the database system, you can choose the SQL mode. For more information about the differences between the SQL modes INTERNAL and ORACLE, see the SQL Mode ORACLE documentation.

Important SQL Properties of MaxDB

Property | Additional Information
Schema | Reference Manual, CREATE SCHEMA Statement (create_schema_statement)
Foreign keys (referential integrity) | SQL Tutorial, Foreign Key Dependencies Between Tables Reference Manual, Referential CONSTRAINT Definition (referential_constraint_definition)
Explicit and implicit locks on rows, tables and the database catalog | Reference Manual, LOCK Statement (lock_statement) LOCK Option (lock_option)
Updatable view table | SQL Tutorial, View Tables Reference Manual, CREATE VIEW Statement (create_view_statement)
Temporary table | Reference Manual, CREATE TABLE Statement (create_table_statement)
Domain definition | SQL Tutorial, Domains Reference Manual, CREATE DOMAIN Statement (create_domain_statement)
Outer join | SQL Tutorial, Joins: Information from Several Tables Reference Manual, JOIN Predicate (join_predicate)
Subquery | SQL Tutorial, Subquery: Inner Queries Reference Manual, Subquery (subquery)
Subtransaction | Reference Manual, SUBTRANS Statement (subtrans_statement)
Number generator (auto-increment column) | SQL Tutorial, Number Generators for Tables Reference Manual, CREATE SEQUENCE Statement (create_sequence_statement)
Database procedure (stored procedures) | SQL Tutorial, Database Procedures Reference Manual, CREATE DBPROC[EDURE] Statement (create_dbproc_statement)
Database function (user-defined function) | SQL Tutorial, Database Functions Reference Manual, CREATE FUNCTION Statement (create_function_statement)
Triggers | SQL Tutorial Database Trigger Reference Manual, CREATE TRIGGER Statement (create_trigger_statement) CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement)
Server-side cursor | Reference Manual, DECLARE CURSOR Statement (declare_cursor_statement)
Shared SQL (re-use of execution plans) | Special Database Parameters SHAREDSQL
Optimization | SQL Optimizer

You can find an overview of all SQL statements in the Reference Manual under SQL Statements: Overview.

For information about restrictions, see the Reference Manual, Restrictions for SQL Statements

See also:

Transactions

Locking for Database Objects

Developing Database Applications

Overview of the Database System


Transactions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Transactions

Use

A transaction is a sequence of SQL statements that the database system treats as a unit. A transaction brings the database from one consistent state to another. If a transaction is interrupted, then the database system returns the database to the state it was in before the transaction began (ROLLBACK).

This section deals with database transactions. In SAP systems, the term transaction has another meaning.

Transition of the Database from one Consistent State to Another by Way of Intermediate States

This graphic is explained in the accompanying text

The transaction manager of the database system ensures, among other things, that parallel transactions from multiple database sessions are processed correctly, and deliver the same results as they would if processed sequentially.

When you log on to a database instance, the database system opens the first transaction.

A transaction is closed with a COMMIT or a ROLLBACK.

· When a transaction is successfully concluded with a commit, all of the data changes are retained.

· If a transaction is ended with a ROLLBACK or terminated in any other way, the database system reverses all the data changes made during the transaction.

Both COMMITs and ROLLBACKs open a new transaction implicitly.

Since the database system allows access by competing transactions to the same database objects, locks are required to isolate individual transactions.

Transactions for OMS Data (Only in SAP liveCache Database Instances)

When executing transactions for OMS data, the database system makes use of a consistent view. For each transaction, the database system copies the objects to the OMS heap when it reads them. When the transaction is closed with a COMMIT, the database system copies changes to the objects from the OMS heap to the data cache and then removes all objects of the transaction from the OMS heap.

Activities

· Among other things, you can explicitly open, cancel and exit transactions. See:

¡ Reference Manual, Transactions

¡ Database Administration in CCMS: MaxDB, Structure link Transactions

¡ Database Administration in CCMS: SAP liveCache Technology, Structure link Transactions

· All transactions that change data are logged by the database system in log entries. See Logging Transactions.

See also:

SQL

Locks for Database Objects

Overview of the Database System


Logging Transactions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Logging Transactions

Use

The database system logs all transactions that change data in log entries. The database system uses these log entries to roll back individual SQL statements, if necessary, or to repeat them and thereby maintain transaction consistency.

Types of Logging

Name | Purpose
Undo Log Management | Enables the rollback of transactions that have not yet been completed using undo log entries
Redo Log Management | Enables the repeat (redo) of transactions that have not yet been completed using undo log entries
History Management | Enables consistent views

Activities

At the beginning of a transaction that will change data, the database system writes undo log entries (before images) for all database objects that are to be changed by the transaction to an undo log file in the data area.

When such a transaction has been closed with a COMMIT, the database system writes redo log entries (after images) to the log queue in the main memory. The database system then writes the redo log entries from the log queue to the log area when a page in the log queue is full or a transaction was closed with a COMMIT.

The time intervals between the individual write operations from the log queue to the log area are much smaller than the intervals between savepoints.

Logging

This graphic is explained in the accompanying text

To configure the logging of transactions, use the log settings and database parameters.

The database system can log not only transactions, but also other actions (see Log Files and Traces)

See also:

Using Log Entries for a Restart or Restore

Transactions


Log Settings (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Log Settings

Use

You configure the most important properties for the logging of transactions in the log settings.

In addition to the log settings, there are several database parameters that influence the logging of transactions.

Log Settings

Name

Description

Redo Log Management

Defines whether the database system writes redo log entries

· Redo log management on: system default

· Redo log management off:

In rare cases, it may make sense to switch off redo log management, for example during a big load job. Note that this interrupts the the log backup history. If you have to restore the database instance after an error, no log entries are available for this period of time.

If redo log management was switched off and then you switch it back on, you then have to perform a complete data backup.

Overwrite Mode for the Log Area

Defines whether the database system is allowed to overwrite the log area even if the log entries have not been backed up.

· Overwrite mode off: system default.

The database system can only overwrite the log area once the corresponding log entries have been backed up. To obtain a complete log backup history, you need to activate automatic log backup or regularly perform interactive backups.

· Overwrite mode on:

The database system cyclically overwrites the log area without prior backups of the log entries. This interrupts the log backup history. This means that you cannot restore your database instance up to the last COMMIT before the system crashed, or up to any other time you choose, but only up to the time of the last data backup.

If overwrite mode was on and then you switch it off, you then have to execute a complete data backup.

Log Mode

Defines whether the database system supports software-based mirroring.

· No mirroring: system default

· Mirroring: Use this setting only if hardware-based mirroring is not possible. Software-based mirroring reduces the performance of your database system.

In software-based mirroring, the database system writes to two log areas in parallel (primary and secondary log area). The database system can only overwrite the log areas when the log entries in the primary log area have been backed up.

If there are problems accessing a log volume in the primary log area, the affected log volume is flagged as BAD, and the database instance is transferred to the OFFLINE operational state. To restore the defective log volume, replace the respective hard disk and, in the ADMIN operational state, copy the entire contents of the corresponding mirrored log volume to the primary log volume.

Activities

Database Manager GUI, Changing Log Settings

Database Manager CLI,

· param_addvolume

· medium_put

See also:

Backing Up Log Entries


Undo Log Management (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Undo Log Management

Purpose

To execute a ROLLBACK of a transaction, for each transaction the database system saves the original values of the database objects – that is, the values before the start of the transaction – that are to be changed by the transaction. This information is known as the undo log entries or before images.

liveCache database instances use undo log entries for consistent views as well.

Process Flow

...

1. A database user opens a transaction that will change data.

2. Undo log management writes undo log entries for all database objects that will be changed by the transaction to an undo log file in the data area.

In extreme cases, the data area may be full. In this case, expand the data area by adding volumes with the Database Manager.

3. The following cases can occur:

¡ The transaction is canceled (ROLLBACK).

The database system uses the undo log files to roll back all changes.

¡ The transaction is closed with a COMMIT.

Undo log management transfers the undo log file to the history management. Later, a garbage collector deletes the undo log file.

See also:

Redo Log Management

Using Log Entries for a Restart or Restore

Logging Transactions


Redo Log Management (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Redo Log Management

Purpose

The database system writes redo log entries (after images) in order to be able to repeat transactions that have already been completed.

A power outage has occurred. The data changes that the last transactions executed had only been stored by the database system in the data cache and had not yet been written to the data area with a savepoint. These data changes in the data cache (working memory) were lost due to the power outage and must therefore be repeated by the database system.

Redo log management has the following tasks:

· It manages the redo log entries.

· It regularly writes database parameters and other internal control information for logging to the log area.

· In the case of a log backup, it queries whether and how many log entries from the log area need to be backed up.

· When users request information about the database system, it supplies the information about wait states and the types of accesses to the log queues.

For special situations, you can temporarily switch off redo log management (see Log Settings).

Process Flow

...

1. A user opens a transaction that will change data in the database.

2. The user task that executes the transaction writes the redo log entries for your transaction on a page in a log queue.

3. The log writer (see Overview of Tasks) writes the redo log entries of the transaction from the log queue to the log area at the following times:

¡ When a page in the log queue is full

¡ When the user closes the transaction with a COMMIT

Log pages in the log queue which were not full at the time of writing remain in the log queue, are filled and then written to the log area again during the next write process.

When writing to the log area, the log writer gives the page a sequence number and a time stamp. Using the sequence numbers, the database system can later determine the definitive sequence of the pages in the log area. The timestamp is required by the database system for it to be able to restore the database instance to its state at a certain point in time.

If the log area is full, the log writer locks the log queue. Then the database system stops all transactions that want to deposit redo log entries in log queues and no further data changes can be carried out in the database.

The database system can only overwrite old log entries in the log area when those log entries have been backed up (exception: overwrite mode for the log area is on).

If automatic log backup is on, then the log writer automatically backs up the redo log entries from the log area.

See also:

Using Log Entries for a Restart or Restore

Logging Transactions


History Management (SAP Library - MaxDB Library)

 Entering content frame

Process documentation History Management

Purpose

The database system first saves undo log files and later permanently deletes them. This function is called history management.

History management enables consistent views and asynchronous deletion of data that is no longer needed.

Only SAP liveCache database instances use consistent views. You can configure transaction consistency in OLTP (MaxDB) database instances through the isolation level.

Process Flow

...

1. At the end of a transaction, the user task writes a reference to its undo log file in a history file in the data area.

2. History management assigns the history file to a garbage collector.

3. The garbage collector processes the history file sequentially and asks the history management which undo log files it wants to delete.

4. If an undo log file is no longer needed for a consistent view, the garbage collector deletes the undo log file and the reference to it in the history file.

Example

Example: Consistent View

Undo Log Management

Logging Transactions


Example: Consistent View (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Consistent View

Consistent views are only available for SAP liveCache database instances. You configure transaction consistency in OLTP (MaxDB) database instances through the isolation level.

liveCache database instances use undo log entries to enable consistent views of the data. The following example shows how two transactions simultaneously can have consistent views of the same data record.

...

1. Transaction T1 accesses data record 3600 for the first time in table CUSTOMER and reads the value Smiht as the name. Transaction T1 does not lock the data record yet, however.

2. Transaction T2 corrects the name from Smiht to Smith in data record 3600. Transaction T2 is ended with a COMMIT.

3. Transaction T1 accesses data record 3600 again and first checks in the history file whether a different transaction has changed data record 3600 since the first read.

As the data record was changed in the meantime by transaction T2, transaction T1 uses the undo log entries for transaction T2 to obtain the same result for the second read as for the first read. Without redo log entries, transaction T1 would obtain different results for the first and second reads of data record 3600.

This graphic is explained in the accompanying text

4. The garbage collectors do not delete the undo log entries from transaction T2 until transaction T1 is ended with a COMMIT.

See also:

History Management


Using Log Entries for a Restart or Restore (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Using Log Entries for a Restart or Restore

Purpose

When a database instance is restarted or restored, the database system uses log entries to return the database instance to a consistent state.

Process Flow

...

1. The database system analyzes the log information.

2. The database system redoes the required transactions.

Example

Example: Restart

See also:

Logging Transactions


Analyzing Log Information (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Analyzing Log Information

Purpose

To restore or restart the database instance after a system failure, the database system first analyzes the log information.

Process Flow

...

1. The redo log manager starts the log reader.

2. The log reader reads the transaction file that the database system saved at the last savepoint and uses it to regenerate the transaction list.

3. For transactions that were started after the last savepoint, the log reader gets the redo log entries and writes them from the log area to a redo log file in the data area.

4. The redo log reader determines which transactions need to be redone and enters them as follows in the list of transactions to be redone (Redo List):

¡ If a transaction in the transaction list was marked as completed at the time of the savepoint, the log reader enters that transaction immediately in the redo list.

¡ For each additional transaction that is found in the redo log entries, the log reader creates a redo log file. If it finds a COMMIT or a ROLLBACK for the entire transaction, it enters the transaction in the redo list. If it finds a ROLLBACK within a transaction, it removes the corresponding redo log entries from the redo log file to prevent these log entries from being processed unnecessarily.

¡ If the log reader finds uncompleted transactions after reading all redo log entries, it flags these transactions for a ROLLBACK and enters them in the redo list. These transactions are later processed in the same way as ROLLBACK transactions.

Result

The database system now has all the information it needs to repeat required transactions.

See also:

Using Log Entries for a Restart or Restore


Repeating Transactions (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Repeating Transactions

Purpose

After a system breakdown, you have to restore your database instance or perform a restart. After the database system has analyzed the log information, it can repeat the required transactions.

Process Flow

...

1. The redo log manager restarts the user tasks for the transactions listed in the transaction list.

2. The redo log manager starts the redo tasks.

3. The redo tasks analyze the redo list and read the redo and undo log entries for the transactions listed in the redo list.

4. The redo tasks repeat the transactions since the last savepoint. They proceed as follows:

Transactions That Were Closed with a COMMIT

a. The redo tasks search in the redo list for transactions that were closed with a COMMIT and need to be repeated. The transactions are sorted in the redo list by the sequence number of their COMMIT.

b. The first redo task begins by processing the transaction with the smallest COMMIT sequence number. The redo log entries belonging to this transaction are processed sequentially. A redo log entry in this redo log file with a higher log sequence number than the smallest COMMIT sequence number must not be processed. In this case, the redo task waits for the COMMIT of the corresponding other transaction. Only then can the redo task continue processing the redo log file. In this way, the database system ensures data consistency.

c. Once a COMMIT transaction has been completely repeated, the redo task deletes the redo log file and transfers the undo log file to the history management. Then the redo log manager removes the transaction from the redo list.

Transactions That Were Canceled with a ROLLBACK

...

a. The redo tasks search in the redo list for transactions that were canceled with a ROLLBACK and delete the corresponding redo log files. This prevents transactions from being repeated unnecessarily.

b. If the start of a ROLLBACK transaction was before the savepoint, then a redo task analyzes the undo log file of the transaction to return the transaction to the status before the savepoint. Once the ROLLBACK transaction has been fully processed, the undo log file of the transaction is deleted.

If the start of a ROLLBACK transaction was after the savepoint, then the redo task does not process the transaction further.

See also:

Using Log Entries for a Restart or Restore


Example: Restart (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Restart

A power outage has occurred and you have to restart the database instance (Restart). During the restart, the database system restores the database instance starting from the time of the last savepoint.

The following graphic shows how the database system handles the transactions when it is restarted.

Status of the Transactions at the Time of a System Failure

This graphic is explained in the accompanying text

Handling of the Transactions at Restart

Transaction | Action by the Database System
T1 | None The changes by transaction T1 were completely written to the data area by the last savepoint before the system failure.
T2, T3 | The database system rolls back the changes made before the savepoint. To do this, the redo tasks evaluate the corresponding undo log files.
T5 | None The database system had already rolled back the changes by T5 before the system failure (ROLLBACK). These changes were never written to the data area through a savepoint.
T4, T6 | The log reader creates the redo log files and corresponding entries in the redo list. For these transactions, the redo tasks import the necessary redo log entries.

See also:

Using Log Entries for a Restart or Restore


Locks for Database Objects (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Locks for Database Objects

Use

Multiple transactions can access the same database object, such as a table, at the same time. To isolate the transactions from one another, the database system sets locks for database objects.

Types of Locks

Name | Objects that Can Be Locked
Shared Lock (SHARE LOCK) | Tables, rows, database catalog
Exclusive Lock (EXCLUSIVE LOCK) | Tables, rows, database catalog
Optimistic Lock | Rows

Activities

Requesting Locks

Locks can be requested as follows:

· Locks for rows or tables can be requested/released implicitly by the database system, or explicitly requested/released by a user (see the Reference Manual, LOCK Statement and LOCK Option (lock_option)).

· Locks in the database catalog are always requested and released implicitly by the database system.

Through the isolation level, you define when the database system sets which type of lock. By doing so, you define the degree of parallelism of transactions and the phenomena that can occur. You can specify the isolation level when you open up a database session. If you do not specify an isolation level, the database system uses the default value.

Depending on the isolation level, the database system then requests the necessary locks as the SQL statements are being processed. All changing SQL statements (such as INSERT, UPDATE, DELETE) always request an exclusive lock.

To explicitly request a lock for a transaction, you can use the LOCK statement.

To lock individual rows of a table, you can use the LOCK option within an SQL statement. This is possible at every isolation level. You can use the LOCK option to temporarily override the isolation level for individual SQL statements.

If too many row locks are requested in a table by a transaction, then the database system tries to set a table lock on it. You configure the limit from which the database system tries to turn row locks into a table lock using the MAXLOCKS general database parameter.

Releasing Locks

Type of Lock | Release
Requested explicitly by the user with the LOCK statement | The database system releases the lock after the end of the transaction. Exceptions: If a COMMIT or ROLLBACK statement contains a LOCK statement, the database system does not release the locks at the end of the transaction.
Implicitly set shared lock | Depends on the isolation level
Implicitly set exclusive lock Exclusive lock for changed rows Exclusive locks that were requested by a changing SQL statement Table locks | The database system only releases the lock after the end of the entire transaction.
Exclusive lock for rows that have not yet been changed Shared locks for rows | You can release these locks with an UNLOCK statement. See the Reference Manual, UNLOCK Statement (unlock_statement).

With the special database parameter REQUEST_TIMEOUT you set the maximum amount of time that can elapse before the database system releases a lock (Timeout).

Displaying Lock Information

You can display information about locks as follows:

· Database Manager GUI, Displaying Database Activities

· In SAP systems, use the CCMS; see:

¡ Database Administration in CCMS: MaxDB, Structure link SQL Locks

¡ Database Administration in CCMS: SAP liveCache Technology, Structure link SQL Locks

The LOCKS system table contains information about locks; LOCK_WAITS contains information about the lock requests.

See also:

Transactions

Overview of the Database System


Shared Lock (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Shared Lock

Use

When a transaction sets a shared lock on a database object, then other transactions can continue to gain read access to the database object, and other shared locks can be set for this database object. However, you cannot set an exclusive lock, or change the database object.

Shared locks can be set for the database catalog, tables, or a table row.

A shared lock is released implicitly at the end of the transaction by the database system or it is released explicitly by an UNLOCK Statement executed by the user.

A shared or read lock is also known as a SHARE lock.

See also:

Exclusive Lock

Optimistic Lock

Locking for Database Objects


Exclusive Lock (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Exclusive Lock

Use

When a transaction sets an exclusive lock on a database object, then the database object in question is available only to this transaction, and can only be changed by this transaction. Other transactions that check for exclusive locks or that want to set exclusive or shared locks conflict with the existing exclusive lock for this transaction (lock collision). They are permitted neither shared nor exclusive access to the locked object.

Exclusive locks can be set for the database catalog, tables, or table rows.

An exclusive lock is released by the database system at the end of the transaction in question. It can also be released with the UNLOCK statement by the respective user. However, this is only possible when the database object has not been changed. If the database object has been changed with an SQL statement (for example, using the INSERT, UPDATE or DELETE statement), the exclusive lock remains in place until the end of the transaction.

See also:

Shared Lock

Optimistic Lock

Locking for Database Objects


Optimistic Lock (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Optimistic Lock

Use

A transaction can set an optimistic lock for a table row (data record). The database system informs the transaction of the current version number of the table row.

Each time a table row is changed, the database system increases the version number. By comparing the original and the current version number, database applications can determine whether the data read while setting the lock is still current or must be read again.

To get an optimistic lock, you have to request it explicitly with the LOCK statement. If an exclusive lock already exists for a database object, you cannot set an optimistic lock (lock collision). If an optimistic lock exists for a database object, other users can continue to set exclusive, shared, or additional optimistic locks.

Before a transaction can change a table row for which it has set an optimistic lock, the database system checks whether the table row has been changed by another user since the optimistic lock was set.

· If the table row has not been changed, the database system first converts the optimistic lock into an exclusive lock, and makes the changes.

· If another transaction has changed the table row in the meantime, the database system rejects the change and releases the optimistic lock.

An optimistic lock is only useful if one of the isolation levels 0, 1, 10, or 15 has been configured.

See also:

Shared Lock

Exclusive Lock

Locking for Database Objects


Phenomena (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Phenomena

If several transactions access the same database object, such as a table, at the same time, this can result in inconsistencies in the results. The following phenomena can occur:

· Dirty Read

Transaction T1 changes a row. Transaction T2 reads this row before T1 ends the transaction with COMMIT. T1 then performs a ROLLBACK.

In this case, T2 has read a row that never existed.

· Non Repeatable Read

Transaction T1 reads a row. Transaction T2 then changes or deletes this row and closes the transaction with COMMIT. If T1 then reads the row again, it either gets the modified row or a message indicating that the row no longer exists.

· Phantom

Transaction T1 performs an SQL statement S with a search condition that returns a result set M of rows. Transaction T2 then creates at least one additional row that meets this search condition, for example, by adding or changing data. If T1 subsequently executes S again, then the new result set is different to M.

You can configure which phenomena are possible with the isolation level.

Relationship Between the Isolation Level and Phenomena

Phenomenon | Isolation Level
 | 0 | 1 or 10 | 2 or 20 | 3 or 30
Dirty Read | Yes | No | No | No
Non Repeatable Read | Yes | Yes | No | No
Phantom | Yes | Yes | Yes | No

See also:

Locking for Database Objects


Parallel Locks (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Parallel Locks

The following table shows which shared locks (SHARE LOCKS) and exclusive locks (EXCLUSIVE LOCKS) can exist in parallel.

 | A transaction has..
 | on a table |  | on a row |  | on the database catalog
Another transaction can... | Exclusive lock | Shared lock | Exclusive lock | Shared lock | Exclusive lock | Shared lock
Request an exclusive lock for the table | No | No | No | No | No | Yes
Request a shared lock for the table | No | Yes | No | Yes | No | Yes
Request an exclusive lock for any row in the table | No | No | - | - | No | Yes
Request an exclusive lock for the locked row | - | - | No | No | - | -
Request an exclusive lock for a different row | - | - | Yes | Yes | - | -
Request a shared lock for any row in the table | No | Yes | - | - | No | Yes
Request a shared lock for the locked row | - | - | No | Yes | - | -
Request a shared lock for a different row | - | - | Yes | Yes | - | -
Change the definition of the table in the database catalog | No | No | No | No | No | No
Read the definition of the table in the database catalog | Yes | Yes | Yes | Yes | No | Yes

In the cases marked with a “No”, there is a lock collision. If a lock is requested within a transaction, then you have to wait for the lock to be released until one of the situations marked with a “Yes” occurs.

The following also applies:

· If no lock is set for a database object, then a transaction can request a read or an exclusive lock and the database system sets the lock immediately.

· If transaction T1 holds a shared lock for a database object and no other transaction holds a lock for this database object, then transaction T1 can request an exclusive lock for this database object and receives it immediately.

· If a transaction holds an exclusive lock for a database object, then this transaction can request a shared lock (although this is not necessary).

See also:

Locking for Database Objects


Isolation Level (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Isolation Level

Use

The isolation determines when the database system sets which locks.

The more locks that are set and the longer the locks remain, the less parallelism is possible during database operation. The fewer locks that are set, the more phenomena occur and the lower the degree of consistency that can be guaranteed.

Isolation Level

Name

Description

0 (uncommitted)

The database system reads rows without requesting shared locks.

When a row is read again within a transaction, it is not guaranteed that it will have the same state as for the first read, since it may have been changed in the meantime by a different transaction.

It is also not certain that the database system will have saved the state of a read row by means of a COMMIT statement. In some cases, the read value is not saved by the database system but rather reset to a previous value by means of a ROLLBACK.

When rows are inserted, updated or deleted, the database system implicitly sets exclusive locks on the affected rows for the duration of the transaction. The database system only releases these locks when the transaction is ended.

1 or 10 (committed)

For each row that it reads, the database system ensures that at the time of its reading, no other transaction is holding an exclusive lock for that row.

When inserting, changing or deleting rows, the database implicitly sets exclusive locks for the corresponding transaction for the rows concerned, which it does not release again until the end of the transaction.

15

In addition to the behavior described for isolation level 1, the database system requests shared locks for all tables that are addressed by an SQL statement before the start of processing.

If an SQL statement generates a result table which is not permanently saved, then the database system only releases these locks at the end of the transaction or when the result table is closed. Otherwise, it releases the locks immediately after the SQL statement is processed.

2 or 20 (repeatable)

In addition to the behavior described for isolation level 1, shared locks are implicitly requested for all tables that are addressed by an SQL statement for querying data before the start of processing.

If an SQL statement generates a result table which is not permanently saved, then the database system only releases these locks at the end of the transaction or when the result table is closed. Otherwise, it releases the locks immediately after the SQL statement is processed.

For the following SQL statements, the database system does not assign the table shared lock to the transaction: SQL statements with which exactly one row is processed in a table that is determined by key specifications or using CURRENT OF <result_table_name>.

Furthermore, the database system implicitly assigns a shared lock for the transaction for each row that is read during the processing of an SQL statement. These locks can only be released using an UNLOCK statement or by ending the transaction.

When inserting, changing or deleting rows, the database system implicitly assigns exclusive locks to the transaction for the affected rows that are not released until the end of the transaction. It does not assign locks for the whole table, however.

3 or 30 (serializable)

In addition to the behavior described for isolation level 2, a transaction is assigned implicitly to a table shared lock for each table that is addressed by an SQL statement.

These shared locks can only be released by ending the transaction. This table shared lock is not assigned to the transaction with SQL statements, where exactly one row in a table is processed that is determined by key specifications or using CURRENT OF <result_table_name>.

When inserting, changing or deleting rows, the database system implicitly assigns exclusive locks to the transaction for the affected rows that are not released until the end of the transaction.

1 and 10 are merely different ways of writing the same isolation level. They have the exact same meaning. The same applies to 2 and 20 as well as 3 and 30.

Activities

The default value for the isolation value depends on the SQL mode:

· ANSI: 3

· All others: 1

You can override the isolation level when you open up a database session using the CONNECT statement or for an individual SQL statement.

See Reference Manual,

· CONNECT Statement (connect_statement)

· LOCK Option (lock_option)

You can set the isolation level for a Loader session with the SET command; override it for individual users with the USE USER command; or, in the DATAEXTRACT command, specify the desired isolation level with the LOCK option in the SELECT statement.

See Loader,

· SET Command

· USE USER Command

· EXPORT COLUMNS Command


Data Storage and Access (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Data Storage and Access

Use

Logical View

To store data in a structured form, the database system uses the following access structures:

· Page chains for undo information and all C++ objects made persistent in liveCache database instances

· B* Trees for all other data

The database system automatically rebalances the B* trees, thereby making it unnecessary to reorganize the data manually.

Physical View

If, in a transaction, a user changes data in the database, the database system first makes the data changes in the data cache and logs them in log entries (transaction logging).

At savepoints and whenever the data cache gets too full, the database system writes the data changes permanently in the data area (set of data volumes). The log entries are written to the log area (set of log volumes) by the log writer task.

In the converter, the database system stores the assignments of logical to physical data.

Activities

You can check the consistency of the B* trees and page chains; see Checking Database Structures.

See also:

Overview of the Database System


B* Tree (SAP Library - MaxDB Library)

 Entering content frame

Function documentation B* Tree

Use

The database system uses B* trees for storing and accessing data. It creates B* trees for the following database objects:

· One B* tree for each table (primary data)

· One or more additional B* trees for tables with LONG columns (primary data)

· An additional B* tree for each index of a table (secondary data)

A B* tree consists of a root level, one or more B* tree index levels and a leaf level. Each level consists of one or more pages.

Example of a B* Tree with Three Levels

This graphic is explained in the accompanying text

The pages of the root and B* tree index levels in a B* tree contain the separators. A separator points to the logical addresses (page numbers) of pages on the next lower level. The separator contains only the significant part of the primary key that is required to differentiate it from the next entry. In this way, the memory space that is required by these pages is minimized. The first separator in the far left page for each level (including the root level) contains only the pointer to the far left page on the next level down. The average length of the separators depends on the structure and selectivity of the key.

Example of a Leaf Page of a B* Tree

This graphic is explained in the accompanying text

The pages of the leaf level (leaf pages) contain the actual data records (table rows) and a position list. Each data record has an entry in the position list that points to the physical location of the data record in the page. The database system stores the data records on a single page randomly, but it always stores the position entries in the position list in ascending order. The number of data records on a leaf page depends on the total length of the data records.

Activities

When the database system searches for a data record, it starts at the root level of the B* tree and narrows the search area step by step.

To determine the leaf page of a B* tree on which a certain data record is located, the database system uses the same search algorithm for all SELECT and DML statements.

Examples

· SELECT Statement

· INSERT Statement

· DELETE Statement

· UPDATE Statement

See also:

Data Storage and Access


B* Trees for Tables with LONG Columns (SAP Library - MaxDB Library)

 Entering content frame

Function documentation B* Trees for Tables with LONG Columns

Use

The database system creates the following B* trees for LONG columns:

· One B* tree for the primary data (primary tree), sorted by primary key

· One B* tree for the short values in the LONG column

LONG values that are shorter than one page are also known as short LONG values or short column file. LONG values that are longer than one page are also known as long LONG values.

· One additional B* tree for each long LONG value in the LONG column

The leaf pages of the primary tree for the values of the LONG column contain either links to the short column file or the table ID of a long LONG B* tree.

Example

The following figure shows the B* trees for a base table with a LONG column, which contains both short LONG and long LONG values.

This graphic is explained in the accompanying text

See also:

Data Storage and Access


B* Trees for Tables with Indexes (SAP Library - MaxDB Library)

 Entering content frame

Function documentation B* Trees for Tables with Indexes

Use

The database system creates a B* tree for every index that is defined for a base table.

The index of a base table is defined explicitly with an SQL statement and has nothing to do with the B* tree index level.

The database system stores the inversion lists of the index as follows:

· 1:1 relationship between the secondary key (index entry) and primary key:

The database system stores the inversion list directly on the corresponding leaf page of the B* tree of the index.

· 1:n relationship between secondary key and primary keys:

The database system stores the inversion list directly on the corresponding leaf page of the B* tree of the index (flat list).

If the inversion list becomes too big for the leaf page, the database system creates another B* tree for the inversion list. The leaf page of the B* tree of the index then only contains only the reference to the B* tree of the inversion list.

Example

The CUSTOMER table contains the names of all the customers of a hotel.

· Primary key: customer number cno

· Index: last name name

CUSTOMER Table

cno | surname | firstname
2003 | Miller | Frank
2011 | Griffith | Mary
2078 | Miller | Jane
2104 | Miller | Susan
2295 | Miller | Sally

The index contains the following inversion lists:

Inversion Lists

Name | Secondary Key | Primary Key
Inversion list 1 | Griffith | 2011
Inversion list 2 | Miller | 2003, 2078, 2104, 2295

The database system stores inversion list 1 directly on the leaf page of the B* tree of the index.

For inversion list 2, the database system creates an additional B* tree because there is not enough space on the leaf page of the B* tree of the index.

See also:

Data Storage and Access


Rebalancing (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Rebalancing

Use

In the following cases, the database system changes the structure of a B* tree:

· If there is not enough space available on the leaf page when a data record is changed or inserted.

The database system adds a new leaf page and redistributes the data records.

Thus the size of a table is limited only by the total amount of available storage space in the data area.

· A leaf page is no longer sufficiently full after the deletion of data records.

The database system deletes the leaf page and moves the data records to other leaf pages.

· Due to the changing or insertion of a data record, the separators on the next higher level are no longer unique.

The database system redistributes the separators.

This can cause some branches of the B* tree to have many more pages than other branches. Such an irregular distribution of the pages compromises the performance of the database system, because more accesses are required to search for data in branches with many pages than in branches with only a few pages.

The database system recognizes this irregular distribution and automatically balances the load (no-reorganization principle).

Example

The following graphic shows how the database system changes the B* tree structure when an INSERT statement is executed.

Example of Distribution of a Page on the Leaf Level

This graphic is explained in the accompanying text

In the address table, the city column is defined as the primary key. A user uses an INSERT statement to insert a new data record with the value Albas for the city column. The data record is too large for the corresponding leaf page in the B* tree, however. As a result, the database system performs the following actions:

...

1. The database system creates a new leaf page and inserts the new data record in the new leaf page. The entries on the new leaf page are sorted beginning with the new data record.

2. If necessary, it copies all data records that belong to the sort area of the new leaf page from the old leaf page to the new leaf page, and then deletes them from the old leaf page. This procedure is called page split. Then the database system updates the position lists and the respective pointers to the following pages within the leaf level.

3. The database system inserts the addresses and separator information for the new leaf page in the corresponding root or B* tree index page at the next higher level.

¡ If the B* tree index page is too small, then the database system inserts a new B* tree index page at this index level.

¡ If the root page at the top level is too small, then the database system creates a new B* tree index level.

See also:

Data Storage and Access

Example: INSERT Statement


Example: SELECT Statement (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: SELECT Statement

In the address table, the city column is defined as the primary key. A user has entered the following SELECT statement:

SELECT * FROM address WHERE city=′Athens′

The database system searches the address table for the data record that has the value Athens in the city column.

...

1. The database system begins the search at the root level of the B* tree. It compares the value Athens with the value of the first separator on the root page, Baf.

As the value Athens is less than Baf, the database system continues the search on the first index page of the B* tree index level.

2. The first separator – An – on the first index page of the B* tree index level is less than the value Athens. So the database system evaluates the next separator - Au – on the index page.

Because the value Au is greater than the value Athens, the database system evaluates the address information following the separator An in order to get to the correct leaf page on the leaf level.

3. To find the address information in the data record with the key value Athens, the database system uses a binary search algorithm.

The database system searches the data records on the leaf page until it finds the data record it is searching for. That completes the search.

See also:

B* Tree


Example: INSERT Statement (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: INSERT Statement

In the address table, the city column is defined as the primary key.

A user enters an INSERT statement in order to insert into the the address table a new entry with the value Arbon for the primary key field city.

...

1. The database system inserts the data record after the last data record on the leaf page.

If there is not enough space on the respective leaf page of the B* tree for the new data record, the database system has to add a new leaf page and redistribute the data records (see Rebalancing).

2. The database system updates the position list by inserting the position entry of the new data entry at the correct place in the position list.

See also:

B* Tree


Example: DELETE Statement (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: DELETE Statement

In the address table, the city column is defined as the primary key.

A user enters a DELETE statement in order to delete from the table the entry Apach for the primary key field city.

...

1. The database system deletes the data record and its position entry from the corresponding leaf page.

This leaves gaps in the leaf page.

2. The database system closes these gaps and then updates the address information in the position list of the leaf page.

See also:

B* Tree


Example: UPDATE Statement (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: UPDATE Statement

In the address table, the city column is defined as the primary key. A user has entered an UPDATE statement.

With an UPDATE statement, the database system searches for the data to be changed in the B* tree in the same way as with a SELECT statement.

· If an UPDATE statement does not change the key value of the data record, the database system changes only the contents of the data record.

If the length of the data record is changed in the process, the database system moves the subsequent data records on the leaf page accordingly and then updates the position list of the leaf page.

· If the UPDATE statement does change the key value of the record, the database system executes the UPDATE as a DELETE with a subsequent INSERT.

See also:

B* Tree


Savepoint (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Savepoint

Purpose

The database system performs savepoints at regular intervals, whereby all data changes since the last savepoint from the data cache (working memory) are written to the data volumes (data area, permanent memory).

The pages that were saved during the last savepoint, however, are never overwritten by a following savepoint. This means that the database system can use the information from the previous savepoint for a restart if the system breaks down during the new savepoint. Only after the database system has successfully completed the new savepoint does it release the pages of the old savepoint for overwriting.

The database system performs savepoints both in normal ONLINE operation as well as during a restart. This means that a failed restart can be continued from where it terminated.

You cannot request a savepoint explicitly.

Because savepoints can compromise the performance of the system, the database system performs a new savepoint when one of the two following situations occurs:

a. The database system has filled 2/3 of the log area with log entries since the last savepoint.

b. The database system has performed 5000 log I/O operations and since the last savepoint at least the amount of time defined in the support database parameter _RESTART_TIME has elapsed. With this database parameter, you implicitly define how many log entries the database system has to re-import in case of a restart.

Various database activities, such as starting a data backup, implicitly request a savepoint. All savepoints and the actions that were triggered by them are entered by the database system in the knldiag log file.

Process Flow

The savepoint is controlled by the database system using a server task (savepoint coordinator) and proceeds as follows:

...

1. Only for liveCache database instances:
The database system stops the garbage collectors so that they cannot change any more data pages.

2. All pages that were already changed are written to the data volumes. The quantity of those pages that have to be written to the volumes in step 10 is minimized, so that the duration of the stops for all transactions is kept as short as possible.

3. Now you cannot start or end any further transactions.

4. For liveCache database instances only:
The history files are stored as data pages in the data cache.

5. A redo log entry is written during a savepoint during normal database operation. This indicates from which point in time the log entries have to be imported, if a later restart has to be performed using the data from this savepoint.
If a savepoint is executed during the restart, the current position of the log reader is determined and entered in the restart record.

6. The information about transactions that are not yet complete is stored in data pages so that it is available for repeating (REDO) or rolling back (ROLLBACK) the transactions in the course of a restart.

7. All changed pages in the data cache are flagged so that only these are written during the current savepoint to the data volumes.

8. Transactions may now be started or ended again.

9. Only for liveCache database instances:
The garbage collectors are started again.

10. All flagged pages are written from the data cache to the data volumes.

In addition to the changes that were already completed with a COMMIT, this also includes the undo log files of transactions that are not complete, which are required in the case of a restart (see Using Log Entries for a Restart or Restore).

11. All changed converter pages are written to the data area.

12. The restart record is written. It includes, among other things, the savepoint version. This completes the actual savepoint.

13. Now the database system releases for overwriting all the pages in the data area that are no longer needed.

14. All tasks that had requested or waited for a savepoint are now woken up. If the savepoint was requested during the transfer to the OFFLINE operational state, then the database kernel is now stopped.

Example

Example: Restart

Backing Up and Restoring


Converter (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Converter

Use

The converter is where the database system keeps information about which logical page number is saved at what physical position (MaxDB block address).

Converter entry

271397 P 1/0000271404

The logical page number 271397 is a permanent (P) data page. It is stored in the first volume at block address 271404.

Types of Data Pages

Type | Description
P | Permanent data page
S | Data page in a SAP liveCache database instance
T | Temporary data page

When the database system fails to find a page number in the data cache, it searches for the page number in the converter and uses this to calculate the physical position of the data page in the data volumes.

The converter uses the shadow storage concept. This means that the database system stores the database state from the last savepoint on shadow pages. When pages are changed, the database system first creates copies of the changes pages. Once the database system has written the changed pages to the data area at a savepoint and the savepoint is complete, the shadow pages are released to be overwritten.

Pages are never displaced from the converter. If necessary, the database system allocates additional pages from the I/O buffer cache to the converter. You are, therefore, unable to configure the size of the converter explicitly.

When the database system writes the converter to the data area at a savepoint, it gives the converter a version number. The converter saved at the next savepoint is then given the next higher version number.

All concurrently-active users use the converter jointly.

See also:

Data Storage and Access

Savepoint


Database Tools (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Database Tools

Use

The MaxDB software includes a number of database tools.

For information on where to obtain MaxDB software and how to install it, see the Download section and the Installation Manual. SAP Solution Life Cycle Management (CCMS) is only available in SAP systems. For more information, see the respective Installation Guides.

Features

The following table shows you which database tools are used for which tasks:

Database Tools

Name | Task | Typical Users | Downward- compatible
Database Analyzer (CLI) | Analyzing the performance of database instances (replaced the program XWIZARD) | Support employees Database administrator | Yes
Database Manager: Database Manager GUI Database Manager CLI | Creating and managing database instances, DBM operators and database users | Database administrator | Yes, ≥ 7.2
Event Dispatcher | Manages events for automating administration tasks | Database administrator | No
Loader (CLI) | Exporting and importing data | Database administrator Application developers | Yes, ≥ 7.3
SQL Studio: SQL Studio (GUI) SQLCLI Web SQL Studio | Accessing data and the database catalog, SQL queries, creating and managing database objects and database users | Database users Application developers | SQL Studio: yes, ≥ 7.4.00 SQLCLI: yes, ≥ 7.2
Synchronization Manager | Synchronizing table contents of two or more database instances. | Database users | No
VMAKE (CLI) | Development environment Creating MaxDB software after modifying the source code. | Open source users who modify the MaxDB source code | No
XCONS (CLI) | Database console. Displaying detailed information about the operating system resources occupied by the database system | Support employees Database administrator | Yes
XUSER (CLI) | Creating and managing XUSER entries for simplified logon to database tools and interfaces with user keys | Support employees Database administrator Application developers | Yes

For SAP systems only:

Solution Life Cycle Management:

Structure link CCMS MaxDB (GUI)

Structure link CCMS SAP liveCache Technology (GUI)

Managing MaxDB and liveCache database instances in SAP systems

SAP administrator

Yes

Some of the database tools are available in multiple variants:

· GUI: Graphical user interface
has to be installed locally, can only be used with Microsoft Windows

· CLI: Command line
All functions are available, can be used for background processing and embedded in scripting languages (such as Python, Perl), can be used on all supported operating systems

· Web: Web interface
Only the most important functions are available, is installed centrally, operated using a Web browser, platform-independent

Further development of the following web tools has been discontinued: Web DBM, Web Server, Web Server Manager. These web tools are only included in the MaxDB software package up to and including version 7.5. SAP customers can find more information in SAP Note 856940 (ordering web tools).

See also:

Technical System Landscape

Architecture of the Database Tools

Interfaces

X Server documentation


Interfaces (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Interfaces

Use

You can use interfaces to access functions of the database system using different programming languages and applications. Using interfaces you can, for example, program additional functions or connect applications to a MaxDB database instance.

The interfaces are included in the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

Interfaces

Name | Driver/Module | Features | Prerequisites
JDBC | sapdbc.jar | Executing SQL statements, DBM commands and Loader commands | JDBC 2.0: JRE 1.2 or JDK 1.2 (application development) JDBC 3.0: JRE 1.4, 1.5 or JDK 1.4, 1.5 (application development)
Java See Database Administration with Java Exporting and Importing of Data with Java | java.sql.* com.sap.dbtech.powertoys.DBM com.sap.dbtech.powertoys.Loader | Executing SQL statements, DBM commands and Loader commands |
ODBC | sqlod32[w].dll (Microsoft Windows) libsqlod[w].so (UNIX/Linux) | Executing SQL statements | Microsoft Windows: ODBC Driver Manager 3.52 or above and MDAC 2.7 or above UNIX/Linux: Link directly to the application or use a driver manager (unixODBC 2.0.9 or iODBC 3.0.5)
Perl | DBD::MaxDB SAP::DBTech::dbm SAP::DBTech::loader | Executing SQL statements, DBM commands and Loader commands | MaxDB SQLDBC SDK Perl 4 (5.6.1) Perl DBI (1.2.1)
PHP | php_maxdb.[dll|so] | Executing SQL statements | PHP 4.3.6 or higher
Python | sdb.sql sdb.dbm sdb.loader | Executing SQL statements, DBM commands and Loader commands | Python 1.5 - 2.3
SQLDBC | libSQLDBC.[dll|so] | Executing SQL statements, developing applications and interfaces |
WebDAV | webdavServletMaxDB-<version>.war | Access to a document store in a MaxDB database instance via the WebDAV protocol | Servlet container
Backint for MaxDB |  | Description of the Backint for MaxDB interface for external backup tools |

Example

· Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Windows)

· Example: Connecting OpenOffice to MaxDB Using JDBC (Linux)

See also:

Architecture of the Interfaces

Developing Database Applications


Technical System Landscape (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Technical System Landscape

Use

Several different database tools help you in your work with database instances. To use a database instance in a database application, integrate the database instance in the database application via an interface.

Database application, database tools, interfaces and database instance can be located on different computers in a network. To access a database instance located on a remote computer, the database tools and interfaces require the MaxDB X Server (communication server).

Accessing a MaxDB Database Instance from Remote Computers

This graphic is explained in the accompanying text

Integration

You can use MaxDB database instances in SAP systems.

In SAP systems, data encryption is available.

MaxDB in SAP Systems

SAP System | SQL Interface to MaxDB
SAP NetWeaver AS | MaxDB SQLDBC
SAP NetWeaver BI | MaxDB SQLDBC
SAP NetWeaver EP | MaxDB JDBC
SAP NetWeaver MI (Clients) | MaxDB JDBC
SAP NetWeaver MDM | MaxDB JDBC
SAP NetWeaver XI | MaxDB JDBC

Integration of MaxDB into SAP NetWeaver AS

This graphic is explained in the accompanying text

Example

· Example: System Landscape with MaxDB Database Instance

· Example: SAP System Landscape with Two MaxDB Database Instances

See also:

Network Communication

Architecture of the Database Tools

Process Structure

Database Tools

Interfaces

X Server documentation

Synchronization Manager, Technical System Landscape


Network Communication (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Network Communication

To establish a connection to a database on a remote computer, database applications and database tools use the MaxDB X Server running on the remote computer (see the X Server documentation). The X Server is concurrently available to all database instances: even if several database instances are installed on one computer, only one X Server ever runs.

To secure the connection between the client and the X Server, SAP customers can use SSL/TLS (see Data Encryption).

Connections to database instances on the local computer use shared memory.

If you want to force the database to establish the connection via the X Server nonetheless, specify localhost as the database computer when you log on to the database instance.

Example

The two database instances HOTELDB and SHOPDB are installed on computer ROME.

· A user on computer PARMA uses the Database Manager GUI (DBMGUI) to access the database instance HOTELDB via the X Server on computer ROME.

· A second user, on computer GENUA, uses the SQL Studio to access the database instance SHOPDB via the same X Server on computer ROME.

· A third, local, user uses the Database Manager GUI to access the database instance HOTELDB without using the X Server.

Examples of the Communication Between Clients and Database Instance

This graphic is explained in the accompanying text

See also:

Technical System Landscape

X Server, Ports and Protocols of the X Server


Architecture of the Database Tools (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Architecture of the Database Tools

Some database tools are available in several variants. And some database tools are comprised of multiple components.

Database Manager

The Database Manager database tool consists of a client part and a server part. The client part of the Database Manager is available in several variants:

· Database Manager GUI (DBMGUI): graphical user interface

· Database Manager CLI (DBMCLI): command line interface

· Database Manager RFC (DBMRFC): interface to the SAP system; only in SAP systems

All of these variants require the DBM server to communicate with the kernel and execute commands. The DBM server is the server part of the Database Manager database tool and is always located on the same computer as the database instance. The event dispatcher also communicates with the kernel via the DBM server.

If the client part of the Database Manager/event dispatcher and the database instance are located on different computers, you also need the X Server to communicate with the DBM server.

Database Manager and Event Dispatcher

This graphic is explained in the accompanying text

Query Tools

The query tools are the database tools with which you can execute SQL statements. They come in three variants:

· Web SQL Studio: web-based user interface

· SQL Studio: graphical user interface

· SQLCLI: command line interface

Web SQL communicates with the kernel via the servlet container (e.g. Apache Tomcat or SAP NetWeaver AS); SQL Studio communicates with the kernel through the ODBC interface; and SQLCLI communicates with the kernel directly. If the database tools are on a different computer than the database instance, they also need the X Server to communicate with the database instance.

Query Tools

This graphic is explained in the accompanying text

Loader

The Loader database tool consists of a client part and a server part:

· Loader client

· Loader server

The Loader client transmits the commands to be processed. The Loader server creates the connection between the Loader client and the database instance and processes the commands. The Loader client and the Loader server are always installed on the same computer (LoaderCLI).

You can access the Loader using the following interfaces:

· Python module: sdb.loader

· Perl module: SAP::DBTech::loader

· The Loader’s Java interface: com.sap.dbtech.powertoys.Loader

The Loader server has to be installed on the computer on which the media for importing and exporting the data are located. If the Loader is on a different computer than the database instance, the Loader also needs the X Server to communicate with the database instance.

Loader

This graphic is explained in the accompanying text

XUSER

The database tool XUSER does not communicate directly with the other database tools or the kernel; it only writes XUSER information to the file system.  Database tools that use XUSER directly access the XUSER information in the file system.

XUSER

This graphic is explained in the accompanying text

Synchronization Manager

See Synchronization Manager, Technical System Landscape.

Additional Database Tools

The database tool XCONS communicates directly with the kernel. It must be installed on the same computer as the database instance.

The Database Analyzer database tool communicates with the kernel using ODBC. If the Database Analyzer is on a different computer than the database instance, the Database Analyzer also needs the X Server to communicate with the database instance.

Additional Database Tools

This graphic is explained in the accompanying text

See also:

Database Tools

Interfaces

Technical System Landscape


Architecture of the Interfaces (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Architecture of the Interfaces

Database applications, such as SAP systems, access MaxDB database instances via interfaces.

If the database application (and thus the MaxDB interface) is on a different computer than the database instance, the database system also needs the MaxDB X Server (communication server) for communication. The JDBC interface needs the MaxDB X Server even for local communication.

Database Applications Accessing a MaxDB Database Instance via MaxDB Interfaces

This graphic is explained in the accompanying text

Access to a Document Store in a MaxDB Database Instance via the MaxDB WebDAV Servlet

This graphic is explained in the accompanying text

See also:

Interfaces


Data Encryption (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Data Encryption

Use

The database system can encrypt the data transferred between the client (database tool or database application) and the X Server using SSL/TLS.

Data encryption is available in SAP systems only.

Prerequisites

You have configured your SAP system for SSL/TLS encryption. For more information, go to service.sap.com/instguides ® SAP NetWeaver ® <release> ® Installation / Upgrade

Activities

To encrypt the data transmitted in a database session, select the corresponding option when you log on.

See also:

Authentication

Network Communication

Technical System Landscape


Example: System Landscape with MaxDB Database Instance (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: System Landscape with MaxDB Database Instance

There is a MaxDB database instance in the internal network (LAN). A MaxDB X Server is running on the same computer. The following components access the MaxDB database instance via the X Server:

· A database application (via the MaxDB JDBC interface)

· The MaxDB SQLCLI database tool (data queries using SQL)

· The MaxDB Database Manager GUI database tool (DBMGUI; administration actions)

Example of a System Landscape

This graphic is explained in the accompanying text

See also:

Example: SAP System Landscape with Two MaxDB Database Instances

Technical System Landscape


Example: SAP System Landscape with Two MaxDB Database Instances (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: SAP System Landscape with Two MaxDB Database Instances

MaxDB Database Instance in the LAN 2 Network

There are two MaxDB database instances on two different computers in the LAN 2 network. There is a MaxDB X Server (communication server) running on each of the computers. Using these X Servers, SAP systems from the networks LAN 1 and LAN 3 access the MaxDB database instances in LAN 2.

SAP NetWeaver AS System in the LAN 1 Network

From LAN 1, a SAP NetWeaver AS system accesses a MaxDB database instance in LAN 2 via SAProuter:

· For data queries using SQL, the AS system uses the MaxDB SQLDBC interface.

· For administration actions using the MaxDB Database Manager, the AS system uses the SAP RFC library and the MaxDB DBM RFC server.

SAProuter does not have to be used for communication. All communications can be encrypted with SSL (see Data Encryption).

SAP NetWeaver EP System in the LAN 3 Network

From LAN 3, a SAP NetWeaver EP system accesses a MaxDB database instance in LAN 2:

· For data queries using SQL, the EP system uses the MaxDB JDBC interface.

· For administration actions using the MaxDB Database Manager, the EP system uses the SAP RFC library and the MaxDB DBM RFC server.

SAProuter can be used for communication. All connections can be encrypted with SSL.

Example of an SAP System Landscape

This graphic is explained in the accompanying text

See also:

Example: System Landscape with MaxDB Database Instance

Technical System Landscape


Process Structure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Process Structure

On Microsoft Windows, the kernel of the database instance runs as an individual operating system process. On UNIX, the kernel uses two operating system processes: upon starting, the database system generates a watchdog process which then directly starts the actual kernel. See Overview of Processes and Overview of Services.

The kernel executes all of the central database tasks of the database instance. These include establishing connections, reading and writing data (I/O), monitoring the database instance and processing SQL requests (user tasks). Every user who logs on to the database is assigned a user task. The user tasks create the main load for the processor. See Overview of Tasks and Overview of Task States.

For tasks that are to be executed in parallel, the kernel generates operating system threads.

On Linux systems without NPTL (Native Posix Thread Library), each thread is simulated by a clone process.

Threads and Tasks of a Database Instance

This graphic is explained in the accompanying text

The database system differentiates between two types of threads:

· User Kernel Threads (UKT)

UKTs process client requests. They are the threads that use the most processor time. A database instance generally has several UKTs.

In general, several tasks share a UKT. The database system controls the sequence in which the tasks run in a UKT, and can therefore avoid conflicts in access to resources (Task Switching). To distribute tasks optimally to the UKTs, the database system performs internal load balancing.

· Special Threads

Special threads provide services for the user kernel threads. In special threads, the database system executes tasks whose duration cannot be predicted, such as operating system calls for reading and writing to volumes and connection requests from clients. The database system processes special threads asynchronously to the user kernel threads. See Overview of Special Threads.

See also:

Technical System Landscape


Overview of Processes (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Overview of Processes

Use

The MaxDB database instance and database tools generate a number of operating system processes.

On Linux systems without NPTL (Native Posix Thread Library), each thread is simulated by a clone process. As a result, in the process list you may find several MaxDB processes with the same name.

MaxDB Processes

Process (Microsoft Windows) | Process (UNIX/Linux) | Function
- | niserver | Part of the X Server, responsible for NI support in SAP systems
dbanalyzer.exe | dbanalyzer | Database Analyzer
dbmcli.exe | dbmcli | Database Manager CLI
dbmevtdisp.exe | dbmevtdisp | Event Dispatcher
DBMGui3.exe | - | Database Manager GUI
dbmsrv.exe | dbmsrv | DBM Server
dbmsrvscd.exe | dbmsrvscd | Event Scheduler
kernel.exe | kernel | Database system kernel Every database instance has its own kernel process.
loadercli.exe | loadercli | Loader
serv.exe | vserver | MaxDB X Server On UNIX/Linux, a new child process is started for each database connection.
sqlcli.exe | sqlcli | SQLCLI
SQLSto.exe | - | SQL Studio
vmksrv.exe | vmksrv | VMAKE server
wahttp.exe | wahttp | MaxDB Web Server

See also:

Process Structure


Overview of Services (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Overview of Services

Use

The following services are MaxDB database system services.

MaxDB Services

Name

Description

Microsoft Windows:

· SAPDB: <database_name>

· SAPDB: <database_name> (slow)

· SAPDB: <database_name> (omststknl.exe)

UNIX/Linux:

· kernel

· quickknl

· slowknl

Run directory of the database instance <database_name>

This service is available for each database instance in several versions: one service for each of the kernel variants and one service for internal testing purposes (omststknl.exe). Only one of these services can run (system default: fast kernel variant).

If this service is stopped, then either the database was transferred to the OFFLINE operational state or the database instance crashed. Do not start this service manually; instead, use the Database Manager database tool (starting the database instance).

On Microsoft Windows, when you create a new database instance, you can specify that this service be started automatically when the computer is started.

SAPDB: .<generated_name>

SAPDB: .M760011

Service Database Instance

The service database instance is used by the database system exclusively for internal administration tasks, for example to check backups. The database system starts the service database instance when necessary.

The database system creates the service database instance under a <generated_name> when the database software is installed.

Microsoft Windows:

· XServer

UNIX/Linux:

· vserver

X Server

The X Server has to be started in the following cases, among others:

· Clients from other computers access the local database instance

· You use the JDBC interface

Example

You display the entered services on Microsoft Windows. The database instance DEMODB includes the following services:

SAP DB: DEMODB started

SAP DB: DEMODB (slow)

SAP DB: DEMODB (omststknl.exe)

The kernel variant fast (system default)of the database instance DEMODB has been started.

See also:

Process Structure

Automatic Start


Overview of Tasks (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Overview of Tasks

Use

The database system executes actions requested by users or the kernel in tasks.

Overview of Important Tasks

Name

Description

Event Task

The event task accepts events that are created in the kernel and communicates them externally.

Log Writer

The log writers write log entries from the log queue to the log area, for example due to a COMMIT or a savepoint.

Pager (data writer)

Pagers write the data from the data cache to the data volumes with each savepoint. Writing a savepoint can take a long time for a large data cache. If necessary, the pagers also become active between the end of a savepoint and the start of the next one, to save the changed data asynchronously.

At restart, the pagers read the converter pages from the data volumes to the converter. The system calculates the number of pagers required. It is primarily dependent on the size of the data cache and the number of data volumes.

Server Task

The server tasks parallelize database functions. They are required, for example, to back up data and log entries, create indexes and to permanently delete tables. During a restart, they import log entries and process transactions in parallel.

You can configure the number of server tasks that are available using the MAXSERVERTASKS special database parameter.

Server tasks can have special names that reflect how they are used, for example Savepoint, BackupMedium, BackupVolume, AutosaveCoordinator, AutosaveMedium.

Timer Task

The timer task is responsible for timeouts of SQL lock requests and checks whether log entries can be backed up.

Trace Writer Task

The trace writer task writes the trace entries in the main memory when the database trace is switched on.

User Task

User tasks process statements from users. When a database session is opened, the database system assigns exactly one user task to each user.

You can configure the number of user tasks that are available using the MAXUSERTASKS special database parameter.

Utility Task

The utility task performs administration tasks.

Activities

To display information about tasks, use the Database Manager or XCONS or in SAP systems the database assistant or liveCache assistant. See:

· Database Manager GUI, Displaying Database Sessions

· Database Manager CLI, Displaying Information About the Database Instance

· XCONS documentation

· Database Administration in CCMS: MaxDB, Structure link Task Manager

· Database Administration in CCMS: SAP liveCache Technology, Structure link Task Manager

See also:

Overview of the Task States

Process Structure


Overview of the Task States (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Overview of the Task States

Use

The task state shows whether a task is active and which action it is currently executing.

Overview of the Task States

Name

Description

AsynClose

Task is closing I/O ports after backup or restore

AsynCntl

Task is determining parameters or initializing a backup device

AsynIO

Task is executing an asynchronous I/O operation (during backup or restore)

AsynOpen

Task is opening I/O ports for the backup or restore

AsynWaitRead/Write

Task is waiting for the end of an I/O operation during backup or restore

Command reply

Task is sending the result of a request to the application

Command wait

Database session without a request

Connect wait

Free database session

DcomObjCalled

Task is executing a database procedure or a COM object

Diaginit

Task is initializing the database-internal trace file

Inactive

Task is in an initial state and has no resources (such as a stack)

InsertEvent

Task is generating an event

IO wait (W/R)

Task is waiting for the result of an I/O operation (W: write, R: read)

Locked

Task was locked as the kernel was shut down (to avoid this task being rescheduled)

RescheduleMsec

Short-term wait situation, task runs again automatically after a predefined time span (in microseconds)

Runnable

Task can run now, but has been displaced due to long runtime or priority of another task

Running

Task is running, using CPU

sleep

Short-term wait situation, task runs again automatically after a predefined time span

Stopped

Task was suspended by the kernel and is waiting to run again

Terminated

Task or database session was ended

UNKNOWN

Task state is unknown

Vattach

Task is opening I/O ports (volumes, normal operation)

Vbegexcl

Task is waiting to enter a protected area

Vdetach

Task is closing I/O ports (volumes, normal operation)

Vdevsize

Task is determining the size of a volume or formatting a volume

Vdualvectorio

Task is performing a vector I/O operation (read or write) on two volumes in parallel

Vendexcl

Task is leaving a protected area

VenterRWRegion

Task is waiting to enter a protected area (reader/writer region)

Vfclose

Task is closing a file

Vfopen

Task is opening a file

Vfwrite

Task is writing to a file

VleaveRWRegion

Task is leaving a protected area (reader/writer region)

Vopmsg

Task is writing a message to one of the following database files: knldiag, knldiag.err, opmsg[n]

Vrelease

Task is ending the database session

Vshutdown

Task is changing the operational state of the database instance from ONLINE to ADMIN

Vsuspend

Task is suspended and waiting to be awoken explicitly by another task (Vresume)

There are special Vsuspend wait situations that are displayed under their own names. The following list shows the most important of these states.

TableRootExcl: can occur while accessing B* trees that represent permanent data
A task is trying to set an exclusive lock on the root page of a B* tree but has to wait due to a lock collision. Tasks request exclusive locks on B* trees for structure-changing operations such as tree balancing, among other operations.

TableRootShare: can occur while accessing B* trees that represent permanent data
A task is trying to set a shared lock on the root page of a B* tree but has to wait due to a lock collision. As a rule, all operations on a B* tree begin with a shared lock, which is refined as the operation descends into the B* tree, that is, it is extended to become an exclusive or shared lock on the leaf level.

TableNodeExcl, TableNodeShare: analogous wait states for lock collisions on the leaf level

For B* trees that represent an index or temporary data, there are similar states, such as InvRootExcl, InvRootShare, InvNodeExcl, TempRootExcl and TempRootExcl.

For page chains, there are similar states, such as ObjRootExcl, ObjNodeExcl, ObjNodeShare, UndoRootExcl, UndoRootShare and UndoNodeExcl.

DC OvFlow: The data cache is operating at capacity and cannot accept any new data. Only when pages have been written from the data cache to the volumes can the data cache accept new pages. If you frequently observe DC OvFlow states, check whether your data cache is large enough or the I/O system too slow.

LogQ FULL: The log queues are operating at capacity and cannot accept any new redo log entries. Only when the log writer has written data from the log queues to the log area can the log queues accept log entries again. If you frequently observe LogQ Full states, check whether your log queues are too small or the I/O system too slow.

DB FULL: The data area is full and cannot accept any more pages. Add a new data volume.

Vvectorio

Task is executing a vector I/O operation (read or write)

Vwait

Task is waiting to be awoken explicitly by another task (Vsignal) Example: task is waiting for an SQL lock

WaitForEvent

Task is waiting for an event

Activities

To display information about tasks, use the Database Manager or XCONS or in SAP systems the database assistant or liveCache assistant. See:

· Database Manager GUI, Displaying Database Sessions

· Database Manager CLI, Displaying Information About the Database Instance

· XCONS documentation

· Database Administration in CCMS: MaxDB, Structure link Task Manager

· Database Administration in CCMS: SAP liveCache Technology, Structure link Task Manager

See also:

Overview of Tasks

Process Structure


Task Switching (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Task Switching

Use

In a user kernel thread, a maximum of one task can use the processor, that is, be in the running state. All other tasks are either executable or waiting for an external event, such as the end of an I/O operation and a corresponding message, to become executable again.

If the current task no longer needs the processor, it triggers a task switch (cooperative task switch) and the next task in the same user kernel thread can use the processor.

Example

The following graphic presents a simplified illustration of how three tasks in a user kernel thread run alternately.

This graphic is explained in the accompanying text

Initially, task 1 is running, task 2 and task 3 are executable.

...

1. Task 1 sends an I/O request and puts itself in a waiting state.

Task 2 is the next executable task; it resumes executing.

2. Task 2 sends an I/O request and puts itself in a waiting state.

Task 3 is the next executable task; it resumes executing.

3. The I/O operation of task 1 is completed. Task 1 receives the respective message and is again executable.

4. Task 3 sends an I/O request and puts itself in a waiting state.

Task 1 is the next executable task; it resumes executing.

5. The I/O operation of task 2 is completed. Task 2 receives the respective message and is again executable.

6. Task 1 is completed.

Task 2 is the next executable task; it resumes executing.

See also:

Overview of Tasks

Overview of the Task States

Process Structure


Load Balancing (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Load Balancing

Use

The operating system has no influence over how the database system distributes the tasks of a database system to the available user kernel threads. Therefore, it cannot intervene, for example, if a user kernel thread uses one processor at 100% capacity while the computer’s other three processors are not being used at all.

Within a user kernel thread, tasks behave cooperatively, that is, they decide when to suspend themselves and let the next waiting task take over (see Task Switching). This behavior can lead to a single task blocking all other tasks in the same user kernel thread.

To distribute tasks optimally to the user kernel threads, the database system performs internal load balancing. In so doing, the database system ensures better distribution of resources - in particular on computers with multiple processors - and shorter response times for individual users.

To configure the maximum number of processors that are used in parallel, use the MAXCPU general database parameter.

Activities

In load balancing, the timer (special thread) distributes the tasks to the individual user kernel threads. At regular intervals, the timer analyzes how long the individual tasks have been waiting in the user kernel threads (see Overview of the Task States) and adds up these wait times for each user kernel thread.

If the total of the wait times in one user kernel thread is much greater than in another, then the timer has the task that has been waiting the longest in the first user kernel thread moved to the second user kernel thread.

To activate load balancing, set the LOAD_BALANCING_CHK special database parameter to a value greater than null.

Example

User kernel thread UKT1 contains tasks T1, T2, T3, UKT2 contains task T4. T1 is in a long loop, whereas T2 and T3 are waiting.

The total of the wait times in UKT1 is 210 ms, in UKT 2 it is only 10 ms. This is why T2, which has been waiting the longest in UKT1, is moved to UKT2.

This graphic is explained in the accompanying text

See also:

Process Structure


Overview of Special Threads (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Overview of Special Threads

Use

Special threads provide services for the user kernel threads.

Overview of Special Threads

Name

Description

Coordinator

The coordinator thread monitors all threads in the database instance. It is the first thread that the database instance creates when it is started and coordinates the start operations of the other threads. If an error occurs, the coordinator thread can stop other threads.

Requester

The requester thread accepts user logons to the database instance and assigns them to a user task within a user kernel thread.

Console

The console thread processes the requests of the XCONS database tool (database console).

Clock

Only for Microsoft Windows

The clock thread sets a global time variable with which internal time measurements are aligned.

dev<n>

Dev threads are responsible for carrying out write and read requests of the tasks in the volumes.

The dev threads are numbered sequentially (dev<n>). Dev thread dev0 has a special role: it coordinates and monitors the other dev threads.

The number of dev threads is primarily dependent on the number of volumes in the database instance. The database system activates two dev threads for each data volume and each log volume. If the database trace is on, the database system activates a dev thread for it as well.

asdev<i>

To perform data backups, the database system activates temporary dev threads asdev<i> for reading and writing the data.

Timer

Timer threads are responsible for monitoring the time for timeouts, for internal load balancing and for other time-dependent internal controls.

Worker

The worker thread is responsible for reporting completed asynchronous I/O operations.

Activities

To display information about threads, use the Database Manager or XCONS or in SAP systems the database assistant or liveCache assistant. See:

· Database Manager GUI, Displaying Database Sessions

· Database Manager CLI, Displaying Information About the Database Instance

· XCONS documentation

· Database Administration in CCMS: MaxDB, Structure link Kernel Threads

· Database Administration in CCMS: SAP liveCache Technology, Structure link Kernel Threads

See also:

Process Structure


Creating and Configuring a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Creating and Configuring a Database Instance

Purpose

To create and configure a database instance, you can use either the Installation Manager or the Database Manager database tool.

Prerequisites

If you use the Database Manager to create a database instance, you first have to install the database software (see the Installation Manual).

Process Flow

...

1. You plan your database instance. Note the tips for creating and configuring a database instance.

2. You create the database instance. At the same time you configure the database instance by defining directories for the data and log areas, selecting values for the database parameters and creating the first users, among other things.

Note the conventions for database names and the technical restrictions.

See:

¡ Installation Manual, Using the Installation Manager

¡ Database Manager GUI, Creating a Database Instance

¡ Database Manager CLI, Example: Creating and Configuring a Database Instance

The database system has created the database instance and transferred it to the ONLINE operational state.

3. You can configure the operating system and database instance so that the database instance is automatically set to the ONLINE operational state when the computer is started (Automatic Start).

4. You can change the configuration of the database instance at a later date by using the Database Manager to change the values of the database parameters.

See also:

Configuration Files

Overview of the Database System

Users, Authentication and Authorizations


Tips for Creating and Configuring a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Tips for Creating and Configuring a Database Instance

The speed with which the database system can read data from the volumes and write data to the volumes has a significant influence over the performance of the database instance. To achieve good I/O performance when you later operate the database instance, use the following tips when you create and configure a new database instance.

· If you are operating several database instances, then create each database instance on a separate computer.

· Use different disks for data volumes and for log volumes. As the database system logs all data changes in the log volumes, the log volumes are the areas of the database instance with the highest write activity.

· For swap and paging areas, use different disks than for the log volumes.

· Mirror the log area and the data area using hardware-based means, for example by using RAID-5 or RAID-1 systems. When you select the RAID system, note that the RAID Controller has a good write performance and that caches can still be saved to disk even when there is a power outage.

· Even if you are using RAID-5 systems, create several data volumes for the database instance. Because some of the database system’s parallelization techniques depend on the number of data volumes, you can improve performance if you use several data volumes instead of one data volume.

· If you are using several disks for the volumes, use disks with standardized performance data, in particular standardized access speeds. This is the only way to ensure that the disks are filled evenly.

· If you are using fault-tolerant hardware, then expand the capacity only using the same type of hardware. For example, expand RAID-5 systems with RAID-5 systems only.

· Do not create log volumes on RAID-5 systems, but only on dedicated disks or on RAID-1 systems.

· On UNIX systems, use raw devices for data and log volumes. Accessing data in raw devices is usually faster than accessing data in files.

· Choose suitable log settings for your database system:

¡ If hardware-based mirroring of the log area is not possible, then configure the log mode so that the database system mirrors the log area.

¡ Switch off the overwrite mode for the log area.

¡ Always leave the redo log management switched on.

See also:

Creating and Configuring a Database Instance

Tips on Database Design


Conventions for Database Names (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Conventions for Database Names

When you create a database instance, you define the name of the database instance (database name). The following restrictions apply:

· The maximum length of a database name is 8 characters.

· The database name may only contain characters from the 7-Bit ASCII character set.

· The database name must not begin with an underscore or a period.

· When you create a database instance, the database system automatically changes all lowercase letters in the database name into uppercase letters.

See also:

Creating and Configuring a Database Instance

Overview of the Database System


Technical Restrictions (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Technical Restrictions

The following table lists the most important technical restrictions that apply to MaxDB database instances. There can be additional restrictions depending on the operating system that is used.

Technical Restrictions for a Database Instance

Description | Maximum Value
Number of data volumes | 4095 2 (VOLUMENO_BIT_COUNT) -1
Size of a data volume | 512 GB Page size x (2 (32-VOLUMENO_BIT_COUNT) -1)
Number of log volumes | No restrictions
Size of a log volume | 32 TB
Total size of the database instance (data area + log area) | 64 TB

The database system accesses data pages in the data volumes using their converter block address. The converter block address is 32 bits long and consists of the volume number and the offset in the data volume. The larger you set the special database parameter VOLUMENO_BIT_COUNT, the more data volumes you can use. The maximum permitted size of the individual data volumes is reduced accordingly. The following apply: 6 ≤ VOLUMENO_BIT_COUNT ≤ 12 and page size = 8 KB.

The database system handles the log area as a single entity. As a rule, you first configure a log volume. If this log volume is too small, you can either increase the size of this log volume (requires the database instance to be restarted) or insert an additional log volume (this can be done in the ONLINE operational state).

See also:

Creating and Configuring a Database Instance

Reference Manual, Restrictions for SQL Statements


Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Database Parameters

Definition

Database parameters define fundamental properties of the database instance.

The following types of database parameters exist:

· General Database Parameters

· Special Database Parameters

· Support Database Parameters

· liveCache Database Parameters (for SAP liveCache database instances only)

Database parameters have a range of properties (see Properties of Database Parameters).

Default Parameter File

The default parameter file cserv.pcf (see Configuration Files) contains the default values, value ranges, calculation formulas and properties of the database parameters. The default parameter file and a database parameter file (initially filled with the default values) are installed with the database instance. When a user changes a database parameter, the database system saves the new value for the database parameter in the database parameter file.

Use

When creating a new database instance, you can use the system default for the database parameters, use the database parameters from a different database instance, or else import database parameters from a complete data backup. You can change the values of most database parameters later.

Changes to database parameters do not take effect until the database instance is restarted.

With the Database Manager CLI, you can change some database parameters even while the system is running.

The database system saves the values of the database parameters in binary format in the database parameter file of the database instance. To display or change the database parameters, use the Database Manager or, in SAP systems, the CCMS:

· Database Manager GUI, Displaying and Changing Database Parameters

· Database Manager CLI, Configuring Database Instances

· Database Administration in CCMS: MaxDB, Structure link Parameters

· Database Administration in CCMS: SAP liveCache Technology, Structure link Parameters

You can also use these tools to display the history of the values of the database parameters.

See also:

Creating and Configuring a Database Instance


General Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Function documentation General Database Parameters

Use

The following overview describes the general database parameters. For more information about other database parameters, see Special Database Parameters, Support Database Parameters and liveCache Database Parameters.

Changes to database parameters do not take effect until the database instance is restarted.

With the Database Manager CLI, you can change some database parameters even while the system is running.

General Database Parameters

Parameter

Meaning

How can I change this Parameter?

CACHE_SIZE

Size of the I/O buffer cache (in pages)

Restart required after change

INSTANCE_TYPE

Database instance type

You define the database instance type when you create the database instance and cannot change it later.

Parameter cannot be changed

KERNELVERSION

Version of the database software

When you install a new version of the database software, the database system updates the value of this parameter.

Parameter cannot be changed

LOG_MIRRORED

Specifies whether the database system mirrors the log area (Log Mode)

This parameter is relevant only when you create a mirror volume with the Database Manager CLI. The Database Manager GUI automatically sets this parameter when a mirror volume is created.

Restart required after change

LOG_SEGMENT_SIZE

Size of a log segment (in pages).

If automatic log backup is active, the database system automatically performs a log backup as soon as a log segment is full.

Restart required after change

MAXBACKUPDEVS

Maximum number of files or tape devices in a group of parallel backup media

Restart required after change

MAXCPU

Maximum number of processors to which the database system can distribute user tasks.

Note that your computer’s operating system resources have to be available for other processes as well as the database system.

Restart required after change

MAXDATAVOLUMES

Maximum number of data volumes

Restart required after change

MAXLOCKS

Maximum number of entries in the lock list

Restart required after change

MAXLOGVOLUMES

Maximum number of log volumes

Restart required after change

MAXUSERTASKS

Maximum number of user tasks that are active at the same time and therefore the maximum number of database sessions.

If this number has been reached, then no other user can log on to this database instance. If you choose a very high value for MAXUSERTASKS, the database system requires a lot of address space, particularly for local communication via shared memory.

Restart required after change

MCOD

MCOD = Multiple Components One Database

In SAP systems, indicates if other applications use the database

Restart required after change

RUNDIRECTORY

Run directory of the database instance

Restart required after change


Special Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Special Database Parameters

Use

The following overview describes the special database parameters. For more information about other database parameters, see General Database Parameters, Support Database Parameters and liveCache Database Parameters.

Changes to database parameters do not take effect until the database instance is restarted.

With the Database Manager CLI, you can change some database parameters even while the system is running.

Special Database Parameters (Extended)

Parameter

Meaning

How can I change this Parameter?

_COMMENT

Description of the database instance

Restart required after change

_DATA_CACHE_RGNS

Number of critical sections into which the data cache is divided

This division enables parallel writing to the data cache. The parameter is calculated by the database system and cannot be changed. You can override the parameter for testing purposes, however, using the XP_DATA_CACHE_RGNS support database parameter.

Parameter cannot be changed

_MAX_MESSAGE_FILES

Maximum number of trace files that can be open simultaneously

Restart required after change

_MAXEVENTS

Maximum number of events stored in the working memory by the kernel that are to be processed by the Database Manager

Restart required after change

_ROW_RGNS

Number of critical sections into which the total of all rows are divided in the lock list

This division enables parallel access to the lock list.

Restart required after change

_TAB_RGNS

Number of critical sections into which the total of all tables in the lock list are divided

This division enables parallel access to the lock list.

Restart required after change

_TRANS_RGNS

Number of critical sections into which the total of all transactions in the lock list are divided

This division enables parallel access to the lock list.

Restart required after change

_UNICODE

Defines whether the database system uses UNICODE as the character set

You define this database parameter when you create the database instance. Afterwards you can only change the database parameter by re-initializing the database instance. However, in doing so you lose all application data.

AUTO_RECREATE_BAD_INDEXES

Indexes marked as BAD are recreated automatically after a restore.

Restart required after change

BACKUP_BLOCK_CNT

Block size used by the database system when writing to backup media

Only useful for tapes that have an optimal block size

Restart required after change

CAT_CACHE_SUPPLY

Memory size of the catalog cache for all user tasks (in pages)

Restart required after change

CONVERTER_REGIONS

Number of critical sections into which the converter is divided

This division enables parallel writing to the converter.

The parameter is calculated by the database system and cannot be changed. You can override the parameter for testing purposes, however, using the XP_CONVERTER_REGIONS support database parameter.

Restart required after change

DATE_TIME_FORMAT

System default for the date and time format

Each user can define the date and time format for a session by making corresponding entries in the database tool (such as in the Loader using standard_date_mask) or by making corresponding entries in SQL statements (datetimeformat). See Date and Time Format.

Parameter can be changed with the Database Manager CLI while in operation

DEADLOCK_DETECTION

Maximum search level for deadlock detection

Any deadlocks that the database system does not detect at this search level are only resolved by the parameter REQUEST_TIMEOUT.

Restart required after change

DEFAULT_CODE

System default for the code attribute, applies only to the column values of the data types CHAR[ACTER], VARCHAR and LONG[VARCHAR].

Parameter can be changed with the Database Manager CLI while in operation

DIAG_HISTORY_NUM

Number of histories in the <diag_history_path> directory

Restart required after change

DIAG_HISTORY_PATH

Directory <diag_history_path> in which the database system saves diagnosis files (backups of the most important log files and memory dumps) after a database error

Restart required after change

FILEDIR_SPINLOCKPOOL_SIZE

Number of spinlocks available for directory reader and writer lock operations

Restart required after change

FORMAT_DATAVOLUME

Suppresses the formatting of data volumes when a new database instance is created; only useful for test purposes

Restart required after change

FORMATTING_MODE

The database system formats the volumes when the database instance is created. With this parameter, you define the type of formatting. Parallel formatting is only useful for data volumes of the file type which are located on different hard disks.

Restart required after change

HASHED_RESULTSET

Specifies whether the database system, using a hash procedure, optimizes result sets that result from the execution of a join

Parameter can be changed with the Database Manager CLI while in operation

HASHED_RESULTSET_CACHESIZE

Maximum size of the working memory that the database can use for result sets that are optimized with a hash procedure (in KB)

Parameter can be changed with the Database Manager CLI while in operation

HIRES_TIMER_TYPE

Type of time measurement that is used by the kernel for internal operations; only useful for multiprocessor computers on which there can be synchronization problems between the CPUs

Restart required after change

HS_DELAY_TIME_<NNN>

Only for hot standby systems

Delay in seconds until the standby instance NNN redoes the changes in the master instance

Restart required after change

HS_NODE_<NNN>

Only for hot standby systems

Computer name / IP address of the hot standby instance NNN

The default value for the master instance is HSS_NODE_001.

Restart required after change

HS_STORAGE_DLL

Only for hot standby systems

Name of the library through which the hot standby system addresses the memory management system

The default value is libhsscopy.

Restart required after change

HS_SYNC_INTERVAL

Only for hot standby systems

Minimum time span between two commands of the master instance to synchronize the standby instances

Restart required after change

JOIN_MAXTAB_LEVEL4

Parameter of the SQL Optimizer; see JOIN_SEARCH_LEVEL

Parameter can be changed with the Database Manager CLI while in operation

JOIN_MAXTAB_LEVEL9

Parameter of the SQL Optimizer; see JOIN_SEARCH_LEVEL

Parameter can be changed with the Database Manager CLI while in operation

JOIN_SEARCH_LEVEL

Algorithm used by the SQL Optimizer for the join sequence search; see Database Parameter JOIN_SEARCH_LEVEL

Parameter can be changed with the Database Manager CLI while in operation

JOIN_TABLEBUFFER

Size of the buffer that the SQL Optimizer can use for each join step for a read operation

Restart required after change

KERNELDIAGSIZE

Size of the log file knldiag (in KB)

Restart required after change

LOAD_BALANCING_CHK

Time interval in which the database system checks whether load balancing is useful (in s)

Restart required after change

LOG_BACKUP_TO_PIPE

Specifies whether a log backup in pipes is allowed

NO: After a log backup has been exported to a pipe, the connection to the pipe is then closed without the database receiving any information on whether the log backup was successful. As a result, the log area is not released and cannot be overwritten, in which case it may become full and further data changes impossible.

YES: Note that in the case of a failed log backup, the corresponding log entries in the log area may already have been overwritten, in which case you would not be able to restore the database completely after a crash.

Restart required after change

LOG_IO_QUEUE

Size of the log queue (in pages)

Restart required after change

LOG_QUEUE_COUNT

Number of log queues

=0: Number calculated from the MAXCPU parameter

>0: Value of the USED_LOG-QUEUE_COUNT parameter is adopted

Restart required after change

LRU_FOR_SCAN

Specifies whether the whole data cache is used for scans

Parameter can be changed with the Database Manager CLI while in operation

MAX_HASHTABLE_MEMORY

Maximum size of the working memory that the database system can use to cache all tables when executing joins (in KB)

Parameter can be changed with the Database Manager CLI while in operation

MAX_SINGLE_HASHTABLE_SIZE

Maximum size of the working memory that the database system can use to cache a single table when executing a join (in KB)

Parameter can be changed with the Database Manager CLI while in operation

MAXRGN_REQUEST

Maximum number of attempts a task should make to access a region

If this number is exceeded, the task releases the access to the CPU for a different task of the same user kernel thread.

Parameter can be changed with the Database Manager CLI while in operation

MAXSERVERTASKS

Number of server tasks

Restart required after change

MEM_ENHANCE_LIMIT

Maximum additional memory to be used, which is possible through a Memory Scalability Enhancement for example (in MB)

Restart required after change

MEMORY_ALLOCATION_LIMIT

Maximum memory to be used by the database instance (in KB)

Restart required after change

MP_RGN_LOOP

Maximum number of times a task may attempt to access a critical section that has been locked by another task

If this number is exceeded, the accessing task changes its state to “Waiting”.

Parameter can be changed with the Database Manager CLI while in operation

OFFICIAL_NODE

Only for hot standby systems

Virtual server name by which the cluster is addressed from outside

The system administrator initially assigns the virtual server name to the computer on which the master instance of the hot standby system is located. If the master instance breaks down, then the name transfers to the standby instance, which takes on the master role.

Restart required after change

OPTIM_INV_ONLY

Defines whether the SQL Optimizer uses the index-only strategy for joins

Parameter can be changed with the Database Manager CLI while in operation

OPTIM_MAX_MERGE

Influences the decision as to whether the SQL Optimizer uses an index-merge strategy

If the number of pages of an index that need to be merged exceeds the value specified in OPTIM_MAX_MERGE, the SQL Optimizer does not use this index for an index-merge strategy.

Parameter can be changed with the Database Manager CLI while in operation

OPTIMIZE_QUERYREWRITE

Automatic Transformation of SQL Statements

Default value for software versions >= 7.6: OPERATOR (the database system transforms SQL statements).

To activate the old transformation behavior (versions < 7.6) choose STATEMENT.

Parameter can be changed with the Database Manager CLI while in operation

REQUEST_TIMEOUT

Maximum wait for a lock to be released (in s); for all database sessions, limits wait times for a lock to be released by another user.

If a lock request cannot be satisfied within the time defined here, a message is sent to the waiting database session. The database system rolls back any changes previously executed within the transactions (ROLLBACK).

Restart required after change

SEQUENCE_CACHE

Size of the sequence cache (in pages)

Restart required after change

SESSION_TIMEOUT

Timeout value for database sessions (in s)

Parameter can be changed with the Database Manager CLI while in operation

SHAREDSQL

Activating Shared SQL

Parameter can be changed with the Database Manager CLI while in operation

SHAREDSQL_COMMANDCACHESIZE

Maximum size of the Shared SQL cache (in KB)

Restart required after change

SHAREDSQL_EXPECTEDSTATEMENTCOUNT

Expected number of SQL statements to be stored in the shared SQL cache

Restart required after change

TRACE_PAGES_<task>

Maximum number of pages that are available in the individual task types for each user kernel thread

Each user kernel thread has its own trace area in the main memory.

<task> can have the following values: BUP (Backup Task, not yet implemented), EV (Event Task), GC (Garbage Collector), LW (Log Writer), PG (Pager), SV (Server Task), TI (Timer Task), US (User Task), UT (Utility Task)

Restart required after change

USED_LOG_QUEUE_COUNT

See LOG_QUEUE_COUNT

Restart required after change

VOLUMENO_BIT_COUNT

Number of bits in the converter block address that are reserved for the logical volume number of a data volume

Permitted values: 6 ≤ VOLUMENO_BIT_COUNT ≤ 12 (see Technical Restrictions)

We recommend that you do not change the value that was selected when the database instance was created. If you change the database parameter when the database is running, you then have to restore the database instance to update the data volume numbering.

Restart required after change

XP_CONVERTER_REGIONS

Overriding the parameter CONVERTER_REGIONS

Restart required after change

XP_DATA_CACHE_RGNS

Overriding the parameter _DATA_CACHE_RGNS

Restart required after change

XP_MAXPAGER

Overriding the parameter MAXPAGER

Restart required after change


Support Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Support Database Parameters

Use

Most support database parameters are for troubleshooting. In normal operation, it is not necessary to change the support database parameters. Changing support database parameters requires very detailed knowledge of the database system. For information about other database parameters, see General Database Parameters, Special Database Parameters and liveCache Database Parameters.

Changes to database parameters do not take effect until the database instance is restarted.

With the Database Manager CLI, you can change some database parameters even while the system is running.

Support Database Parameters

Parameter

Meaning

How can I change this Parameter?

_BACKUP_HISTFILE

Name of the history file for data and log backups

Parameter cannot be changed

_BACKUP_MED_DEF

Name of the file containing the definitions of the backup media

Parameter cannot be changed

_EVENTFILE

Name of the file in which the database system logs events

Restart required after change

_EVENTFILE

Size of the file in which the database system logs events

The database system overwrites this file cyclically.

Restart required after change

_IDXFILE_LIST_SIZE

Number of temporary intermediate result files in the case of parallel indexing

The database system indexes large tables using multiple server tasks. These server tasks write their results in temporary files. When the number of these files reaches the value of this parameter, the database system has to merge the files before it can generate the actual index. This results in a decline in performance.

Restart required after change

_IOPROCS_PER_DEV

Number of threads that the database system can use for asynchronous I/O operations (per data volume and system)

Restart required after change

_KERNELDIAGFILE

Name of the log file of the kernel

Restart required after change

_KERNELDUMPFILE

Name of the dump file that is written by the kernel when the system crashes

To this file, the database system writes, among other things, the contents of the data cache and the converter. Size your system so that sufficient memory space is available for this file (approximately CACHE_SIZE + 10%). Note also parameter DIAG_HIST_NUM.

Restart required after change

_KERNELTRACEFILE

File in which the kernel writes the trace entries

The kernel only writes trace entries if you previously activated the database trace.

Restart required after change

_MAXEVENTTASKS

Maximum number of event tasks

The database system uses event tasks both for Event Dispatcher and for the DBM commands event_wait, event_receive, event_available, auto_extend and auto_update_statistics. These commands can be active simultaneously for this database instance.

The default value of the Database Manager for this parameter is 2.

Restart required after change

_MAXTASK_STACK

Size of the stack that is used by the user tasks

Restart required after change

_MINREPLY_SIZE

Minimum size of the memory that is available in a package (shared memory segment) for the reply

0: For the application as well as for the kernel, the whole package is available for the request/reply.

Restart required after change

_MULT_IO_BLOCK_CNT

Block size used for writing data pages from the data cache to the data area and for writing log pages from the log queue to the log area

The optimum block size depends on the hardware and software that is used.

Restart required after change

_PACKET_SIZE

Size of the packages (shared memory segments) into which SQL statements and data are transmitted

A package consists of a request part and a reply part.

Restart required after change

_READAHEAD_BLOBS

Number of pages from which large LONG values are imported in advance by additional server tasks

If a LONG value is too large to be transferred to the client in a single request package, the database system splits it into several request packages. To increase performance, server tasks can import further parts of the LONG value while the first request package is being sent.

Parameter can be changed with the Database Manager CLI while in operation

_RESTART_TIME

Minimum time between two savepoints (in seconds); corresponds to the time that is required for a restart after a system crash

Beyond this, the database system always writes a savepoint in the following cases:

· When you have created an index

· When the number of pages released by a savepoint is larger than the number of free blocks in the data volumes

Restart required after change

_RTEDUMPFILE

File in which the kernel writes information about the runtime environment if the system crashes

Restart required after change

_SERVERDB_FOR_SAP

Specifies whether the database instance is being used in an SAP system

Parameter can be changed with the Database Manager CLI while in operation

_TASKCLUSTER_01 to _03

These parameters describe how the database system distributes user tasks to the threads. Only change these parameters after consulting support.

Restart required after change

_USE_ASYNC_IO

Specifies whether operating system functions or special I/O threads are used for asynchronous I/O operations

Restart required after change

_USE_IOPROCS_ONLY

YES: I/O operations are executed only by special I/O threads

NO: the kernel decides whether a task is to execute an I/O operation itself or give the I/O operation to a special I/O thread

Parameter can be changed with the Database Manager CLI while in operation

ALLOW_MULTIPLE_SERVERTASK_UKTS

Specifies whether the database system distributes the server tasks to the available user kernel threads or if they all run in the same user kernel thread

Restart required after change

ENABLE_SYSTEM_TRIGGERS

Defines whether system triggers are called when the database is restarted

Restart required after change

EXPAND_COM_TRACE

Specifies whether memory space is reserved when COM trace files are created

Restart required after change

INIT_ALLOCATORSIZE

Initial size of the main memory that is reserved at the start of a database session

Restart required after change

LOAD_BALANCING_DIF

Only for load balancing; specifies by how much longer the task to be moved had to wait in its user kernel thread than the task that has been waiting the longest in the target user kernel thread (as a percentage)

Restart required after change

LOAD_BALANCING_EQ

For load balancing; specifies which time delay should be regarded as equal when comparing waiting tasks (as a percentage)

Restart required after change

MAX_SERVERTASK_STACK

Maximum size of the stack that is used by the server tasks

Restart required after change

MAX_SPECIALTASK_STACK

Maximum size of the stack that is used by special tasks (all except user tasks and server tasks)

Restart required after change

MAXPAGER

Maximum number of pagers; calculated by the database system from MAXDATAVOLUMES, among other parameters

Not changeable

You can override this parameter with XP_MAXPAGER.

MAXVOLUMES

Maximum number of data and log volumes including mirrored volumes; calculated by the system

Restart required after change

MINI_DUMP

Defines whether the system writes the memory dumps knlmini.dmp and srvmini.dmp (for postmortem debugging) and how much information these dumps contain

DISABLED: the system does not write any memory dumps

NORMAL (default value): the system writes all stacks and system handle information in the memory dump

FULL: the system writes all stacks and data segments in the memory dump

Restart required after change

OMS_STREAM_TIMEOUT

Maximum wait time for all database sessions that may elapse until the reply to an OMS stream request to a client (in seconds)

Parameter can be changed with the Database Manager CLI while in operation

OPTIM_CACHE

Defines whether the database system determines the search strategy only once or every time it executes a parsed SQL statement

For prepared statements with parameters, it may be sufficient to determine the search strategy only once.

Parameter can be changed with the Database Manager CLI while in operation

OPTIMIZE_OPERATOR_JOIN

Defines whether the database system uses optimized join implementation (saves resources)

Parameter can be changed with the Database Manager CLI while in operation

SET_VOLUME_LOCK

Specifies whether the database system sets a lock when a volume is added, which prevents the same volume from being added again later

In the following cases it may make sense to set this parameter to NO:

· NFS-mounted volume

· Hot standby system

Restart required after change

SHOW_MAX_STACK_USE

Logs the maximum stack usage of each task in the kernel log

Only set this parameter to YES for diagnosis purposes as it compromises performance.

Restart required after change

SUPPRESS_CORE

Defines whether the database system suppresses core dumps of the kernel

Restart required after change

SYMBOL_DEMANGLING

Defines whether the database system performs C/C++ demangling

Restart required after change

UPDATESTAT_PARALLEL_SERVERS

Defines how many parallel server tasks the database system uses for updating the SQL Optimizer statistics

Value -1: update of statistics is done sequentially
Value 0: database system decides how many parallel server tasks should be used

Value n>0: database system uses a maximum of n parallel server tasks

Parameter can be changed with the Database Manager CLI while in operation

USE_SYSTEM_PAGE_CACHE

Defines whether the database instance uses the system page cache for buffering memory pages that are no longer required

Restart required after change


liveCache Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Function documentation liveCache Database Parameters

Use

The database system uses liveCache database parameters only for SAP liveCache database instances.

For more information about other database parameters, see General Database Parameters, Special Database Parameters and Support Database Parameters.

Changes to database parameters do not take effect until the database instance is restarted.

With the Database Manager CLI, you can change some database parameters even while the system is running.

Prerequisites

You use a SAP liveCache database instance.

Features

SAP customers can find a detailed description of the liveCache database parameters in SAP note 833216.

liveCache Database Parameters

Parameter

Meaning

How can I change this Parameter?

MIN_RETENTION_TIME

MAX_RETENTION_TIME

Defines (in minutes) when the garbage collectors start deleting the history data (undo log entries and links to them)

The garbage collectors start deleting the history data in the following cases:

· When the data area is more than 90% full, the garbage collectors delete all history data that is older than MIN_RETENTION_TIME.

· When the data area is less than 90% full, the garbage collectors delete all history data that is older than MAX_RETENTION_TIME.

See History Management.

Parameter can be changed with the Database Manager CLI while in operation

OMS_HEAP_COUNT

Defines whether the OMS heap is divided into segments

If the OMS heap is not subdivided, the internal heap memory management locks the entire OMS heap whenever a DB procedure requests or releases memory.

Restart required after change

OMS_HEAP_LIMIT

Defines the maximum size of the OMS heap (in KB)

Restart required after change

OMS_HEAP_THRESHOLD

Defines memory usage by the OMS heap (in %)

Restart required after change

OMS_VERS_THRESHOLD

Defines memory usage by the OMS heap (in KB)

Restart required after change

See also:

Structure link Database Administration in CCMS: SAP liveCache Technology documentation.


Properties of Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Properties of Database Parameters

Use

Beyond its current value, every database parameter also has other properties. These properties are defined in the default parameter file cserv.pcf (see Configuration Files).

Changes to database parameters do not take effect until the database instance is restarted.

With the Database Manager CLI, you can change some database parameters even while the system is running.

Properties of Database Parameters

Property | Permitted Values | Description
CASESENSITIVE | YES | NO | The database system observes lowercase and uppercase for the values.
CHANGE | NO | RUNNING | OFFLINE | Specifies whether and in which operational state the parameter can be changed NO = cannot be changed RUNNING = can be changed in the operational states ONLINE and ADMIN; new values are effective immediately OFFLINE = the new value only takes effect after a restart
CLEAR | YES | NO | Specifies whether the parameter can be adopted in a new database instance (e.g. NO for the parameter RUNDIRECTORY)
DEVSPACE | YES | NO | Type of parameter: YES = Volume parameter NO = Kernel parameter
DISPLAYNAME | Character string, may contain blank characters | Name for the parameter displayed in the Database Manager GUI
DYNAMIC | YES | NO | Specifies whether there are placeholders for the parameter (e.g. DATAVOL_?) in the default parameter file
GROUP | GENERAL | EXTENDED | SUPPORT | NO | TRACE | Group to which the parameter belongs: GENERAL: General Database Parameters EXTENDED: Special Database Parameters SUPPORT: Support Database Parameters NO: Parameter is not displayed in the Database Manager GUI TRACE: Parameter for the database trace, database check and monitoring
INSTANCES | LVC | OLTP | Database instance for which the parameter is relevant: LVC = SAP liveCache OLTP = OLTP (MaxDB) Not specified: Valid for all database instance types
INTERN | YES | NO | Specifies whether the value is required for internal calculations
LASTKNOWNGOOD |  | Last valid value (value that the parameter had the last time the database instance was started successfully)
MANDATORY | YES | NO | Specifies whether the parameter has to have a value (non-zero or not empty)
MAX |  | Maximum value
MIN |  | Minimum value
MODIFY | YES | NO | Specifies whether you can still change the parameter after the database instance has been created (e.g. NO for the parameter RUNDIRECTORY)
VALUESET | The individual values have to be separated from each other by blank characters or tabs. For character string parameters, the permitted character string constants have to be placed in quotation marks. | Value set

Example

As operator DBADMIN with the password SECRET, you use the Database Manager CLI to display the properties of the parameter RUNDIRECTORY for the database instance DEMODB:

dbmcli –d DEMODB –u DBADMIN,SECRET param_getproperties RUNDIRECTORY

OK

CHANGE OFFLINE

INTERN NO

MANDATORY YES

CLEAR YES

DYNAMIC NO

CASESENSITIVE YES

DEVSPACE NO

MODIFY YES

GROUP GENERAL

DISPLAYNAME

VALUESET

MAX

MIN

INSTANCES


Configuration files (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Configuration files

There are a number of configuration files for the database instances and database software. You can open most of the configuration files directly with a text editor.

To display configuration files that have a file ID, use the Database Manager database tool.

Note that file IDs are case-sensitive.

See:

· Database Manager GUI, Reading Database Files

· Database Manager CLI, Opening a Database File

For more information about the most important database directories, see Directories. For a list of the variables that are used for directory names in the documentation, see Variables and Examples.

Configuration Files of the Database Instance <database_name>

File Name | File ID | Description | Directory
<database_name> | PARAM | Binary parameter file with the database parameter values You can find information about the history of the database parameters in the log files section. | <independent_data_path>\config
cserv.pcf |  | Default Parameter File Contains the default values, value ranges, calculation formulas and properties of the database parameters See also Properties of Database Parameters | <dependent_path>\env
dbm.cfg | DBMCFG | Configuration files of the Database Manager for the database instance | Run Directory of the database instance: <independent_data_path>\wrk\<database_name>
dbm.mmm | DBMMDF | Definition of the backup media of the Database Manager for the database instance | <independent_data_path>\wrk\<database_name>

Other Configuration Files

File Name | Directory | Description
WebAgent<version>.ini | /usr/spool/sql/ini | UNIX/Linux only: Configuration file for the MaxDB Web Server and Web Tools
sdb | /etc/opt | UNIX/Linux only: Configuration file for the MaxDB software The installation program generates this file during installation of the database software You must not change this file.
loader.cfg | <loader_application_data>\config | Configuration file for the Loader See: Loader, Transport Mode
dbanalyzer<version>.cfg | <independent_program_path>\env | Configuration file for the Database Analyzer database tool

See also:

Directories

Creating and Configuring a Database Instance


Automatic Start (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Automatic Start

Use

You can also configure the operating system and database instance so that the database instance is automatically set to the ONLINE operational state when the computer is started. To do this, you set the Startup type to Automatic in the services for the kernel of the database instance.

Features

Microsoft Windows

You define whether a database instance will be started automatically when you create the database instance. See:

· Database Manager GUI, Creating a Database Instance

· Database Manager CLI, Creating a Database Instance

To configure automatic start later, use the Database Manager CLI. See:

· Database Manager CLI, Updating the Registration of a Database Instance

The X Server, which you need for network communication, is started automatically by the database system.

UNIX/Linux

On UNIX/Linux, you create a start script and generate symbolic links to it in the desired run-level directories. You can find more information about starting programs automatically in your operating system documentation.

Example

Example: Start Script for a Database Instance on Linux

See also:

Creating and Configuring a Database Instance

Overview of Services


Example: Start Script for a Database Instance (Linux) (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Start Script for a Database Instance (Linux)

Use

With the maxdb start script, the database instance DEMODB is automatically transferred to the ONLINE operational state when the computer is started and automatically switched to the OFFLINE operational state when the computer is turned off.

Depending on the operating system you are using, you may have to modify the start script.

Prerequisites

· You have created the database instance DEMODB and the DBM operator OLEG with the password MONDAY.

· You are in a root shell.

Procedure

...

    1.      Save the maxdb start script in the directory /etc/init.d

2. Go to the directory /etc/rc3.d

3. Create the following symbolic links:

ln -s ../init.d/maxdb K05maxdb

ln -s ../init.d/maxdb S18maxdb

maxdb Start Script

#! /bin/sh

# Copyright (c) 2001-2004 SAP AG, Germany.

#

# Author: <maxdb@lists.mysql.com>

#

# init.d/maxdb

#

# and symbolic its link

#

#

### BEGIN INIT INFO

# Provides: MaxDB

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 3 5

# Default-Stop: 0 1 2 6

# Description: Start MaxDB communication server.

### END INIT INFO

if [ -f /etc/rc.config ]; then

. /etc/rc.config

fi

# where to find x_server executable

IND_PROG_DBROOT=""

if [ -f /etc/opt/sdb ]; then

IND_PROG_DBROOT=`grep '^IndepPrograms=' /etc/opt/sdb | sed 's:IndepPrograms=::g'`

else

exit 5

fi

X_SERVER=$IND_PROG_DBROOT/bin/x_server

X_PATH=$IND_PROG_DBROOT/bin

MaxDB_BIN=$X_SERVER

test -x $MaxDB_BIN || exit 5

MaxDB_BIN=$X_PATH/dbmcli

test -x $MaxDB_BIN || exit 5

# find program fuser

FUSER=/bin/fuser

test -x $FUSER || FUSER=/sbin/fuser

test -x $FUSER || FUSER=/usr/sbin/fuser

# Shell functions sourced from /etc/rc.status:

# rc_check check and set local and overall rc status

# rc_status check and set local and overall rc status

# rc_status -v ditto but be verbose in local rc status

# rc_status -v -r ditto and clear the local rc status

# rc_failed set local and overall rc status to failed

# rc_reset clear local rc status (overall remains)

# rc_exit exit appropriate to overall rc status

#. /etc/rc.status

# First reset status of this service

#rc_reset

# Return values acc. to LSB for all commands but status:

# 0 - success

# 1 - misc error

# 2 - invalid or excess args

# 3 - unimplemented feature (e.g. reload)

# 4 - insufficient privilege

# 5 - program not installed

# 6 - program not configured

# 7 - program is not running

#

# Note that starting an already running service, stopping

# or restarting a not-running service as well as the restart

# with force-reload (in case signalling is not supported) are

# considered a success.

RETVAL=1

case "$1" in

start)

echo -n "Starting MaxDB services: "

if [ ! -z "$X_SERVER" ]; then

$X_SERVER start>/dev/null 2>&1

# to enable auto start/stop demodb remove following comments

DBMCLI=$X_PATH/dbmcli

if [ ! -x $DBMCLI ]; then

echo "dbmcli not found" >&2

exit 5

fi

$DBMCLI -d DEMODB << __EOD__ 2>&1 > /dev/null

user_logon OLEG,MONDAY

db_online

__EOD__

_test=`echo $_o | grep ERR`

if [ "$_test" = "" ]; then

echo -n " database DEMODB started"

else

echo "cannot start DEMODB: $_o" >&2

exit 7

fi

RETVAL=0

fi

touch /var/lock/subsys/maxdb

;;

stop)

echo -n "Shutting down MaxDB services: "

if [ ! -z "$X_SERVER" ]; then

# to enable auto start/stop demodb remove following comments

DBMCLI=$X_PATH/dbmcli

if [ ! -x $DBMCLI ]; then

echo "dbmcli not found" >&2

exit 5

fi

_o=`$DBMCLI -d DEMODB << __EOD__ 2>&1

user_logon OLEG,MONDAY

db_offline

__EOD__`

_test=`echo $_o | grep ERR`

if [ "$_test" = "" ]; then

echo -n "database DEMODB stopped"

else

echo "cannot stop DEMODB: $_o" >&2

exit 1

fi

$X_SERVER stop > /dev/null 2>&1

RETVAL=0

fi

rm -f /var/lock/subsys/maxdb

;;

status)

if [ ! -z "$X_PATH" ]; then

if [ -x $FUSER ]; then

_o=`$FUSER $IND_PROG_DBROOT/pgm/vserver`

if [ $? -eq 0 ]; then

echo "communication server is running"

# to enable auto start/stop demodb remove following comments

DBMCLI=$X_PATH/dbmcli

if [ ! -x $DBMCLI ]; then

echo "dbmcli not found" >&2

exit 5

fi

_o=`$DBMCLI -d DEMODB << __EOD__

user_logon OLEG,MONDAY

db_state

__EOD__`

_test=`echo $_o | grep ERR`

if [ "$_test" = "" ]; then

_state=`echo $_o | sed s/.*State\ *// | sed s/\ .*//`

echo "database DEMODB is $_state"

else

echo "cannot get state of DEMODB: $_o" >&2

fi

RETVAL=0

else

echo "communication server is not running"

RETVAL=0

fi

else

echo "status unkown - fuser not found" >&2

fi

else

echo "status unkown - x_server not found" >&2

fi

;;

restart)

$0 stop

$0 start

;;

reload)

$0 stop

$0 start

;;

*)

echo "Usage: maxdb {start|stop|status|reload|restart}"

exit 1

;;

esac

exit $RETVAL

See also:

Automatic Start


Administration (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Administration

Use

Whenever the database is in operation, you have to perform a series of regular administration tasks, such as data backups. In many cases, you can automate administration tasks.

There are also administration tasks that you have to perform in the case of certain events, such as restoring the database after a system failure.

Integration

The following database tools are available for managing database instances:

· Database Manager (Database Manager GUI and Database Manager CLI)

· CCMS (only in SAP systems)

Prerequisites

Creating and Configuring a Database Instance

Features

· Users, Authentication and Authorizations

· Backing Up and Restoring

· Exporting and Importing

· Replication and High Availability

See also:

Documentation for the Database Manager GUI

Documentation for the Database Manager CLI

Documentation Structure link Database Administration in CCMS: MaxDB

Structure link Database Administration in CCMS: SAP liveCache Technology documentation.

Documentation for the MaxDB Security Guide


Regular Administration Tasks (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Regular Administration Tasks

There are a number of administration tasks that you have to perform regularly in a production system.

If you are using the database instance in a production system, we recommend that you monitor the database instance (see Monitoring)

The following table is an example of scheduling regular administration tasks. Depending on how large you configured your database instance to be and how much of its capacity is in use, these administration tasks may need to be performed more or less frequently than in this example.

Example: Scheduling Regular Administration Tasks

Action

Occurrence

Remarks

Complete data backup

(see Backing up Data)

On each productive day

If you cannot or do not want to perform a complete data backup every day, then you should perform at least an incremental data backup on each productive day.

The more current the last data backup is, the fewer log entries the database system has to import again if you need to restore the database instance.

Archiving Version Files

Once a week

Only necessary for log backups on backup media of the File type

Interactive log backup

(See Backing up Log Entries)

Once a week

Only necessary if automatic log backup is switched off

We recommend that you activate automatic log backup. Log backups are the prerequisite for a complete backup history.

Check database structures

Once a week

We recommend that you check the database structures at times when the database load is low, or using a system copy.

Update SQL Optimizer Statistics

Once a week

See also:

Backing Up and Restoring

Administration


Automating Administration Tasks (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Automating Administration Tasks

Use

You can automate both administration tasks that must be executed regularly and those that are executed as needed.

Activities

The following options are available to you for automating administration tasks:

· Scheduler

You can use the scheduler to be scheduled DBM commands to execute at defined points in time. To do so, you create each DBM command to be executed as a job in the scheduler. The scheduler must be active for jobs to be executed.

See Database Manager CLI, Using the Scheduler

· Database events

You define a database event for a specific circumstance in the database instance. When this circumstance occurs, the event dispatcher executes a certain action, such as a DBM command or a command from another program.

See Overview of Database Events, Event Dispatcher and Database Manager CLI, Using Database Events

· Database triggers

You can use triggers to trigger actions in the database following certain data changes or a restart. See the Reference Manual, Trigger Name (trigger_name)

· Special DBM commands

¡ Extending the data area automatically

See Database Manager CLI, Extending the Data Area Automatically

¡ Automatic updating of the SQL Optimizer statistics

Database Manager CLI, Updating the Optimizer Statistics Automatically

· DBA planning calendar in CCMS

In SAP systems, you can automate regular administration tasks with the Structure link DBA Planning Calendar.

See also:

Automatic Start

Administration


Overview of Database Events (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Overview of Database Events

Use

The following types of events exist:

· Events that are always active and cannot be changed

· Events that you can activate/deactivate and change

Every event belongs to an event category.

Some events have one or more variable values (VALUE1, VALUE2) that the Event Dispatcher can evaluate. If VALUE1 and/or VALUE2 for an event are undefined (constant or random value without meaning for the user), then they are marked with a "-". If the database system does not issue a TEXT for an event, then this is also marked with a “-“.

Events that Are Always Active (Cannot Be Changed or Deactivated)

Event category

PRIORITY

VALUE1

VALUE2

TEXT

Description

ADMIN

LOW

-

-

-

The system sends this event when the database instance has been transferred to the ADMIN operational state.

AUTOSAVE

LOW

0 (The task that executes the automatic log backup has been started.)

1 (The task that executes the automatic log backup has been stopped.)

2 (Automatic log backup has been activated.)

3 (Automatic log backup has been deactivated.)

-

Only for VALUE1=1: File name of the backup medium

The system sends this message when the status of the automatic log backup changes.

BACKUPRESULT

LOW

-

-

-

Not yet implemented

CHECKDATA

LOW

-

-

Error number (if the system finds an error during the check)

0 (if the system finds no error)

The system sends this event when it has completed the database structure check (CHECK DATA or CHECK DATA WITH UPDATE).

DATABASEFULL

HIGH

-

-

-

The systems sends this event at regular intervals if the data area of the database instance is 100% full.

Note that the system only sends this event in the ONLINE operational state and during a restart of the database instance.

To continue operation, add a data volume.

ERROR

HIGH

Return value

-

Error text

The system sends this event when it has entered an error in the kernel log knldiag.

EVENT

LOW

-

-

-

The system sends this event when the event configuration has been changed.

LOGFULL

HIGH

-

-

-

The system sends this event when the log area of the database instance is 100% full.

To continue operation, execute a log backup.

LOGSEGMENTFULL

LOW

-

-

-

The system sends this event when a log segment of the log area is full.

ONLINE

LOW

-

-

-

The system sends this event when the database instance has been transferred to the ONLINE operational state.

OUTOFSESSIONS

MEDIUM

-

-

Out of Sessions

The system sends this event when all available user tasks are in use (no further users can log on to the database instance).

SYSTEMERROR

HIGH

-

-

Return value

The system sends this event when a serious system error has occurred (error messages -9000 through -9999).

UPDSTATWANTED

LOW

-

-

UPDATE STATISTICS WANTED

The system sends this event when the SQL Optimizer statistics for at least one table need to be updated.

Events that you can activate/deactivate and change

Event Category | PRIORITY | Value Range | VALUE1 | VALUE2 | TEXT | Description
DBFILLINGABOVELIMIT | HIGH (at fill level 95%, 96%, 97%, 98%, 99%) | MEDIUM | (at fill level 80%, 85%, 90%) LOW (at fill level 70%) | 0 ≤ n ≤ 99 | Number of used pages in the data area | Percentage of used pages in the data area | - | The system sends this event when the fill level of the data area exceeds the predefined value. In addition, for each time the fill level is exceeded by between 0% and 99%, you can define an event with its own priority. You can also override the priorities of the predefined events.
DBFILLINGBELOWLIMIT | LOW (default value; at fill level 70%, 80%, 85%, 90%, 95%) | MEDIUM | HIGH | 1 ≤ n ≤ 100 | Number of used pages in the data area | Percentage of used pages in the data area | - | The system sends this event when the fill level of the data area falls below the predefined value. In addition, for each time the fill level falls below the threshold by between 1% and 100%, you can define an event with its own priority. You can also override the priorities of the predefined events.
LOGABOVELIMIT | HIGH (at fill level 96%,97%,98%,99%) | MEDIUM (at fill level 90%, 95%) | LOW (at fill level 50%, 75%) | 0 < n < 100 | Number of used pages in the log area | Percentage of used pages in the log area | - | The system sends this event when the fill level of the log area exceeds the predefined value. In addition, for each time the fill level is exceeded, you can define an event with its own priority. You can also override the priorities of the predefined events.

Activities

Database Manager CLI,

· Displaying a List of Events and Statuses

· Displaying the List of Event Categories

See also:

Automating Administration Tasks

Database Manager CLI, Using Events of the Database Instance

Event Dispatcher documentation


Users, Authentication and Authorizations (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Users, Authentication and Authorizations

Use

Before you can work with the database system, you must log on to a database instance with a database tool or via an interface. When you log on, you identify yourself with a user name and authenticate your identity with the corresponding password.

The MaxDB database system differentiates between the following types of users:

· Database System Administrator (SYSDBA user)

· Database Manager operators (DBM operator)

· Database users

Overview of the Users of the Database System

This graphic is explained in the accompanying text

To keep unauthorized persons from learning the passwords of standard users, change the passwords of standard users.

After authentication, you can, within the scope of the authorizations assigned to the user, access the data in the database instance and use database tools.

To protect database resources from unauthorized access, MaxDB uses special operating system users and groups on UNIX and Linux.

To simplify the logon process, you can save the logon data with the XUSER program.

See also:

Database System Administrator (SYSDBA user)

Database Manager Operator (DBM operator)

Database User

Server Authorizations for the DBM Server

Conventions for User Names and Passwords

Administration


Database System Administrator (SYSDBA User) (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Database System Administrator (SYSDBA User)

Definition

The database system administrator (SYSDBA user) has all the rights that a database user of the DBA database user class can have, plus the following properties:

· The database system administrator is the owner of a number of system tables. When system tables are loaded, the load tool logs on to the database instance as database system administrator.

· The database system administrator has all the server authorizations that a Database Manager operator can have. The database system administrator can therefore manage database instances with the Database Manager.

· The database system administrator has owner rights over all database users. The database system administrator can create database users of any database user class and can also create Database Manager operators.

The data of the database system administrator is saved in the Database Manager and in the database instance.

Structure

The database system administrator has DBM operator properties, server authorizations and SQL user properties.

DBM Operator Properties

General | Description
Name | Name of the database system administrator
Password | Password of the database system administrator
Comment | Description of the database system administrator
Disabled | Specifies whether the user account of the database system administrator is locked
Enable Pwd | You can define a second password for the database system administrator. This way you can temporarily allow other people to work with the database system administrator (for example for support purposes) without the database system administrator having to reveal or change the original password.

Server Authorizations

Server authorizations (server rights) are authorizations for the DBM Server program and thereby for executing actions in the Database Manager (see the list of server authorizations for the DBM Server).

SQL User Properties

General

Description

Name

Name of the database system administrator

Password

Password of the database system administrator

User Class

Database user class (SYSDBA)

Connection Mode

NOT EXCLUSIVE: allows the database system administrator to open several database sessions simultaneously.

EXCLUSIVE: prevents the database system administrator from opening two different database sessions simultaneously.

Extended

Description

Timeout

Setting the timeout value

Cost Warning

Specifies the estimated SELECT cost value beyond which the user receives a warning. If a warning is issued, the user is asked whether he or she really wants to execute the SQL statement.

Cost Limit

Specifies the estimated SELECT cost value beyond which the SQL statement is not executed. This value must be greater than the Cost Warning value.

Default code

DEFAULT: The default value for the code attribute is defined by the database parameter DEFAULT_CODE.

ASCII: The default value for the code attribute is ASCII.

UNICODE: The default value for the code attribute is UNICODE.

Managing the Database System Administrator

The database system administrator (SYSDBA user) is the first database user that you create when you create a database instance with the Database Manager or the Installation Manager.

As of database version MaxDB 7.6, the default value for the name of the database system administrator is DBADMIN.

You can use the Database Manager or a suitable query tool to display or change the DBM operator properties, server authorizations and SQL user properties of the database system administrator.

· Database Manager GUI
Changing the DBM Operator Properties of the Database System Administrator
Changing the Password of the Database System Administrator
Changing the Server Authorizations of the Database System Administrator
Changing the SQL User Properties of the Database System Administrator

· Database Manager CLI
Displaying the DBM Operator Properties
Displaying the Server Authorizations
Changing the DBM Operator Properties

· Reference Manual
ALTER USER Statement (alter_user_statement)

See also:

Users, Authentication and Authorizations

Conventions for User Names and Passwords


Database Manager Operator (DBM Operator) (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Database Manager Operator (DBM Operator)

Definition

Database Manager operators (DBM operators) can log on to the Database Manager database tool and use its administration functions. Database Manager operators are not database users and consequently cannot log on to the query tools (such as SQL Studio) or the Loader.

Structure

Database Manager operators have DBM operator properties and server authorizations.

DBM Operator Properties

General | Description
Name | Name of the Database Manager operator
Password | Password of the Database Manager operator
Comment | Description of the Database Manager operator
Disabled | Specifies whether the user account of the Database Manager operator is locked
Enable Pwd | You can define a second password for the Database Manager operator. This way you can temporarily allow other people to work with the Database Manager operator (for example for support purposes) without the Database Manager operator having to reveal or change the original password.

Server Authorizations

Server authorizations (server rights) are authorizations for the DBM Server program and thereby for executing actions in the Database Manager (see the list of server authorizations for the DBM Server).

Managing Database Manager Operators

When you create a database instance with the Database Manager or the Installation Manager, the respective tool creates a first Database Manager operator that has the required DBM operator properties and all server authorizations.

The default value for the name of the Database Manager operator is DBM.

Database Manager operators can create, change or delete other Database Manager operators, if they have the respective server authorizations. If a Database Manager operator has the corresponding authorization, it can also display or change the DBM operator properties and server authorizations of another DBM operator.

You have the following options for displaying and managing Database Manager operators:

· Database Manager GUI
Creating/Changing/Deleting a Database Manager Operator
Changing the DBM Operator Properties
Changing the Password of a Database Manager Operator
Changing the Server Authorizations

· Database Manager CLI
Creating Database Manager Operators
Displaying the DBM Operator Properties
Displaying the Server Authorizations
Changing the DBM Operator Properties
Deleting Database Manager Operators

· Database Administration in CCMS: MaxDB, Structure link User Data

· Database Administration in CCMS: SAP liveCache Technology, Structure link User Data

See also:

Users, Authentication and Authorizations

Conventions for User Names and Passwords


Database User (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Database User

Definition

Database users can use SQL statements to work with data in the database instance. You can create and change database objects such as tables, views and indexes.

Database users can log on to the following database tools and programming interfaces:

· SQL Studio, Web SQL Studio and SQLCLI (query tools)

· Loader

· ODBC, JDBC, SQLDBC interfaces

Database users cannot perform database administration tasks with the Database Manager.

Structure

Database users have a range of SQL user properties.

SQL User Properties

General | Description
Name | Name of the database user
Password | Password of the database user
User Class | Database user class (DBA | RESOURCE | STANDARD)
Connection Mode | NOT EXCLUSIVE: allows the user to open several database sessions simultaneously. EXCLUSIVE: prevents the user from opening two different database sessions simultaneously.
Replication | REPLICATION: database user required for the synchronization with the Synchronization Manager
Extended | Description
Timeout | Setting the timeout value
Cost Warning | Specifies the estimated SELECT cost value beyond which the user receives a warning. If a warning is issued, the user is asked whether he or she really wants to execute the SQL statement.
Cost Limit | Specifies the estimated SELECT cost value beyond which the SQL statement is not executed. This value must be greater than the Cost Warning value.
Default code | DEFAULT: The default value for the code attribute is defined by the database parameter DEFAULT_CODE. ASCII: The default value for the code attribute is ASCII. UNICODE: The default value for the code attribute is UNICODE.

Every database user belongs to a database user class. The user classes are distinguished by the authorizations that their members have.

Database User Classes

Name | Properties
STANDARD | Access to data and database procedures that were defined by other database users and for which the user has been given privileges. Definition of view tables, synonyms and temporary tables
RESOURCE | Definition of data and database procedures Granting of privileges for these database objects to other database users
DBA (database administrator) | Creation of RESOURCE and STANDARD database users Definition of database objects Granting of all or part of privileges for these database objects to other database users

Managing Database Users

The database system administrator (SYSDBA user) can create database users of any database user class, including users of the DBA (database administrator) user class. Any database administrator can create users of the user classes RESOURCE and STANDARD.

You use SQL statements to create, manage and delete database users. You have the following options for managing database users:

· Use a suitable query tool (such as the SQL Studio) and enter SQL statements directly.
See: Reference Manual, Authorization

· Use the Database Manager GUI.
See: Database Manager GUI, Managing Database Users.

You can assign special roles to database users in the SAP system. See:

· Database Administration in CCMS: SAP liveCache Technology, Structure link Authorization Concept

· Database Administration in CCMS: MaxDB, Structure link Prerequisites

Creating, Changing, Deleting Database Users / Managing SQL User Properties

A database user of the database user class DBA or the database system administrator (SYSDBA user) can create, change or delete other database users and display or change the SQL user properties of those database users.

To do this, proceed as described in the following sections:

· Database Manager GUI
Creating/Changing/Deleting a Database User
Changing the SQL User Properties of a Database User
Changing the Password of a Database User

· Reference Manual
CREATE USER Statement (create_user_statement)
ALTER USER Statement (alter_user_statement)
DROP USER Statement (drop_user_statement)

· Database Administration in CCMS: MaxDB, Structure link User Data

· Database Administration in CCMS: SAP liveCache Technology, Structure link User Data

See also:

Users, Authentication and Authorizations

Conventions for User Names and Passwords


Server Authorizations for the DBM Server (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Server Authorizations for the DBM Server

Use

To execute DBM commands in the Database Manager, DBM operators require the corresponding authorizations for the DBM Server. These authorizations are called server authorizations and are stored in the Database Manager as the DBM operator property Server Rights. A server authorization may cover more than one DBM command and one DBM command may have more than one server authorization assigned to it.

Server Authorizations

Permissions | ID in the Database Manager GUI | ID in the Database Manager CLI
Accessing SQL sessions | Access to SQL session | AccessSQL
Accessing utility sessions | Access to utility session | AccessUtility
Performing backups | Saving backups | Backup
Accessing database files (read-only) | Database file access (read only) | DBFileRead
Displaying status information | Request status data | DBInfoRead
Starting the database instance | Start database instance | DBStart
Stopping the database instance | Stop database instance | DBStop
Executing the Loader Program | Execute the LOAD program | ExecLoad
Installation management | Installation management | InstallMgm
Loading the system tables | Load the system tables | LoadSysTab
Accessing database parameters (reading and writing; only those commands for changing parameters may be executed whose changes are checked with the default parameter file cserv.pcf) | Parameter access (checked write) | ParamCheckWrite
Accessing database parameters (reading and writing; all commands can be executed, even those for directly changing the parameter file without the changes being checked by the system) | Parameter access (read and write) | ParamFull
Accessing database parameters (read-only) | Parameter access (read only) | ParamRead
Restoring backups | Restoring backups | Recovery
Managing the Scheduler | - | SchedulerMgm
Scheduling DBM commands | - | Scheduling
Managing the shared memory |  | SharedMemoryAdmin
Executing operating system commands | Execute operating system commands | SystemCmd
Managing DBM operators | User management | UserMgm

See also:

Users, Authentication and Authorizations


Conventions for User Names and Passwords (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Conventions for User Names and Passwords

You are free to choose user names and passwords. The following restrictions do apply, however:

· User names may not have more than 18 characters.

· Passwords may not have more than 9 characters.

In addition, the following restrictions apply to the different MaxDB users.

Database System Administrator

The rules for the name and password of the database system administrator are the same as for DBM operators.

Do not choose SYSDBA as the user name. SYSDBA is a reserved SQL keyword.

See Database System Administrator (SYSDBA User).

Database Manager Operator (DBM Operator)

The user name and password are automatically converted into uppercase letters by the database system.

The following characters are permitted:

· First character:

A...Z, a...z, $, #, @

· Other characters:

A...Z, a...z, $, #, @, 0...9, _

Language-specific characters, such as ä, are not allowed.

When entering user names and passwords in the command line, you may have to mask individual special characters with an escape character. For more information, see the documentation for your shell.

In a Linux bash shell, user OLEG(password M$NDAY) logs on to the database instance DEMODB using the Database Manager CLI:

dbmcli -d DEMODB –u OLEG,M\$NDAY

In session mode in the Database Manager CLI, you do not have to mask special characters.

See Database Manager Operator (DBM Operator).

Database User

User names and passwords can have any character that is described in the following sections of the Reference Manual: User Name (user_name), Password (password).

The user name and password are automatically converted into uppercase letters by the database system. If the user name or the password contains lowercase letters and you do not want the database system to convert them into uppercase letters, you have to set the whole user name or the whole password in quotation marks.

To log on to a database instance as user MONA with the password REDusing the SQL Studio, enter the following information in the logon dialog box in the SQL Studio:

MONA

″Red″

When entering user names and passwords in the command line, you may have to mask certain special characters, such as $ or the quotation mark, with an escape character. For more information, see the documentation for your shell.

In a Linux bash shell, user MONA(password R$D) logs on to the database instance DEMODB using the SQLCLI:

sqlcli -d DEMODB -u MONA,R\$D

See Database Users.

See also:

Users, Authentication and Authorizations


Authentication (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Authentication

Use

The database system uses passwords to authenticate users.

For authentication, the database system uses a challenge/response procedure (SCRAM-MD5). This procedure ensures that no passwords are passed unencrypted between the client (database tool or interface) and the database instance.

This procedure only encrypts passwords. You can use SSL/TLS to encrypt the data transmission (see Data Encryption).

Prerequisites

Client and database instance use version 7.6 or higher of the database software.

If either the client or the database instance uses a lower version of the database software, the older, unencrypted authentication procedure is used.

See also:

Users, Authentication and Authorizations


Special Operating System Users and Groups (UNIX/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Special Operating System Users and Groups (UNIX/Linux)

Use

To protect database resources from unauthorized access, MaxDB uses special operating system users and user groups on UNIX and Linux.

· <sdb_user>

· <sdba_group>

· Support Group

Only these operating system users or members of these operating system groups have direct access to the database resources at the operating system level.

The operating system administrator root is only required for installing the database software, not for productive operation.

A SetUID root program is only required for a user change to <sdb_user>.

Overview of Special Operating System Users and Groups

Name

System Default Value

Type

User Rights

root

root

User

Installing the database software

Granting access rights to operating system users (by their group affiliation)

<sdb_user>

sdb

User

Owner of all database resources

<sdba_group>

sdba

Group

Creating database instances

Starting, stopping and updating the MaxDB X Server

Analysis and error handling

Support Group

sdb<database_name>

Group

Optional; support tasks

<os_user>

User

Normal operating system user

Accessing the database tool Database Manager (requires a valid DBM operator name and a password to log on to the database instance)

Accessing other database tools (e.g. Loader, SQLCLI), interfaces (ODBC, JDBC, SQLDBC) and all the database tools that use these interfaces (Database Analyzer, Web Tools); here a database user name and password are required

Starting the X Server

<sid>adm

User

SAP system administrator and database administrator in SAP systems

Member of the group <sdba_group>

sqd<sid>

User

Obsolete, not for liveCache database instances

Owner of all database resources

Activities

The installation program creates the special operating system users and groups during the installation of the database software. For more information, see the Installation Manual, Installing/Updating the Software on UNIX and the corresponding Installation Guide for SAP systems.

We recommend that you create the special operating system users and groups before installing the software. During the installation, they then receive the authorizations described here for accessing the database resources.

If you manage the operating system users and groups for your system centrally in the network, then you have to create them there before starting the installation. For information about how you create operating system users and groups, see your operating system documentation.

Which authorizations individual operating system users have for the database system depends on the operating system group they belong to. The operating system administrator is responsible for assigning operating system users to operating system groups. For local user administration, root is the operating system administrator; for user administration using Network Information Services (NIS) it is the NIS administrator.

See also:

Users, Authentication and Authorizations


<sdb_user> (Special Operating System User) (SAP Library - MaxDB Library)

 Entering content frame

Object documentation <sdb_user> (Special Operating System User)

Definition

On UNIX, the database system uses the special operating system user <sdb_user>. The system default for the name of <sdb_user> is sdb.

Use

<sdb_user> is the owner of the following database resources:

· Files and directories of the database software

· Database processes, such as the vserver process (MaxDB X Server)

· Volumes

· Backups

<sdb_user> was introduced so that there is a unique owner of the database resources, and so that other operating system users cannot have direct, unprotected operating system access to the database resources.

<sdb_user> is not intended for an administrator to log on to the operating system as this operating system user. Use any other operating system user for administration tasks.

For reasons of security, <sdb_user> must not be an interactive user. You can only install the database software when the user account for <sdb_user> is locked. If necessary, remove the authorization for <sdb_user> to log on to the operating system interactively. You can find information about this in your operating system documentation.

<sdb_user> has to belong to the following operating system groups:

· <sdba_group> (primary group)

· Support groups of all database instances

See also:

Special Operating System Users and Groups (UNIX/Linux)


<sdba_group> (Special Operating System Group) (SAP Library - MaxDB Library)

 Entering content frame

Object documentation <sdba_group> (Special Operating System Group)

Definition

On UNIX, the database system uses the special operating system group <sdba_group>. The system default for the name of <sdba_group> is sdba.

Use

The following database resources have the operating system group ID (GID) of <sdba_group>:

· Files and directories of the database software (such as user profile container)

· Database processes

· vserver process (MaxDB X Server)

· Volumes if there is no support group for the database instance

· Backups

Operating system users who perform administration tasks for the database system belong to the <sdba_group> operating system group. They can perform the following actions, among others:

· Create new database instances

· Start, stop and update the vserver

· Access the <independent_data>/wrk directory and its subdirectories

· Access the XCONS database tool

· Access volumes if there is no support group for the database instance

<sdba_group> is also the primary group for the special operating system user <sdb_user>.

See also:

Special Operating System Users and Groups (UNIX/Linux)


Support Group (Special Operating System Group) (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Support Group (Special Operating System Group)

Definition

On UNIX, the database system uses special operating system groups, the support groups. Defining a support group for a database instance is optional.

We recommend that you define a separate support group for each database instance.

The system default for the name of the support group for a database instance is <sdb<database_name>>, such as sdbdemodb for the DEMODB database instance. If you define a support group, you have to include the special operating system user <sdb_user> in this group.

Use

Operating system users who belong to the support group can execute support tasks without having to be a member of the <sdba_group> operating system group.

If there is a support group for a database instance, then the volumes receive the operating system group ID (GID) of the support group. Operating system users who belong to the support group can access the volumes directly, for diagnosis purposes, for example.

If you have defined a support group, but have not yet assigned any operating system users to it (empty support group), then operating system users cannot access the volumes directly.

If there is a support group for a database instance, then the user profile container also receives the GID of the support group. The user profile container is the file in which the DBM Server manages its rights. The directory and name of the user profile container: <independent_data>/config/<database_name>.upc.

See also:

Special Operating System Users and Groups (UNIX/Linux)


Backing Up and Restoring (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Backing Up and Restoring

Purpose

It is a good idea to back up the data and log entries from the data and log areas of your database instance on backup media on a regular basis.

If the database instance breaks down due to a hardware defect or a logical error, you can restore the database to a consistent state by importing the data and log entries that have been saved on the backup media.

If you have a lot of data to import, restoring the database instance can take a long time. Because restoring is done in the ADMIN operational state, the database instance is not available while the restore is ongoing. For information about how to make the database instance available for users more quickly, see the Replication and High Availability section.

You use the Database Manager for backing up and restoring.

The Database Manager supports the use of backup tools from other providers.

Process Flow

...

1. You make a plan of when you want to perform which backups. See Regular Administration Tasks.

We recommend that you test backing up and restoring on a test computer before starting your production system.

2. With the Database Manager, you define backup media.

3. You back up the data and log entries regularly during normal database operation. Backups can be done in the ONLINE operational state, so the database instance is available for users during the backup. See:

¡ Backing Up Data

¡ Backing Up Log Entries

Data exported with the Loader database tool is not a data backup. The data may not be consistent and is not suitable for restoring a database instance.

4. Check if the database instance carried out the backup successfully. See Monitoring.

5. If you use backup media of the file type (version files) for the backup, archive the version files regularly.

6. Using data and log backups, you can restore the database instance after a system breakdown.

Backup Process

This graphic is explained in the accompanying text

Example

Example: Backing Up and Restoring

See also:

Supported Backup Tools from Other Providers

Savepoint

Freezing the Data Area (Snapshot)

Exporting and Importing

Administration


Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Backup Media

Use

To back up data and log entries, you need backup media, such as tapes, to which the database system can write the backups and from which it can re-import them in case of system failure.

Prerequisites

To be able to use a backup medium for a database instance, you first have to create the corresponding definition of the backup medium with the Database Manager. See:

· Database Manager GUI, Creating a Single Backup Medium, Creating a Group of Parallel Backup Media

· Database Manager CLI, medium_put

· Database Administration in CCMS: MaxDB, Structure link Backup Media

· Database Administration in CCMS: SAP liveCache Technology, Structure link Backup Media

The Database Manager stores the definitions of the backup media in the file dbm.cfg. See Configuration Files.

Features

Backup media are always created for a particular backup type.

Types of Backup Media

Type of the Backup Medium | Usable for Backup Types | Remarks
File (FILE) | · Data backup · Automatic log backup · Interactive log backup | With automatic log backup, the database system writes the log entries in chronological order to sequentially numbered files (version files)
Tape (TAPE) | · Data backup | You can use an autoloader.
Pipe (PIPE) | · Data backup · Interactive log backup | The pipes for transferring the backup data are implicitly created by the Database Manager during the backup process. They must not be available beforehand.

The path specifications and properties of the tape device, tapes, or files are grouped together in the media definition of a backup medium under a freely definable, practical name. The backup media can be re-used for all possible backup operations under these names.

Recommendations and Restrictions

All Types

· If you operate multiple database instances on the same computer, define a separate backup medium for each database instance.

· Do not overwrite a backup with the backup that immediately follows it. Always keep an older version of the backup.

File Type

· Do not create backups on backup media of the file type on the same hard disk as the volumes of the database instance, but on a separate hard disk. To protect against data loss, regularly copy the backups to another computer using operating system commands.

· With the Database Manager, you can also create backups on backup media of the file type on a remote computer. Note that backing up directly to a remote computer is susceptible to transmission errors and is slower than a backup to the local computer.

Observe the following special points for Microsoft Windows networks:

¡ Before you create a backup medium on a remote computer, first start the database instance on the local computer using an operating system user name that exists on both computers. To do so, use the area Services ® Log On in the Microsoft Management Console. For more information, see the documentation for your operating system.

¡ To restore the database instance after an error, the database instance must have been started using an operating system user name that exists on both computers.

¡ Before you check a backup on a remote computer, for the service database instance, enter this operating system user in the area Services ® Log On in the Microsoft Management Console.

Tape Type

· Do not use tapes more often than is recommend by the manufacturer.

· UNIX

¡ Be sure to address the device driver correctly.

¡ Use a rewind tape for the data backup.

Pipe Type

· If you do are not using an external backup tool and want to execute interactive log backups in pipes, you first have to set the value of the special database parameter LOG_BACKUP_TO_PIPE to YES.

Activities

To manage the definitions of the backup media, use the Database Manager or, in SAP systems, the CCMS: See:

· Database Manager GUI, Managing the Backup Media

· Database Manager CLI, Backing Up and Restoring Database Instances

· Database Administration in CCMS: MaxDB, Structure link Backup Media

· Database Administration in CCMS: SAP liveCache Technology, Structure link Backup Media

To accelerate backing up and restoring, you can back up data to multiple backup media in parallel and likewise, when restoring, import in parallel from multiple backup media to the database instance. You configure the maximum number of backup media that you can use in a parallel backup with the general database parameter MAXBACKUPDEVS.

Regularly check whether your backups are intact. See:

· Database Manager GUI, Checking Backups

· Database Manager CLI, Checking Backups

See also:

Backing Up and Restoring

Supported Backup Tools from Other Providers


Backing Up Data (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Backing Up Data

Use

The database system stores the data in the database in the data area. If the data area has been damaged, for example due to a hard disk error, you need data backups to restore the data area. Therefore, you should regularly back up your data on backup media.

You can perform data backups in the ONLINE operational state.

In addition to the data backups, you may need backed-up log entries to restore the database instance to the desired state following damage to the data area (see Backing Up Log Entries).

Types of Data Backups

Name | Description
Complete data backup | You back up the entire data area.
Incremental data backup | You back up all data in the data area that has been changed since the last complete backup.

Prerequisites

· You have created a backup medium. See Backup Media.

· The database instance is the ONLINE or the ADMIN operational state.

Activities

You cannot start an incremental data backup during a complete data backup.

To back up data, use the Database Manager database tool, or the CCMS in SAP systems. See:

...

· Database Manager GUI, Backup Wizard

· Database Manager CLI, Backing Up the Database Instance

· Database Management in CCMS, Structure link Scheduling a Data Backup

These tools can use various types of backup media and various backup devices, including backup tools from other providers; see Supported Backup Tools from Other Providers.

See also:

Backing Up and Restoring


Backing Up Log Entries (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Backing Up Log Entries

Use

If, due to a system failure, the database system was not able to write the last data changes to the data area, after a restart it can repeat these last data changes with the redo log entries from the log area (see Using Log Entries for a Restart or Restore).

If the log area was damaged by the system failure, the database system can only restore the last database state if log backups are available on backup media. Therefore, back up the contents of the log area to backup media regularly.

You can perform log backups in the ONLINE operational state.

The database system can only overwrite saved segments of the log area with new redo log entries. If the database system cannot write any more redo log entries because the log area is full, the database shuts down. Exception: You have activated overwrite mode for the log area (see Log Settings).

When the log area gets full, execute a log backup.

Types of Log Backup

Name

Description

Automatic log backup

As soon as a log segment in the log area is full, the database system backs it up to a version file. Afterwards it releases the log segment in the log area to be overwritten.

We recommend automatic log backup in particular for database instances in which a large amount of data is changed and therefore a great number of redo log entries is expected.

Interactive log backup

With the Database Manager, you back up all redo log entries that the database system has written to the log area since the last log backup from the log area to a backup medium.

See also:

Backup Media

Supported Backup Tools from Other Providers

Prerequisites

· Automatic log backups are performed by the database system in the ONLINE operational state only.

· Interactive log backups can be performed in operational states ONLINE or ADMIN.

· To be able to perform a log backup, the current database instance has to have created at least one complete data backup.

· You have created a backup medium.

For automatic log backup, only version files are permitted as the backup medium.

Activities

To execute a log backup, use the Database Manager, or the CCMS in SAP systems. The programs support the use of different types of backup media and different devices, including backup tools from other providers.

As long as automatic log backup is active, you cannot start an interactive log backup. However, you can perform a data backup at the same time.

You cannot perform any other backup while an interactive log backup is running.

Activating Automatic Log Backup

· Database Manager GUI, Activating and Deactivating Automatic Log Backup

· Database Manager CLI, Activating Automatic Log Backup

· Database Administration in CCMS, Structure link Activating Interactive Log Backup

Executing Interactive Log Backups

· Database Manager GUI, Backup Procedures

· Database Manager CLI, Backing Up and Restoring Database Instances

· Database Administration in CCMS, Structure link Scheduling Interactive Log Backups

Archiving the Version Files

For log backups to backup media of the file type, you have to archive the version files regularly.

See also:

Backing Up and Restoring


Archiving Version Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Archiving Version Files

Use

You archive the version files of the log backup using operating system commands or backup tools from other providers.

We recommend that you archive the version files regularly. There are several reasons for this:

· With automatic log backups, the database system continuously writes version files, which contain the redo log entries in chronological order. Thus the number of version files on the hard disk grows continuously until there is no more memory available.

If there is no more memory available on the hard disk for log entries, then after a certain amount of time there is also no more memory available in the log area of the database instance for redo log entries (exception: overwrite mode for the log area is on). If the database system cannot write any more redo log entries to the log area, no more data can be changed and the database instance comes to a halt.

· When the database system has backed up the redo log entries from the log area, it can then overwrite the backed up redo log entries in the log area. If you want to restore the database after a system failure and both the log area and the log backups have been damaged, you cannot completely restore the last database state.

Prerequisites

You use backup media of the file type for log backups (see Backing Up Log Entries).

Activities

To archive the version files, you use operating system commands to copy the oldest version files to another hard disk and then delete them from the original spot.

If you use an external backup tool, you can automate the process for archiving version files.

· Database Manager CLI, Other Commands for Backing Up

· Database Management in CCMS, Structure link Archiving Version Files

See also:

Regular Administration Tasks

Supported Backup Tools from Other Providers


Restoring the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Restoring the Database Instance

Purpose

After a breakdown or errors, you can restore a database instance or revert it to an earlier state by importing data backups and log backups from backup media.

Prerequisites

· You have backed up data.

· You have backed up log entries.

Process Flow

You use the Database Manager for restoring.

...

1. You import a complete data backup. To reduce the restore time, you can import data backups from a group of parallel backup media.

See:

¡ Database Manager GUI, Restoring

¡ Database Manager CLI, Backing Up and Restoring Database Instances

2. If necessary, import incremental data backups and log backups as well.

Initially, the database system attempts to import redo log entries still present in the log area. To prevent this and force the deletion of the redo log entries in the log area, initialize the log area before the restore. See Database Manager GUI, Restoring After Initializing a Database Instance and Database Manager CLI, Restoring a Database Instance with Initialization.

3. If necessary, restore any damaged indexes. See:

¡ Database Manager GUI, Restoring Indexes After Database Restore

¡ Database Manager CLI, Restoring a Damaged Index

¡ Database Administration in CCMS: MaxDB, Structure link Index Analysis

¡ Database Administration in CCMS: SAP liveCache Technology, Structure link Bad Indexes

Example

Example: Backing Up and Restoring

Backing Up and Restoring


Example: Backing Up and Restoring (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Backing Up and Restoring

The following graphic shows an example of how you can save the database instance DEMODB while it is running and then restore the data after a system breakdown using data and log backups.

This graphic is explained in the accompanying text

Example of Backup and Restore

...

1. You create a complete data backup of the database instance DEMODB to a backup medium.

2. You activate automatic log backup. From now on, the database system continually creates log backups.

3. You create incremental data backups at regular intervals.

4. There is a system breakdown due to a hardware error in the hard disk containing the data area of the database instance. The hard disk that contains the log area, however, is undamaged.

5. To restore the database instance, proceed as follows:

a. You replace the defective hard disk.

b. You import the last complete data backup.

c. You import the last incremental data backup.

d. You import the log backups since the last incremental data backup. If there are still redo log entries in the undamaged log area, then the database system uses these redo log entries instead of the corresponding log backups.

6. The database system returns the database instance to the ONLINE operational state.

See also:

Backing Up and Restoring


Supported Backup Tools from Other Providers (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Supported Backup Tools from Other Providers

Use

You can use backup tools from other providers to back up and restore data and log entries or to export and import data.

When data is backed up or exported using such a backup tool, each backup or data stream is given an external backup ID.

Supported Backup Tools from Other Providers

Name | Description
TSM (IBM/Tivoli) | You can connect TSM using the TSM client adint2 or using the Backint for Oracle interface. With adint2 you achieve higher performance, but the program is not available on all platforms. See the Installation Manual, Connecting to TSM
NetWorker (Legato) | See the Installation Manual, Connecting to NetWorker
NetBackup (Veritas) | See the Installation Manual, Connecting to VERITAS NetBackup
All backup tools that support Backint for MaxDB | For information on the requirements that need to be met by a Backint for MaxDB interface, see the documentation Backint for MaxDB.
All backup tools that support Backint for Oracle | For more information, go to: www.sap.com/softwarepartnerdir

If you want to use a backup tool not listed here, contact support.

In the Database Manager CLI, backing up using backup tools from other providers is also possible with scripts. In this case, however, the Database Manager does not write a backup history and thus cannot check whether the backup was successful.

See also:

Backing Up and Restoring

Installation Manual, Block Diagram: Backing Up and Restoring

Database Manager GUI: Backups with Backup Tools from Other Providers

Database Manager CLI, Backing Up and Restoring Database Instances

Loader, Exporting and Importing with Backup Tools from Other Providers


Freezing the Data Area (Snapshot) (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Freezing the Data Area (Snapshot)

Use

A snapshot freezes the current state of the data area. After you have made a snapshot, you can continue to work normally with the data in the database instance and make changes to the data without influencing the snapshot.

At a later time, you can do the following:

· You return to the state of the data area at the time of the snapshot, thereby rejecting all changes made since the snapshot. The snapshot contains all necessary information; you do not need a complete data backup for this.

A snapshot is not a data backup. To be able to restore your data after damages in the data area, you have to perform regular data and log backups.

· You delete the snapshot, thereby transferring all changes that were made since the snapshot to the data area.

There is only ever one snapshot. Creating a snapshot overwrites any older snapshot that may exist.

Activities

To manage snapshots, use the Database Manager GUI. See Database Manager GUI, Freezing the Data Area (Snapshots).

To create and manage the snapshot, the database system uses a shadow memory concept: a snapshot saves the current converter.

The converter maps the logical numbers of the pages containing the data to the physical pages (block addresses) in the data volumes. The converter is structured as a tree: from the starting point, links point to all logical pages in the data area, and from there to the block addresses in the data volumes.

When you create a snapshot, the database system saves a link to the current starting point in the converter in the restart record of the database instance and flags all the physical pages in the data area whose addresses are in the converter. The database system cannot overwrite these pages as long as the snapshot exists.

Data changes that you make after the snapshot are written by the database system to other physical pages in the data area. If you delete a table, the database system does not physically delete this table, but only flags it as deleted (you can no longer access this table with SQL statements). In this way, a new version of the converter is gradually created, which with time differs increasingly from the version of the converter that was saved in the snapshot.

If you reject all changes after the snapshot, then the database system deletes the starting point in the new version of the converter and replaces it with the starting point that is saved in the snapshot. All pages that changed after the snapshot are released for overwriting again.

If you delete the snapshot, the database system releases the flagged pages in the data area for overwriting.

Example

Setting up a training computer:

...

1. The database administrator imports a complete data backup from the original database instance onto the training computer.

2. The database administrator makes a snapshot in the ADMIN operational state and then transfers the database instance to the ONLINE operational state.

3. The database instance is now available for training operation. The participants in the training course can change any data and start and stop the database instance.

4. After the end of the training course and before the start of the next training session, the database administrator transfers the database instance to the ADMIN operational state and discards all the changes since the snapshot.

Backing Up and Restoring


Exporting and Importing (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Exporting and Importing

Use

You can export application data and the database catalog from a MaxDB database instance, or you can import them into a MaxDB database instance.

Activities

The following table shows which database tools are suitable for which tasks.

Data Transfer

Task | Data Source | Data Target | Database Tool
Importing application data: Including LONG columns In different formats Conversion from date and time formats Conversion of NULL values Mapping of character records | MaxDB database instance File Pipe External medium, such as a tape | MaxDB database instance | Loader, Exporting: Commands Importing: Commands
Importing the database catalog | See above | MaxDB database instance | Loader, Exporting and Importing: Commands (see above)
Exporting application data: Including LONG columns In different formats Conversion of date and time values Conversion of NULL values Mapping of character records | MaxDB database instance | MaxDB database instance File Pipe External medium, such as a tape | Loader, Exporting and Importing: Commands (see above)
Export database catalog | MaxDB database instance | See above | Loader, Exporting and Importing: Commands (see above)
Importing application data: Restricted LONG values (individually only) from a script | File | MaxDB database instance | SQL Studio, Importing and exporting LONG columns (see above) Importing and exporting SQL statements (see above)
Importing definitions of database objects | File | MaxDB database instance | SQL Studio, Importing and exporting SQL statements (see above)
Exporting application data: LONG values restricted (only individually or up to a certain length) | MaxDB database instance | File (text or table format) | SQL Studio, Exporting and Importing LONG Columns SQLCLI, Exporting a Result into a File
Exporting definitions of database objects | MaxDB database instance | File | SQL Studio, Exporting the Definition of a Database Object
Importing SQL statements | File | MaxDB database instance | SQL Studio, see above. SQLCLI, see above. Web SQL Studio, see above.
Exporting SQL statements | MaxDB database instance | File | SQL Studio, Importing and Exporting SQL Statements Web SQL Studio, Exporting and Importing SQL Statements
Copying the whole database instance | MaxDB database instance | MaxDB database instance | Database Manager, see Database Copy

See also:

Backing Up and Restoring

Replication and High Availability

Administration


Replication and High Availability (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Replication and High Availability

Use

A database instance can fail due to hardware or logical errors.

To restore the database instance, you have to import data and log backups (see Backing Up and Restoring). If you have a lot of data to import, restoring the database instance can take a long time. The database instance is not available for use during this time.

To make the database instance available for use more quickly (high availability), you can replicate the data of the active database instance (original instance). Replication means that the active database instance is first duplicated and the duplicate then updated at regular intervals.

Replication Mechanisms

Name | Description | Required Database Tools and Additional Software
Database Copy | The active database instance is copied once, but not updated thereafter A database copy is not a replication mechanism, but is required for setting up certain replication mechanisms, such as a standby database. | MaxDB Database Manager
Standby Database | You update a duplicate of the active database instance asynchronously. You copy the log backups of the original instance to the standby instance and import them into it. When the active database instance fails, you can resume operations quickly with the standby instance after importing the last redo log entries. | MaxDB Database Manager
Hot Standby | Multiple duplicates of the database instance are automatically updated synchronously. All instances access the same log area. When a database instance fails, a standby instance is automatically activated. | MaxDB Database Manager Cluster Software Memory management system
Synchronization | The Synchronization Manager synchronizes the table contents of client database instances asynchronously with the table contents of a central database instance. The client computers can be offline in the meantime. Collisions are handled automatically. You have the option of filtering data. Prerequisite: the amount of changed data as a proportion of all data must be small. | MaxDB Synchronization Manager MaxDB Database Manager

See also:

Structure link High Availability for the MaxDB Database

Backing Up and Restoring

Administration


Database Copy (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Database Copy

Purpose

You can use a database copy to test new applications, to check the database structures without affecting operation or to set up a new standby database, for example. You also need a database copy to create a system copy of an SAP system.

To copy a database, use a complete data backup.

Original Instance and Copy

This graphic is explained in the accompanying text

Prerequisites

· Original and target computers are compatible, see Compatible Processor Architectures for Database Copies

To execute a database copy on a non-compatible processor architecture, use the Loader database tool.

· The target instance uses the same version of the database software as the original instance.

Process Flow

You use the Database Manager database tool.

...

1. You create a complete data backup of the original instance on a backup medium; see

¡ Database Manager GUI, Backup Wizard

¡ Database Manager CLI, Backing Up the Database Instance

2. You initialize an existing target instance or create a new target instance using the for recovery option:

a. For the database parameters of the target instance, you use the database parameter values of the original instance.

b. In the target instance, you create volumes that are large enough for importing the data backup from the original instance.

c. In the target instance, you define a backup medium that is compatible with the backup medium on which you created the data backup of the original instance.

See:

¡ Database Manager GUI, Initializing an Existing Database Instance and Creating a Database Instance

¡ Database Manager CLI, Initializing an Existing Database Instance and Creating a Database Instance

3. Import the complete data backup of the original instance to the target instance.

You must not transfer the target instance into the ONLINE operational state before you import the data backup from the original instance. If the target instance has already been in the ONLINE operational state, reinitialize the target instance.

You can use pipes to transport the data backup.

See:

¡ Database Manager GUI: Restoring Without a Backup History

¡ Database Manager CLI, Restoring a Database Instance with Initialization

4. You transfer the target instance to the ONLINE operational state.

5. You update the system tables in the target instance. You enter the database system administrator. See:

¡ Database Manager GUI, Updating the System Tables

¡ Database Manager CLI, Loading the System Tables

6. If necessary, restore indexes in the target instance that are no longer current (BAD INDEXES). See:

¡ Database Manager GUI, Restoring Indexes After a Database Restore

¡ Database Manager CLI, Restoring a Damaged Index

See also:

Replication and High Availability


Compatible Processor Architectures for Database Copies (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Compatible Processor Architectures for Database Copies

Use

For a database copy of a MaxDB (OLTP) database instance, the processor architecture of the source computer must be compatible with that of the target computer.

Database instance type SAP liveCache: both the processor architectures and the operating systems of the source and target computer have to be identical, and the same database procedures have to be used on both computers.

The backup media used in generating a database copy must also be compatible.

Compatible Processor Architectures

 | Win32 | Win64 | Linux 32 | Linux 64 | Tru64 | AMD64 | AIX | HP-UX | Solaris | pLinux | zLinux
Win32 | x | x | x | x | x | x |  |  |  |  |
Win64 | x | x | x | x | x | x |  |  |  |  |
Linux 32 | x | x | x | x | x | x |  |  |  |  |
Linux 64 | x | x | x | x | x | x |  |  |  |  |
Tru64 | x | x | x | x | x | x |  |  |  |  |
AMD64 | x | x | x | x | x | x |  |  |  |  |
AIX |  |  |  |  |  |  | x | x | x | x | x
HP-UX |  |  |  |  |  |  | x | x | x | x | x
Solaris |  |  |  |  |  |  | x | x | x | x | x
pLinux |  |  |  |  |  |  | x | x | x | x | x
zLinux |  |  |  |  |  |  | x | x | x | x | x


Standby Database (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Standby Database

Use

A standby instance is a copy of the active database instance which you update regularly. To update the standby instance, use the log backups of the original instance. The standby instance is always in the ADMIN operational state.

If the original instance breaks down, you can start the standby instance immediately, thereby continuing work without long downtimes. Depending on the configuration that is selected, you can start the standby instance in a state that corresponds to the state of the original instance at a point in time in the past.

Original Instance and Standby Instance

This graphic is explained in the accompanying text

Activities

Setting Up A Standby Instance

Updating the Standby Instance

Starting the Standby Instance as an Active Instance

Example

Example: Standby Database

Replication and High Availability


Setting Up a Standby Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting Up a Standby Instance

Use

You set up a standby instance (Standby Database).

Procedure

Use the Database Manager for the following steps:

...

1. Create the standby instance by making a copy of your original instance. Proceed as described in the Database Copy section, but do not start the copy in the ONLINE operational state; instead, keep it in the ADMIN operational state.

Observe the following points when you create the standby instance:

¡ We recommend that you set up the original instance and the standby instance on different computers.

¡ The standby instance must not access the same files as the original instance. In other words, it has to have a separate run directory.

2. In the standby instance, create a backup medium for importing the log backups. See:

¡ Database Manager GUI, Creating an Individual Backup Medium

¡ Database Manager CLI, Creating or Changing a Backup Medium

Result

The standby instance is in the ADMIN operational state. You can now update the standby instance at regular intervals.


Updating the Standby Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Updating the Standby Instance

Use

At regular intervals, you track the data changes in the original instance in the standby instance (Standby Database).

Prerequisites

You have set up a standby instance.

Procedure

...

1. Create log backups in your active original instance at regular intervals. See:

¡ Database Manager GUI, Backup Procedures

¡ Database Manager CLI, Backing Up and Restoring Database Instances

2. Import these log backups regularly into the standby instance after the desired time delay.

¡ Database Manager GUI: Proceed as described in Restoring Without a Backup History.

¡ Database Manager CLI: Use the restore commands recover_start and recover_replace.

You can transport log backups using ftp, for example, or copy them using an exported file system (NFS, Shared File System and so on).

Result

The standby instance now contains the same data as the original instance at the time of the last log backup. You can use the standby instance as the active instance at any time.


Starting the Standby Instance as an Active Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting the Standby Instance as an Active Instance

Use

If you are having problems with your active original instance, or if the original instance has broken down, then you can make your standby instance the new active instance.

Prerequisites

· You have set up a standby instance.

· The standby instance has not been in the ONLINE operational state since it was last initialized.

Procedure

Use the Database Manager for the following steps:

...

1. Depending on the configuration and status of the original instance, you have the following options:

¡ Importing Another Manual Log Backup of the Original Instance

¡ Importing Log Backups up to a Specific Time

¡ Copying the Log Volumes of the Original Instance

2. Start the standby instance in the ONLINE operational state.

3. Restore all the indexes in the standby instance that are no longer current (BAD INDEXES).

¡ Database Manager GUI: Proceed as described in Restoring the Indexes After a Database Restore.

¡ Database Manager CLI: Use the sql_recreateindex command to restore a damaged index.

4. Create a complete data backup of the standby instance.

You cannot create log backups until you have created a complete data backup.

Result

You can now operate the former standby instance as the active instance.

To make the old original instance the new standby instance, initialize the old original instance and then proceed as described in the Setting Up a Standby Instance section.

See also:

Standby Database


Importing an Additional Manual Log Backup (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Importing an Additional Manual Log Backup

Use

If you are still able to create another interactive log backup in the original instance, then you can operate the standby instance without loss of data so that it has the same state as the original instance.

Prerequisites

· You have set up a standby instance.

· The standby instance has not yet been in the ONLINE operational state.

· The log volumes of the original instance are not damaged.

· You can create an interactive log backup in the original instance.

Procedure

...

1. Create an interactive log backup in the original instance.

2. Import the log backups that are still missing into the standby instance. See also Identifying Log Backups Since the Last Savepoint

Result

You can now operate the standby instance as the active instance.

See also:

Starting the Standby Instance as an Active Instance


Importing Log Backups up to a Specific Time (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Importing Log Backups up to a Specific Time

Use

You can start the standby instance in a state that corresponds to the state of the original instance at a certain time in the past.

Prerequisites

· You have set up a standby instance.

· The standby instance has not yet been in the ONLINE operational state.

· You have imported the log backups from the original instance only up to a certain point in time, which took place before the time you require.

Procedure

...

1. If you have the log backups from the original instance imported automatically into the standby instance, then cancel this operation now (recover_cancel).

2. Import the log backups that are still missing up to the required point in time.

¡ Database Manager GUI: proceed as described in Restoring Without a Backup History and choose the Restore until a specific time option.

¡ Database Manager CLI: use the recover_start command with the UNTIL <date> <time> option (see Restoring the Database Instance).

Result

You can now operate the standby instance as the active instance.

See also:

Starting the Standby Instance as an Active Instance


Copying the Log Volumes of the Original Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Copying the Log Volumes of the Original Instance

Use

If the log volumes of the original instance are undamaged and it is possible to copy their contents to the log volumes of the standby instance using operating system commands, then you can start the standby instance without losing data or start it in a state that corresponds to the state of the original instance at a certain point in time in the past.

Prerequisites

· You have set up a standby instance.

· The standby instance has not yet been in the ONLINE operational state.

· The log volumes of the original instance are not damaged.

· The number and size of the log volumes of both instances are the same.

· The original instance is in the OFFLINE operational state.

Procedure

...

1. If you have the log backups from the original instance imported automatically into the standby instance, then cancel this operation now (recover_cancel).

2. Transfer the database instance to the OFFLINE operational state.

3. To copy log volumes from the original instance to the standby instance, use operating system functions.

4. Restart the standby instance:

¡ Database manager GUI: Choose Instance ® Restart Until

¡ Database manager CLI: Use command db_online –u

See also:

Starting the Standby Instance as an Active Instance


Identifying Log Backups Since the Last Savepoint (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Identifying Log Backups Since the Last Savepoint

Use

You identify the log backups that have been made in the original instance since the last savepoint of the standby instance. To bring the standby instance up to the latest status, you import these log backups in sequence.

The database system numbers the log backups and writes a log history.

Prerequisites

The log history of the original instance is not damaged.

Procedure

Use the Database Manager CLI for the following commands.

...

1. Use the Database Manager CLI to log on to the standby instance.

2. Display the data from the restart record of the standby instance. To do this, enter the following DBM command:

db_restartinfo

The Used LOG Page row specifies the log page from which log entries have to be read first.

Used LOG Page 1157
First LOG Page 2147483647
Restartable 1
Id Restart Record mycomputer.mynet:DEMODB_20040712_141643
Id LOG Info mycomputer.mynet:DEMODB_20040712_141643
Consistent 1

3. Use the Database Manager CLI to log on to the original instance.

4. Display the log history of the original instance:

backup_history_open
backup_history_list
backup_history_close

The log history specifies which log pages are contained in the individual log backups.

[...]

40F281390005|LOG_00002|SAVE WARM|2004-07-12 13:59:07|2004-07-12 14:16:57|2004-07-12 14:16:57|2004-07-12 14:16:58|989|1157| |auto|64|1|0| |

[...]

Several log backups were carried out using backup media in the database instance. The log backup to the backup medium LOG_00002 contains log page 1157 and therefore has to be imported first. This is followed by the log backups LOG_00003, LOG_00004 and so on.

See also:

Starting the Standby Instance as an Active Instance


Example: Standby Database (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Standby Database

This example shows how you can set up a standby instance with the Database Manager CLI and start it as an active instance.

For detailed information about working with the Database Manager CLI and the meaning of the individual DBM commands, see the documentation for the Database Manager CLI.

Prerequisites

You have created a database instance that you can use as a standby instance.

Procedure

...

1. Bring the standby instance to the ADMIN operational state:

db_offline
db_admin

2. Create a backup medium in the standby instance for importing the complete data backup from the original instance:

medium_put <medium_name_data> <path_data> <medium_type> DATA

3. Initialize the existing standby instance and import the last data backup from the original instance:

db_connect
db_activate RECOVER <medium_name_data>

4. Create a backup medium in the standby instance for importing the log backups from the original instance:

medium_put <medium_name_log> <path_log>\save.log FILE LOG

5. Identify the log backups to be imported (see Identifying Log Backups Since the Last Savepoint).

¡ Display the restart record for the standby instance:

db_restartinfo

¡ Log on to the original instance and display the log history (in a new command window):

dbmcli -d <database_name> -u <dbm_user, dbm_user_password>
backup_history_open
backup_history_list
backup_history_close

6. Import the log backups:

db_offline
db_admin
db_connect
recover_start <medium_name_log> LOG 001
recover_replace <medium_name_log> <path_log>\save.log 002
recover_replace <medium_name_log> <path_log>\save.log 003
...

7. Start the standby instance as an active instance (cancel the import of the log backups and transfer the standby instance to the ONLINE operational state):

recover_ignore

Instead of the recover_ignore command, you can also use the recover_cancel command. This also aborts the import of the log backups, but transfers the standby instance to the OFFLINE operational state. To enter further commands, transfer the standby instance back to the ADMIN operational state using the db_admin command.

See also:

Standby Database


Hot Standby (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Hot Standby

Use

A hot standby system consists of one master instance and one or more standby instances that reproduce the changes to the master instance at regular intervals. Master and standby instances form a cluster (see Architecture of a Hot Standby System) that, outwardly, behaves like a single database instance.

The standby instances are in the STANDBY operational state, which corresponds to a state between ADMIN and ONLINE. In this state, they are not full-fledged database instances (they do not, for example, write log entries).

If a master instance fails due to a hardware or logical error, one of the standby instances automatically becomes the new master instance (see Behavior of the Hot Standby System when Errors Occur).

Advantage of a hot standby system when errors occur:

· very short downtime (considerably faster than restarting the master instance)

A hot standby system does not offer any protection against errors and inconsistencies caused by the user or an application. To secure yourself against these types of errors, you have to execute regular data and log backups, even in a a hot standby system (see Backing Up and Restoring).

Prerequisites

System Requirements for a Hot Standby System

Activities

...

1. You configure the computers on which the master and standby instances comprising the hot standby system will later be located as a cluster. For information on configuring the cluster, see the documentation for your cluster software.

2. Using the cluster software, you define a virtual server name with which the database is to be addressed externally. The virtual server name may not be the same as the name of a computer in the cluster.

3. You install a memory management system. For information on configuring the memory management system, see the manufacturer’s documentation.

4. You create a database instance on the computer that you have defined as the virtual server.

The volumes of the database instance must be in the memory management system.

5. You configure the database instance as the master instance of the hot standby system.

6. You add one or more standby instances.

See:

¡ Database Manager CLI, Managing Hot Standby Systems

¡ Database Manager GUI, Setting Up a Master Instance (Hot Standby) and Adding Standby Instances (Hot Standby)

7. The database system updates the standby instances at regular intervals by importing the redo log entries of the master instance (see Synchronization of Master and Standby Instances).

See also:

Replication and High Availability


System Requirements for a Hot Standby System (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Requirements for a Hot Standby System

Hardware

· The computers on which the master and standby instances are located use hardware with the same amount of memory and the same type and number of processors.

· Every computer has a unique name.

· All computers are activated.

Operating System

· You have administrator rights on all the computers.

Database Software

· The same database software version is installed on all computers.

· All paths and file names are the same for the master and standby instances (run directory, volumes, trace files, etc.).

· The MaxDB X Servers run on all computers.

Cluster Software

The computers on which the master and standby instances are located are part of a cluster. For information on setting up a cluster, see the manufacturer’s documentation.

Cluster software requirements:

· Failover mechanism that allows the master and standby instance to switch roles in case of errors

· IP switching

The master and standby instances each have their own IP address

Setting up a hot standby system with MaxDB has been tested with the following cluster software: IBM High Availability Cluster Multiprocessing for AIX clustering software.

Memory Management System

The data and log areas of the master and standby instances are in a memory management system. For information on setting up the memory management system, see the manufacturer’s documentation.

Memory management system requirements:

· All instances can access the log area simultaneously.

Ideally, a memory management system should offer two different authorizations for access to the log area: read-only and read and write.

· Every data volume of each database instance involved has its own physical memory area in the memory management system. To avoid collisions of I/O accesses, we recommend separate hard disks in the memory management system.

The data volumes of each instance have the same access path on their respective computers; alternatively, a corresponding symbolic link can be set up.

Consistent copies of the data volumes can be created which after the split can be read and written-to independently of one another. While a copy is being created, the master instance can continue to write to its data volume so that downtimes remain minimal. After the split, the data volumes of the master and standby instances are completely independent of each other.

· Fast copying of data within the memory management system

When standby instances are initialized or if an error occurs, large amounts of data may have to be copied.

· Fast transmission of data between the memory management system and the computers on which the database instances are located

The following memory management systems meet these requirements and support the creation of a hot standby system with MaxDB: EMC Symmetrix, IBM TotalStorage Enterprise Storage Server (ESS), IBM TotalStorage SAN Volume Controller (SVC).

See also:

Hot Standby


Architecture of a Hot Standby System (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Architecture of a Hot Standby System

A hot standby system consists of a master and one or more standby instances, which can be located on different computers. The master and standby instances each have their own kernel, cache, a separate MaxDB X Server, DBM Server and so on.

The computers on which the database instances are located constitute a cluster. Communication within the cluster is done by way of the internal IP addresses of the computers. Outwardly, the hot standby system behaves like a single database instance. To access the hot standby system externally, you need the following information:

· Name of the database instance

· Virtual server name (identifies the computer that currently has the role of master instance)

If the master instance fails, the virtual server name transfers to the computer with the standby instance, which assumes the master role (see Behavior of the Hot Standby System when Errors Occur).

The data and log areas of all instances are located in a storage system.

As a precaution for the event of hardware failure, we recommend that you mirror the data and log areas in the storage system.

Master and standby instances use the same log area; however, standby instances only have read access (see Synchronization of Master and Standby Instances).

In contrast, standby databases have separate log areas for all instances.

Master and standby instances each have separate data areas that are independent of each other.

Example

The following graphic shows a hot standby system comprised of a master instance on the computer GENUA and a standby instance on the computer PARMA. The computers GENUA and PARMA are part of a cluster. The name of the database instance is DEMODB and the virtual server name is VIRTUAL_SERVER. The data and log areas of the instances are located in a storage system while the cluster software is on a separate computer.

Example of the Structure of a Hot Standby System

This graphic is explained in the accompanying text

Outwardly, the hot standby system looks like a single database instance DEMODB on the computer VIRTUAL_SERVER:

This graphic is explained in the accompanying text

See also:

Hot Standby


Synchronizing Master and Standby Instances (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Synchronizing Master and Standby Instances

Use

When a new standby instance is initialized, the memory management system copies the complete content of the master instance in a consistent state – for example, the state at the last savepoint - to the data area of the standby instance.

Thereafter, the standby instance regularly updates its data area by importing the redo log entries of the master instance up to a certain point in time from the shared log area and redoing the corresponding transactions.

By contrast, with a standby database, it is log backups that are imported.

Thus the data area of the standby instance, with some delay, always corresponds to the data area of the master instance.

Activities

Master and standby instances use the same database parameters. To change a database parameter, change it in the master instance. The system then automatically transfers the changes to the standby instances.

At regular intervals, the master instance informs the standby instances of the position in the log area up to which it has written new redo log entries in the shared log area. To configure this time interval, use the special database parameter HS_SYNC_INTERVAL.

To configure the time interval at which the standby instances import the redo log entries of the master instance and redo the corresponding transactions, use the special database parameter HS_DELAY_TIME.

See also:

Hot Standby

Logging Transactions


Behavior of the Hot Standby System when Errors Occur (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Behavior of the Hot Standby System when Errors Occur

Purpose

If the master instance of the hot standby system fails, a standby instance automatically assumes the role of master instance. The downtime for this procedure is very brief (a restart of the master instance generally takes much longer).

Process Flow

The cluster software constantly monitors the master instance of the hot standby system.

...

1. If the master instance fails, the cluster software selects one of the standby instances as the new master instance and sends that information to the standby instance.

2. The new standby instance adopts the virtual server name of the old master instance, with which the hot standby system is addressed externally.

3. The storage system gives the new master instance write authorization for the entire log area.

4. The new master instance imports the last un-imported redo log entries from the old master instance and redoes the respective transactions.

5. The database instance transfers the new master instance from the STANDBY to the ONLINE operational state.

Once you have handled the error in the master instance, you can add the old master instance to the hot standby system as a standby instance.

See also:

Hot Standby


Synchronization (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Synchronization

Use

Synchronizing database instances involves comparing data from multiple database instances. If data in one database instance is changed, these changes are replicated in the other database instances.

If two database instances change the same data at the same time, the system executes an automatic conflict handling. The client database instances can be offline in the meantime. Optionally, you can define filters for the data.

For synchronization, you need a message server with a message database instance.

Schematic Overview: Synchronization of a Master with Two Client Database Instances

This graphic is explained in the accompanying text

Prerequisites

· You have installed the software for the Synchronization Manager.

· The amount of changed data as a proportion of all data must be small.

Activities

To configure and manage the synchronization of multiple database instances, use the Synchronization Manager; see the documentation for the Synchronization Manager.

See also:

Replication and High Availability


Monitoring (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Monitoring

Use

We recommend that you monitor your database instance during production operation. This way, you can recognize problems early and avoid disruptions or failures.

Activities

To monitor your database instance, use operating system functions, the Database Manager, the Event Dispatcher, the Database Analyzer and in SAP systems the CCMS (in particular the Structure link Database Alert Monitor or Structure link liveCache Alert Monitor).

You can use events to ensure that you are notified of critical database states. See Utilities, Automating Administration Tasks with an Event Dispatcher.

Monitoring Free Memory in the Data Area

If the memory in the data area is full, the database system stops all current transactions and the database is unavailable for users. To avoid this, regularly check whether there is sufficient free memory in the data area. See:

· Database Manager GUI, Displaying Data Area Information

· Database Manager CLI, Displaying Status Information About the Database Instance

· Database Administration in CCMS: MaxDB, Structure link Monitoring the Data Area

· Database Administration in CCMS: SAP liveCache Technology, Structure link Monitoring the Data Area

Monitoring Free Memory in the Log Area

If the memory in the log area is full, the database system cannot write any further redo log entries and therefore stops all transactions. The database is unavailable for users. To avoid this, regularly check whether there is sufficient free memory in the log area. See:

· Database Manager GUI, Displaying Log Area Information

· Database Manager CLI, Displaying Status Information About the Database Instance

· Database Administration in CCMS: MaxDB, Structure link Monitoring the Log Area

· Database Administration in CCMS: SAP liveCache Technology, Structure link Monitoring the Log Area

Monitoring the Hit Rate for Access to the Caches

The lower the hit rate for database system access to the caches, the less efficiently the database system works. See:

· Database Manager GUI, Displaying Cache Information

· Database Manager CLI, Displaying Status Information About the Database Instance

· Database Administration in CCMS: MaxDB, Structure link Caches

· Database Administration in CCMS: SAP liveCache Technology, Structure link Caches

Monitoring CPU Usage by the Database Instance

If the database instance has to share the computer’s processor(s) with too many other programs, performance can be poor. To avoid this, use operating system resources to monitor CPU usage by the processes of the database instance. See:

· Overview of the Processes

Monitoring Backups

Backups can fail for various reasons, for example if you have chosen as the backup medium a file in a directory that no longer exists at the time of the backup. The backup history displays which backups have been performed and if they were successful. For this reason, check the backup history regularly, in particular if you use automatic log backup or have automated the backup process using scripts. See:

· Database Manager GUI, Displaying the Backup History

· Database Manager CLI, Displaying the Backup History

· Database Management in CCMS, Structure link DBA History

Regularly check whether your backup media are intact. See:

· Database Manager GUI, Checking Backup Media

· Database Manager CLI, Checking Backups

· Database Administration in CCMS: Structure link Checking Backups

Monitoring Database Structures

Hardware defects can cause errors in the database structures. For this reason, check the database structures regularly. See Checking Database Structures

Monitoring Database Activities

Monitor the following database activities:

· I/O activity

· Lock activity

· Logging activity

See:

· Database Manager GUI, Displaying Database Activities

· Database Manager CLI, Displaying Status Information About the Database Instance

· Database Management in CCMS, Structure link Overview of Activities

Monitoring the Number of Database Sessions

If the maximum number of possible database sessions has been reached, no further users can log on to the database instance. For this reason, monitor the number of database sessions.

See:

· Database Manager GUI, Displaying Database Sessions

· Database Manager CLI, Displaying Status Information About the Database Instance

· Database Administration in CCMS: MaxDB, Structure link User Tasks

· Database Administration in CCMS: SAP liveCache Technology, Structure link User Tasks

Monitoring Security-Relevant Activities

See:

· MaxDB Security Guide, Checking Log Files for Failed Logon Attempts

See also:

Log Files

Troubleshooting

Performance

Event Dispatcher documentation

Database Analyzer documentation


Performance (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Performance

Use

To process SQL statements as quickly as possible, the database system uses the following methods, among others:

· Automatic Transformation of SQL Statements

· Calculating the best search strategy for an SQL statement with the SQL Optimizer

The performance of a database instance is significantly influenced by the configuration of the database instance and the structure of the database.

Activities

· For good I/O performance, observe the tips for creating and configuring a database instance.

· Make sure you choose appropriate database parameters.

· Update the SQL Optimizer statistics regularly.

· For short access times for data queries, observe the database design tips.

Monitoring Performance

To monitor performance during operation, you can use the Database Analyzer, the Database Manager GUI, the Database Manager CLI and XCONS.

In SAP systems, use the CCMS; see:

· Database Adminstration in CCMS: MaxDB,

¡ Structure link Performance (database assistant)

¡ Structure link Performance (database alert monitor)

¡ Structure link SQL Performance

¡ Structure link Slow-Running Transactions

· Database Administration in CCMS: SAP liveCache Technology,

¡ Structure link Performance (liveCache assistant)

¡ Structure link Performance (liveCache alert monitor)

¡ Structure link SQL Performance

See also:

Monitoring

Troubleshooting

SAP Note 819641


Database Design Tips (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Design Tips

The database design has a large influence on performance when the system is in operation. In particular, note the following factors:

· Search Conditions

· Type of SQL statement (SELECT, INSERT, UPDATE, DELETE)

· Elements of SELECT statements (ORDER clause, UPDATE clause, DISTINCT specification, FOR REUSE designation)

· Type of physical storage of tables

· Size of tables (number of rows and B* tree pages, see Data Storage and Access)

Many performance problems can be avoided if you observe the following tips when designing your database:

· Before you define tables, analyze the expected data.

When defining key columns, place those columns that are especially selective and for which users frequently enter search conditions at the beginning of the key. In many cases, the database system will then only have to search a small part of the table when processing a SELECT statement.

· Only invert columns with high selectivity.

Do not choose columns such as gender or marital status as indexes. As a rule, such columns have very few different values and the database system can only seldom use them for non-sequential searches.

· In the case of relatively static datasets, you can invert a large number of tables. When defining the key columns at the beginning of the index, use selective columns that users frequently use in equality conditions.

· Do not invert all columns which users use in search conditions. The space needed for the indexes and the cost of maintaining them is considerable.

· If many changes have been made in a table, update the SQL Optimizer Statistics.

· Do not formulate search conditions that are fulfilled by all rows.

When users can freely choose the values of a search condition, they frequently do not enter any value. The database system must then evaluate the ineffectual search condition for every row included in the search. It is better to execute different SELECT statements depending on the user input.

· Place the most selective search conditions at the beginning of the search condition. That way the database system may be able to complete the search before it has evaluated all the search conditions.

· The search condition

columnx IN (1,13,24,...)

can be evaluated more efficiently by the Optimizer than the semantically-identical search condition

columnx=1 OR columnx=13 OR columnx=24 OR ...

See also:

Performance


Automatic Transformation of SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Automatic Transformation of SQL Statements

Use

The database system tries to transform SQL statements so that the resulting statement is semantically identical but faster to process. The transformations are purely rule-based and do not take account of statistical information. The main purpose of transformations is to avoid intermediate result sets.

In some cases, it may not be possible to represent the statement that results from the transformation as a syntactically correct SQL statement.

Integration

After an SQL statement has been transformed, the SQL Optimizer determines the best strategy for accessing the data. See the SQL Optimizer documentation.

Features

The database system can transform the following types of SQL statements:

· SELECT

· CREATE CURSOR FOR SELECT

· EXPLAIN SELECT

Activities

You configure automatic transformation of SQL statements with the special database parameter OPTIMIZE_QUERYREWRITE.

When the database system has transformed an SQL statement, the result of the EXPLAIN statement contains one of the following:

· QUERY REWRITTEN ON SQLSTATEMENT LEVEL

· QUERY REWRITTEN ON OPERATOR LEVEL

See: SQL Optimizer, EXPLAIN Statement.

Example

The database system transforms the following SQL statement:

SELECT * FROM v WHERE a=1, where v is defined as CREATE VIEW v (a) as SELECT b FROM t1 UNION ALL SELECT c FROM t2

The result of the first transformation is a statement that has a smaller intermediate result set:

select b as a from (select b from t1 where b=1 union all select c from t2 where c=1)

After another transformation, the resulting statement no longer has an outer SELECT.

select b from t1 where b=1 union all select c from t2 where c=1

See also:

Performance


SQL Optimizer (SAP Library - MaxDB Library)

 Entering content frame

Component documentation SQL Optimizer

Purpose

The SQL Optimizer analyzes SQL queries sent to the database by users or applications and selects the best search strategy for accessing the data records.

Integration

The SQL Optimizer is part of the database kernel. In SAP systems, you can use the DBA Planning Calendar to display information about the SQL Optimizer; see Database Administration in the CCMS: Structure link SQL Optimizer in the CCMS

Features

The SQL Optimizer is called by the database system implicitly (see How the Optimizer Works).

You can use the EXPLAIN SQL statement to find out which search strategy was selected by the SQL Optimizer for an SQL statement (see Troubleshooting).


How the Optimizer works (SAP Library - MaxDB Library)

 Entering content frame

Process documentation How the Optimizer works

Purpose

SQL statements merely specify the desired results. They do not contain any information as to how the database system should search for the data. The database system can often choose from multiple options for finding the data required by the SQL statement.

The Optimizer has the task of determining the best search strategy for accessing the data.

Process Flow

...

1. A user or a database application sends an SQL statement with a search condition to the database.

2. Automatic Transformation of the SQL Statement

3. The database system starts the SQL Optimizer.

4. The SQL Optimizer determines all the search strategies with which the database can access the data specified in the SQL statement.

5. It determines the costs for each individual search strategy.

6. It chooses the strategy that would incur the lowest costs in executing the SQL statement.

7. The database system executes the SQL statement with this search strategy.


Search Conditions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Search Conditions

The Optimizer can only optimize data access for those SQL statements that contain a search condition. A search condition is defined with a WHERE clause.

SELECT name

FROM customer

WHERE city = 'Seattle' AND zip > 98101

You can combine the following SQL key words with a search condition: SELECT, UPDATE, DELETE, INSERT.

Some search condition restrictions apply to UPDATE statements.

The form of the search condition has a significant effect on the costs incurred by executing the SQL statement. When determining costs for an SQL statement, the Optimizer only considers the following search conditions:

· Equality condition

· Range condition

· IN condition

· LIKE condition

If the search conditions in an SQL statement cannot be transformed into one of the forms listed above, the Optimizer cannot determine a search strategy for them and uses the sequential search instead.

If search conditions are linked using a number of identical Boolean operators, the sequence of these conditions does not affect how the Optimizer determines the search strategy.


Equality Condition (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Equality Condition

Equality conditions are search conditions with a comparison predicate.

The following applies to equality conditions:

· The only operator is the relational operator =.

· You have one of the following forms:

<column_spec> = <extended_value_spec>

<column_spec> = <subquery>

An equality condition must be in one of these forms before the Optimizer can use it to determine a search strategy. If the equality condition has another form, the Optimizer attempts to transform it.

The Optimizer transforms expressions in the following forms into conditions without NOT, with the negated operator =:

...NOT (<column_spec> <> <extended_value_spec>)

...NOT (<column_spec> <> <subquery>)

The Optimizer then continues to process the transformed condition.


Range Condition (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Range Condition

Range conditions are search conditions with a comparison predicate or a BETWEEN predicate. The following applies to range conditions:

· The only valid operators are the relational operators < | <= | => | > and the operator BETWEEN.

· Range conditions have one of the following formats:
<column_spec> < < | <= | => | > > <extended_value_spec>

or
<column_spec> BETWEEN <extended_value_spec> AND <extended_value_spec>

To determine an optimal search strategy, the Optimizer can only use range conditions that satisfy these prerequisites.

Whether the range is defined using a BETWEEN operator or whether it is defined using a combination of the relational operators <= and => is irrelevant to the search strategy.

Conditions with the following format are converted to an expression without NOT and with the appropriate negated operator, if possible:

...NOT (<column_spec> < < | <= | => | > > <extended_value_spec>)

...NOT (<column_spec> NOT BETWEEN <extended_value_spec> AND <extended_value_spec>)

The Optimizer then continues to process the modified condition.


IN Condition (SAP Library - MaxDB Library)

 Entering content frame

Background documentation IN Condition

IN conditions are search conditions with an IN predicate, to which the following rules apply:

· The operator is the operator IN.

· IN conditions have one of the following formats:
<column_spec> IN (<extended_value_spec>,...)
<column_spec> IN <subquery>

To determine an optimal search strategy, the Optimizer can only use IN conditions that satisfy these prerequisites.

Conditions with the following format are converted to an expression without NOT and with the appropriate negated operator, if possible:

...NOT (<column_spec> NOT IN (<extended_value_spec>,...))

...NOT (<column_spec> NOT IN <subquery>)

The Optimizer then continues to process the modified condition.


LIKE Condition (SAP Library - MaxDB Library)

 Entering content frame

Background documentation LIKE Condition

LIKE conditions are search conditions with a LIKE predicate, for which the following applies:

· The operator is the operator LIKE.

· LIKE conditions have the following format:
<column_spec> LIKE <extended_value_spec>

· The value specification used (extended_value_spec) must not begin with the match_string or match_set SQL syntax elements of a LIKE predicate.

To determine an optimal search strategy, Optimizer can only use LIKE conditions that satisfy these prerequisites.

Conditions with a format ...NOT (<column_spec> NOT LIKE <extended_value_spec>) are, where possible, converted into an <column_spec> LIKE <extended_value_spec> expression. Optimizer then continues to process this modified condition.


Restrictions for UPDATE Statements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restrictions for UPDATE Statements

The following restriction applies to the usage of search conditions for SQL statements that contain UPDATE: if the new value of a column is calculated in an arithmetic expression, then the Optimizer cannot use an inversion of this column (i.e. the corresponding index) for a search.

UPDATE <table_name>

SET columnx = columnx + 3

WHERE columnx IN (100, 103, 106, 109, 112)

This SQL statement could lead to errors in the results if the inversion lists were processed step-by-step with the values 100, 103, 106, 109, and 112.

The same restriction applies to SQL statements that contain FOR UPDATE in the SELECT part.


Search Strategies (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Search Strategies

Use

The database system can generally use various different strategies (search strategies) to access data.

Among other things, these search strategies differ in the costs that they incur when executed.

Features

The simplest search strategy is the sequential search, in which the entire table is scanned, row-by-row. However, for large quantities of data, the sequential search is often the most costly search strategy. For this reason, Optimizer analyzes other search strategies that scan smaller areas of the table.

The available search strategies depend on the search condition, the structure of the SQL statement and the design of the database (primary key and so on).

This documentation describes the following cases:

· Search Conditions for Key Columns

· Search Conditions for Indexed Columns

· Search Conditions for UPDATE Statements

· Search Conditions Linked with OR

· Postponement of the Search to the FETCH Time

· Join

Activities

To find out which search strategy the Optimizer has chosen for an SQL statement, use the EXPLAIN statement.

See also:

List of All Search Strategies

Concepts of the Database System, Database Design Tips


Sequential Search (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Sequential Search

In principle, every search can be performed sequentially across the entire table, row by row. This is necessary in the following cases:

· If a search condition has not been specified.

· If a search condition has not been specified for key columns or for indexed columns.

If the possible non-sequential search strategies would be more costly than the sequential search, the table is processed sequentially.


Search Conditions for Key Columns (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Search Conditions for Key Columns

If the SQL statement contains search conditions for key columns, the following search strategies can be used:

Search Condition | Search Strategy
Equality condition for every key column | The system accesses the corresponding table row(s) directly.
IN Condition for a key column; and an equality condition for all other key columns (all columns that precede the column with the IN condition in the key) | The system accesses the corresponding table row(s) directly.
Range conditions | Upper and lower limits for the valid key range are created for the key columns. All search strategies, including strategies using inversions, use the knowledge of this valid search range.


Search Conditions for Indexed Columns (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Search Conditions for Indexed Columns

If the SQL statement contains search conditions for indexed columns , the following search strategies can be used:

Search Condition | Search Strategy
Equality condition for all indexed columns | Those rows whose keys are included in the associated inversion list are accessed.
IN condition for indexed columns | The system accesses those rows whose keys are included in the inversion lists.
Range conditions with one condition only ( <, <=, >, >= ) for one of the two range limits (upper or lower limit) | The system accesses those rows whose keys are included in the inversion lists that were determined by the range.
Range conditions for which both range limits are specified. It is irrelevant to the selection of the search strategy whether this specification is made using a BETWEEN operator or using two conditions (<= or >=) for the same column linked by AND. | The system accesses those rows whose keys are included in the inversion lists that were determined by the range.

In the case of the equality/IN conditions and the range conditions, there are also queries for which it is not necessary to access the rows, since all required values are already included in the inversion list(s).

See also:

Examples: Search Conditions for Indexed Columns


Examples: Search Conditions for Indexed Columns (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples: Search Conditions for Indexed Columns

The following examples show search conditions for indexed columns of the example table, as well as the corresponding search strategies that are used.

Excerpt from SQL Statement

Search Strategy

... WHERE firstkey >= 123

The table is searched sequentially from the row with the key ‘123’.

... WHERE invcolumn1 = 'Miller' AND firstkey >= 123

The whole inversion list with the value ‘Miller’ is searched from the key ‘123’ to the end of the list.

... WHERE invcolumn1 = 'Miller' AND invcolumn2 < 'C'

The system creates a logical inversion list that contains all inversion lists of invcolumn2 that begin with a value smaller than 'C' (' ', 'A', 'B').

The intersection of the logical inversion list and the inversion list with the value ‘Miller’ is determined and this intersection is processed in full.

... WHERE invcolumn1 IN ('Miller', 'Smith', 'Hawk')

The three inversion lists are processed in full.

... WHERE invcolumn2 > 8965 AND firstkey = 34 AND secondkey BETWEEN 12 AND 18

All inversion lists of invcolumn2 whose values are greater than 8965 are processed. However, they are only considered within the key limits ‘34, 12’ and ‘34, 18’.

... WHERE
multinvcolumn1 = 'Boston' AND
multinvcolumn2 = '40223' AND
multinvcolumn3 = 10000

The entire inversion list of the named ind index with the values ‘Boston’, ‘40223’ and 10000 is processed.

... WHERE
multinvcolumn1 = 'Boston' AND
multinvcolumn2 BETWEEN '40221' AND'40238'

The inversion lists within and including the values ‘Boston', ‘40221’ (binary zeros), and ‘Boston’, ‘40238’ (binary ones) are processed.


Search Conditions Linked with OR (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Search Conditions Linked with OR

For SQL statements that contain search conditions linked with OR, the Optimizer initially analyzes each search condition individually.

b1 AND b2 AND (b3 OR (b4 AND b5))

The expressions b1, b2 and (b3 OR (b4 AND b5)) are initially analyzed individually. If the Optimizer finds an equality condition for key columns for b1 or b2, then it does not have to consider (b3 OR (b4 AND b5)) when selecting the search strategy since the search range cannot be effectively restricted any further.

If the system does not find any equality conditions for key columns, then the other search conditions linked with OR (not yet considered by the system) are analyzed. The Optimizer proceeds as follows:

..

1. Transformation into the disjunctive normal form

b1 AND b2 AND (b3 OR (b4 AND b5))

is transformed into the disjunctive normal form

(b1 AND b2 AND b3) OR (b1 AND b2 AND b4 AND b5)

2. Analysis of the new expression
The new parenthesized expressions are analyzed separately.

3. Determine costs
The costs of the various search strategies for the parenthesized expressions of the disjunctive normal form are totaled. If this total is lower than the initial determined cost for the search strategy, without considering the search conditions linked with OR, then these various search strategies are used.

If the total costs of (b1 AND b2 AND b3) and (b1 AND b2 AND b4 AND b5) are lower than the costs for the search strategy for b1 and b2, then the strategies for (b1 AND b2 AND b3) and (b1 AND b2 AND b4 AND b5) are used.


Postponement of the Search to the FETCH Time (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Postponement of the Search to the FETCH Time

As far as possible, the Optimizer creates results tables only when it is absolutely necessary.

If no results table needs to be created, the search can be postponed to the FETCH time (see FETCH Statement ). In this way, no memory is used for results, and the first results can be accessed quickly.

However, you cannot always postpone the search to the FETCH time, since some situations always require a results table to be created.

· SELECT for multiple tables (Join)

· SELECT ... FOR REUSE

A results table usually needs to be created in the following cases:

· SELECT DISTINCT ...

· SELECT ... ORDER BY ...

If all of the following conditions apply, no results table needs to be created:

¡ Neither a DISTINCT specification (<distinct spec>) (with a few exceptions), nor the syntax element FOR REUSE, are specified.

¡ The columns that you are sorting by constitute an index in the specified order and with the specified sort order (ascending or descending).

You can use the EXPLAIN statement to find out whether a results table is created (RESULT IS COPIED) or not (RESULT IS NOT COPIED).


Joins (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Joins

Use

A join is an SQL statement that links several tables with each other and returns a join table as its result.

Features

The Optimizer's task is to find the optimal sequence for processing the tables. The Optimizer tries to access the rows of the new tables to be linked as directly as possible and to keep the size of the intermediate result tables to a minimum. For this reason, it starts by processing joins for the smallest tables with the most restrictive search conditions. Initially, this keeps the temporary results tables small.

The order in which the tables are specified in the FROM clause of the SELECT statement has no influence on the order of their processing.

Search Strategies for Joins

The Optimizer can choose one of the following search strategies to access rows in the new table, starting from the join column values of the old temporary results table.

JOIN VIA INDEXED COLUMN

JOIN VIA KEY COLUMN

JOIN VIA KEY RANGE

JOIN VIA MULTIPLE INDEXED COLUMNS

JOIN VIA MULTIPLE KEY COLUMNS

JOIN VIA RANGE OF MULTIPLE INDEXED COL.

JOIN VIA RANGE OF MULTIPLE KEY COLUMNS

If the two columns that you want to compare in a join step do not have the same column length, the Optimizer cannot use all of the abovementioned search strategies. To avoid this restriction, define the same value range for any columns that you want to join together.

You can use the EXPLAIN statement (EXPLAIN Statement for Joins) to find out the search strategy chosen by Optimizer.

See also:

Database parameter JOIN_SEARCH_LEVEL


JOIN_SEARCH_LEVEL Database Parameter (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JOIN_SEARCH_LEVEL Database Parameter

The special database parameter JOIN_SEARCH_LEVEL is used by the SQL Optimizer for processing joins.

Defines the algorithm for the join sequence search and thus determines the cost and time of the join sequence search. You can either directly specify the algorithm to be used or have it calculated based on the parameters JOIN_MAXTAB_LEVEL4, JOIN_MAXTAB_LEVEL9 and the number of tables in the join.

To specify the algorithm directly, enter one of the following values for JOIN_SEARCH_LEVEL:

· 9: All possible join sequences are calculated (permutation algorithm).

· 4: Various join sequences are calculated, depending on the query structure (transformer algorithm).

· 1: The simplest algorithm is used for the join sequence search (greedy algorithm).

If you enter 0 as the JOIN_SEARCH_LEVEL, then the algorithm for the join sequence search is specified as follows:

Table Number n of the Join | Algorithm for the Join Sequence Search
n ≤ JOIN_MAXTAB_LEVEL9 | 9
JOIN_MAXTAB_LEVEL9 <n ≤ JOIN_MAXTAB_LEVEL4 | 4
JOIN_MAXTAB_LEVEL4 < n | 1

JOIN_SEARCH_LEVEL is set to 0.

JOIN_MAXTAB_LEVEL4 is set to 16.

JOIN_MAXTAB_LEVEL9 is set to 4.

Five tables are used for a join.

Join sequence search level 4 (transformer algorithm) is used for this join because JOIN_MAXTAB_LEVEL9 < 5 ≤ JOIN_MAXTAB_LEVEL4 applies.


List of All Search Strategies (SAP Library - MaxDB Library)

 Entering content frame

Background documentation List of All Search Strategies

The following lists all search strategies that are recognized by Optimizer. The names match the return codes of the EXPLAIN statement. You can use this statement to query the search strategy chosen by Optimizer for a particular SQL statement.

CATALOG KEY ACCESS

CATALOG SCAN

CATALOG SCAN USING USER EQUAL CONDITION

DIFFERENT STRATEGIES FOR OR-TERMS

EQUAL CONDITION FOR INDEX

EQUAL CONDITION FOR KEY

IN CONDITION FOR INDEX

IN CONDITION FOR KEY

INDEX SCAN

JOIN VIA INDEXED COLUMN

JOIN VIA KEY COLUMN

JOIN VIA KEY RANGE

JOIN VIA MULTIPLE INDEXED COLUMNS

JOIN VIA MULTIPLE KEY COLUMNS

JOIN VIA RANGE OF MULTIPLE INDEXED COL.

JOIN VIA RANGE OF MULTIPLE KEY COLUMNS

NO RESULT SET POSSIBLE

NO STRATEGY NOW (ONLY AT EXECUTION TIME)

RANGE CONDITION FOR KEY

RANGE CONDITION FOR INDEX

SUBQ CONDITION FOR INDEX

SUBQ CONDITION FOR KEY

TABLE SCAN


CATALOG KEY ACCESS (SAP Library - MaxDB Library)

 Entering content frame

Background documentation CATALOG KEY ACCESS

CATALOG KEY ACCESS is a search strategy.

This search strategy can be used for search conditions that contain equality conditions. These search conditions can be processed by accessing key columns in the database catalog.

A search condition for the table DOMAIN.TABLES contains equality conditions for OWNER and TABLENAME.

See also:

List of All Search Strategies


CATALOG SCAN (SAP Library - MaxDB Library)

 Entering content frame

Background documentation CATALOG SCAN

CATALOG SCAN is a search strategy. The system performs a sequential search of the database catalog.

See also:

List of All Search Strategies


CATALOG SCAN USING USER EQUAL CONDITION (SAP Library - MaxDB Library)

 Entering content frame

Background documentation CATALOG SCAN USING USER EQUAL CONDITION

CATALOG SCAN USING USER EQUAL CONDITION is a search strategy. The system performs a sequential search across those database catalog entries that describe objects of the specified user.

See also:

List of All Search Strategies


DIFFERENT STRATEGIES FOR OR-TERMS (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DIFFERENT STRATEGIES FOR OR-TERMS

DIFFERENT STRATEGIES FOR OR-TERMS is a search strategy.

The system transformed and analyzed search conditions linked with OR.

See also:

List of All Search Strategies


EQUAL CONDITION FOR INDEX (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EQUAL CONDITION FOR INDEX

EQUAL CONDITION FOR INDEX is a search strategy.

This search strategy can be used for search conditions that contain an equality condition for all columns of an index.

The system uses the inversion list to access the corresponding table rows directly.

See also:

List of All Search Strategies


EQUAL CONDITION FOR KEY (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EQUAL CONDITION FOR KEY

EQUAL CONDITION FOR KEY is a search strategy.

This search strategy can be used if both of the following conditions are fulfilled:

· The table has only one key column.

· An equality condition is specified for this key column in the search condition.

In this search strategy, the system accesses the appropriate table rows directly.

See also:

List of All Search Strategies


IN CONDITION FOR INDEX (SAP Library - MaxDB Library)

 Entering content frame

Background documentation IN CONDITION FOR INDEX

IN CONDITION FOR INDEX is a search strategy.

This search strategy can be used in the following cases:

· The search condition contains an IN condition for the first column of an index that consists of multiple columns.

· The search condition contains equality conditions for the first (k-1) columns of an index of this type and an IN condition for its k-th column.

The system uses the inversion lists to access the corresponding table rows directly.

See also:

List of All Search Strategies


IN CONDITION FOR KEY (SAP Library - MaxDB Library)

 Entering content frame

Background documentation IN CONDITION FOR KEY

IN CONDITION FOR KEY is a search strategy.

This search strategy can be used if the following applies:

· The table has only one key column.

· The search condition contains an IN condition for this key column.

The system accesses the corresponding table rows directly.

See also:

List of All Search Strategies


JOIN VIA INDEXED COLUMN (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JOIN VIA INDEXED COLUMN

JOIN VIA INDEXED COLUMN is a search strategy for joins.

This search strategy can be used if an index was created for the join column, and this index only contains this one column.

The rows of the new table are accessed through the index of the join column.

See also:

List of All Search Strategies


JOIN VIA KEY COLUMN (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JOIN VIA KEY COLUMN

JOIN VIA KEYCOLUMN is a search strategy for joins.

This search strategy can be used if the join column is the only key column.

The system accesses the table rows in the new table directly.

See also:

List of All Search Strategies


JOIN VIA KEY RANGE (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JOIN VIA KEY RANGE

JOIN VIA KEY RANGE is a search strategy for joins.

This search strategy can be used if the join column is the first key column.

Within the key range, the system accesses the table rows in the new table sequentially.

See also:

List of All Search Strategies


JOIN VIA MULTIPLE INDEXED COLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JOIN VIA MULTIPLE INDEXED COLUMNS

JOIN VIA MULTIPLE INDEXED COLUMNS is a search strategy for joins.

This search strategy can be used if the join columns can be combined in a complete index that includes multiple columns.

The rows of the tables that you want to join are accessed through this index.

See also:

List of All Search Strategies


JOIN VIA MULTIPLE KEY COLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JOIN VIA MULTIPLE KEY COLUMNS

JOIN VIA MULTIPLE KEY COLUMNS is a search strategy for joins.

This search strategy can be used if the join columns can be combined in the key of the new table. This key consists of multiple columns.

The system accesses the table rows in the new table directly.

See also:

List of All Search Strategies


JOIN VIA RANGE OF MULTIPLE INDEXED COL.

 Entering content frame

Background documentation JOIN VIA RANGE OF MULTIPLE INDEXED COL.

JOIN VIA RANGE MULTIPLE INDEXED COL. is a search strategy for joins.

This search strategy can be used if the join columns can be combined in the initial part of an index that includes multiple columns.

Within the index range, the system accesses the rows of the table.

See also:

List of All Search Strategies


JOIN VIA RANGE OF MULTIPLE KEY COLUMNS

 Entering content frame

Background documentation JOIN VIA RANGE OF MULTIPLE KEY COLUMNS

JOIN VIA RANGE MULTIPLE KEY COLUMNS is a search strategy for joins.

This search strategy can be used if the join columns can be combined as the initial part of the key of the new table. This key consists of multiple columns.

Within the key range, the system accesses the table rows in the new table sequentially.

See also:

List of All Search Strategies


NO RESULT SET POSSIBLE (SAP Library - MaxDB Library)

 Entering content frame

Background documentation NO RESULT SET POSSIBLE

The Optimizer recognizes any search conditions that can have no logical result. In this case, no search is performed.

See also:

List of All Search Strategies


NO STRATEGY NOW (ONLY AT EXECUTION TIME) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation NO STRATEGY NOW (ONLY AT EXECUTION TIME)

NO STRATEGY NOW (ONLY AT EXECUTION TIME) is a search strategy.

If the column values of a subquery are not known until the subquery is executed, then the most effective search strategy for accessing the table is not determined until the values are provided.

See also:

List of All Search Strategies


RANGE CONDITION FOR KEY (SAP Library - MaxDB Library)

 Entering content frame

Background documentation RANGE CONDITION FOR KEY

RANGE CONDITION FOR KEY is a search strategy.

This search strategy is used if a range condition exists for a key column.

The system performs a sequential search of the specified range of the table.

See also:

List of All Search Strategies


SUBQ CONDITION FOR KEY (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SUBQ CONDITION FOR KEY

SUBQ CONDITION FOR KEY is a search strategy.

This search strategy can be used if both of the following conditions are fulfilled:

· The table has only one key column.

· There is one range condition for a key column.

· An equality condition is specified for this key column in the search condition.

The values for the key column come from a subquery.

See also:

List of All Search Strategies


RANGE CONDITION FOR INDEX (SAP Library - MaxDB Library)

 Entering content frame

Background documentation RANGE CONDITION FOR INDEX

RANGE CONDITION FOR INDEX is a search strategy.

This search strategy can be used if the search condition contains equality conditions or range conditions for the first k columns of an index.

The system uses the inversion lists in this range to access the corresponding table rows directly.

See also:

List of All Search Strategies


SUBQ CONDITION FOR INDEX (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SUBQ CONDITION FOR INDEX

SUBQ CONDITION FOR INDEX is a search strategy.

This search strategy can be used in the following cases:

· The search condition contains equality conditions or range conditions for the first k columns of an index.

· The search condition contains one equality condition for all columns of an index.

The values for the inversion list or index columns come from a subquery.

See also:

List of All Search Strategies


INDEX SCAN (SAP Library - MaxDB Library)

 Entering content frame

Background documentation INDEX SCAN

INDEX SCAN is a search strategy.

The system performs a sequential search of the entire specified index.

See also:

List of All Search Strategies


TABLE SCAN (SAP Library - MaxDB Library)

 Entering content frame

Background documentation TABLE SCAN

TABLE SCAN is a search strategy.

The system performs a sequential search of the entire table.

See also:

List of All Search Strategies


Cost Determination (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Cost Determination

The Optimizer determines the costs of every possible search strategy.

To determine the costs of a search strategy, the Optimizer estimates how many I/O operations the database system would likely need to execute for that search strategy. To make the estimate, the Optimizer takes random samples and uses statistical information supplied by the database system (see SQL Optimizer Statistics).

The Optimizer does not consider costs incurred by resources such as CPU time or memory usage.

The cost of a search strategy is largely dependent upon the form of the search condition specified in the SQL statement. Formulate SQL statements in such a way that the database system only has to search the table rows that are actually needed and the result and intermediate result tables can be kept as small as possible.

You can use the EXPLAIN statement to display the search strategy and costs determined by the Optimizer for an SQL statement.


SQL Optimizer Statistics (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SQL Optimizer Statistics

Use

The database system determines a series of statistical information when it is running, such as the number of table entries, the sizes of the tables and indexes and the value distribution of indexes and columns. The database system stores these statistics in the database catalog.

The SQL Optimizer requires these statistics to determine the best strategy for processing complex SQL statements. You therefore have to update these statistics at regular intervals.

We recommend that you update the statistics once a week. Always update the statistics whenever the size relationships or values in the database instance change considerably.

Activities

To update the SQL Optimizer statistics use the Database Manager or, in SAP systems, the CCMS. See

· Database Manager GUI, Update Statistics Information

· Database Manager CLI,

¡ Updating the Optimizer Statistics

¡ Automatically Updating the Optimizer Statistics

· Database Administration in CCMS, Structure link Scheduling the Update of the SQL Optimizer Statistics

See also:

Concepts of the Database System, Performance


Examples (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples

The examples used in this documentation refer to the following tables and indexes:

· Tables (example, one, ten1, ten2)

· Indexes (invcolumn1, invcolumn2, indf, ind)


example (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text example

Definition of the table example

EXEC SQL CREATE TABLE example
  (firstkey         FIXED (3) KEY,
   secondkey        FIXED (4) KEY,
   normalcolumn     FIXED (5),
   invcolumn1       CHAR (15),
   invcolumn2       CHAR (9),
   multinvcolumn1   CHAR (22),
   multinvcolumn2   CHAR (5,
   multinvcolumn3   CHAR (8,
   PRIMARY KEY (firstkey, secondkey));

Two single-column indexes (invcolumn1 and invcolumn2), and one multi-column index ind are defined for the example table.


ind (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text ind

Definition of the index ind

EXEC SQL CREATE INDEX ind ON example (multinvcolumn1, multinvcolumn2, multinvcolumn3);


indf (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text indf

Definition of the index indf

EXEC SQL CREATE INDEX indf on one (indf);


invcolumn1 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text invcolumn1

Definition of the index invcolumn1

EXEC SQL CREATE INDEX invcolumn1 ON example (invcolumn1);


invcolumn2 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text invcolumn2

Definition of the index invcolumn2

EXEC SQL CREATE INDEX invcolumn2 ON example (invcolumn2);


one (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text one

Definition of the table one

EXEC SQL CREATE TABLE one
  (keyf         FIXED (6),
   indf         FIXED (3),
   ...,
   PRIMARY KEY (keyf));   /*1000 rows*/

The index indf is created for the table one.


ten1 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text ten1

Definition of the table ten1

EXEC SQL CREATE TABLE ten1
  (keyft1         FIXED (6),
   ft1            FIXED (3),
   ...,
   PRIMARY KEY (keyft1));   /*10000 rows*/


ten2 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text ten2

Definition of the table ten2

EXEC SQL CREATE TABLE ten2
  (keyft2         FIXED (6),
   ...,
   PRIMARY KEY (keyft2));   /*10000 rows*/


Troubleshooting (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Troubleshooting

Purpose

If the database system is taking too long to process an SQL statement, analyze your database.

Process Flow

..

1. You use the EXPLAIN statement to find out which search strategy the Optimizer is using for the SQL statement.

See EXPLAIN Statement

2. You check your database design.

See Concepts of the Database System, Database Design Tips


EXPLAIN Statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EXPLAIN Statement

You can use the EXPLAIN statement to find out which search strategy Optimizer selected for an SQL statement.

Syntax

EXPLAIN <query_statement>

EXPLAIN SELECT *

FROM example

WHERE firstkey > 30

The result of an EXPLAIN statement is a table. The STRATEGY column shows you the search strategy that Optimizer selected for this SQL statement. The PAGECOUNT column shows you the costs determined for the chosen search strategy.

The EXPLAIN statement returns the following table:

TABLE NAME | COLUMN_ OR_INDEX | STRATEGY | PAGE COUNT
EXAMPLE | FIRSTKEY | RANGE CONDITION FOR KEY RESULT IS NOT COPIED, COSTVALUE IS | 1250 97

This means that the table examplehas 1250 pages; the I/O costs for executing this SQL statement are 97 pages.

For a complete syntax description of the EXPLAIN statement, see the Reference Manual, under EXPLAIN Statement (explain_statement).

See also:

· EXPLAIN Statement for Joins

· EXPLAIN Statement for Complicated SELECT Statements

· EXPLAIN Statement for SELECT Statements with Subqueries


EXPLAIN Statement for Joins (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EXPLAIN Statement for Joins

The following information is displayed if the EXPLAIN statement is used for joins:

· The order in which the tables are processed when the SELECT statement is executed

· Whether the rows of a new table can be accessed directly from the values in the join columns of the old temporary results table or whether they can be accessed through an inversion

· The strategy used to search the new table, if the rows of this table cannot be accessed directly or using an inversion

EXPLAIN SELECT one.key ten1.keyft1, ten2.keyft2
FROM one, ten1, ten2
WHERE ten1.keyft1 < 100
  AND ten1.ft1    = one.keyf
  AND one.indf    = ten2.keyft2
  AND ten2.keyft2 < 100;

This EXPLAIN statement returns the following result:

TABLE NAME

COLUMN_
OR_INDEX

STRATEGY

PAGE COUNT

TEN1

ONE

TEN2

KEYFT1

KEF

KEYFT2

RANGE CONDITION FOR KEY

JOIN VIA KEY COLUMN

JOIN VIA KEY COLUMN

RESULT IS COPIED, COSTVALUE IS

1250

125

1463

97

This result should be interpreted as follows:

§ The joins of the tables are performed in the order TEN1, ONE, TEN2.

§ The table TEN1 has a total of 1250 pages, the table ONE has 125 pages, and the table TEN2 has 1463 pages.

§ The I/O costs for executing the SQL statement are 97 pages.

§ The table TEN1 is selected with the key keyft1. The table ONE is accessed with the primary key KEF. The table TEN2 is accessed with the primary key KEYFT2.

See also:

Explanations of the examples


EXPLAIN Statement for Complicated SELECT Statements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EXPLAIN Statement for Complicated SELECT Statements

The Optimizer breaks down complicated SELECT statements into multiple internal SELECT steps that create temporary results.

For SELECT statements of this type, the EXPLAIN statement provides multiple search strategies. INTERNAL TEMPORARY RESULT is specified as the table name. Searches across internal temporary results of this type are only ever sequential.


EXPLAIN Statement for SELECT Statements with Subqueries (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EXPLAIN Statement for SELECT Statements with Subqueries

To determine the cost of search strategies where the value of a column is compared with the hit rows of a subquery, the Optimizer must know the number of hit rows. However, the number of hit rows is not known until the subquery has been processed.

For a SELECT statement with subqueries, the EXPLAIN statement determines the possible search strategies, but does not execute these subqueries. Therefore, the search strategy NO STRATEGY NOW (ONLY AT EXECUTION TIME) is usually displayed for the outer SQL statement.


STRATEGY Column (SAP Library - MaxDB Library)

 Entering content frame

Background documentation STRATEGY Column

The result of the EXPLAIN statement is a table that consists of multiple columns. The STRATEGY column displays the search strategy used by the Optimizer for the SQL statement. The list of all search strategies shows you the various strategies, together with explanations.

As well as the search strategy, the Optimizer can also display the following information in the STRATEGY column:

Note | Meaning
ONLY INDEX ACCESSED | Only the specified index is used to process the SQL statement; the data in the basis table is not accessed. This is possible only if the SQL statement addresses only those columns that are included in the index structure.
DISTINCT OPTIMIZATION (A) | The complete key is included in the SELECT list/output columns. This means that the result is automatically free from duplicates.
DISTINCT OPTIMIZATION (C) | Complete secondary key After the key word DISTINCT, all columns of an index (and only these columns) are specified in a random order (DISTINCT Specification (distinct_spec)). The system accesses the values for each index column only once. No results table is created. SELECT DISTINCT <all_columns_of_index> FROM ...
DISTINCT OPTIMIZATION (P) | Partial secondary key After the key word DISTINCT, the first k (where k < total number of index columns) columns of an index are specified in a random order. The system accesses the values for each index column only once. No results table is created. SELECT DISTINCT <first_k_columns_of_index> FROM ...
DISTINCT OPTIMIZATION (K) | Primary key After the key word DISTINCT, all columns of an index and the first k (where k < total number of index columns) columns of the key are specified in a random order. The system accesses the values for the corresponding index and key columns only once. No results table is created. SELECT DISTINCT <all_columns_of_index_+_first_k_columns_of_key> FROM ...
TEMPORARY INDEX CREATED | A temporary index is created internally, in which the keys of the hit rows determined by the corresponding index columns are stored in ascending order. The system accesses the basis table using this temporary index.
ADDNL. QUALIFICATION ON INDEX | There are search conditions for index or key columns that cannot be used for the direct containment of the range for accessing an index (for example, in the case of an equality /IN condition, for the first and third columns of a multi-column index, only the first search condition of the search strategy is used for accessing the index). The usage of these search conditions for restricting access to the basis table makes them part of the corresponding index strategy

For more information on the structure of the results table, see the Reference Manual under EXPLAIN Statement.


Troubleshooting (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Troubleshooting

Use

For an overview of common errors, see Typical Error Situations.

The following aids, among others, are available for troubleshooting:

· Message Manual

This documentation explains (error and information) messages from the database system and recommends how you can react to them. The messages are sorted by error number.

· Database tools:

¡ Database Manager GUI, Diagnosis Options

¡ Database Manager CLI, Analyzing the Database Instance

¡ Database Analyzer (analyzing performance)

¡ XCONS (displaying information about the database instance)

· Log Files

· Traces

· Checking Database Structures

In SAP systems, use the CCMS; see:

· Database Administration in CCMS: MaxDB, Structure link Problem Analysis

· Database Administration in CCMS: SAP liveCache Technology, Structure link Problem Analysis

Open source users have the following additional options:

· Searching the archive of the MaxDB mailing list: lists.mysql.com/search.php

· Tracking Problem Messages with WebPTS

See also:

Monitoring

Performance

Support


Typical Error Situations (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Typical Error Situations

We recommend that you monitor the database instance continuously. For more information, see Monitoring.

Typical Error Situations

Problem | Typical Symptoms | Solutions
Data area is full | All tasks are suspended, the system is “hanging” | Add a new data volume. See: Database Manager GUI, Creating Volumes Database Manager CLI, Adding Volumes Database Administration in CCMS: SAP liveCache Technology, Structure link Configuring Volumes
Log area is full | All tasks are suspended, the system is “hanging” No upgrade possible (loading system tables fails) | Save the log entries Then, if necessary, add a new log volume (see above). The new log volume will only be used by the database system when the redo log entries in the old log volume have been backed up.
Database instance is in the ONLINE operational state | Users cannot log on to the database instance. | Start the database instance. See: Database Manager GUI, Starting (Restarting) the Database Instance Database Manager CLI, Transferring to the ONLINE Operational State Database Administration in CCMS: SAP liveCache, Structure link Starting liveCache
Maximum number of database sessions reached | No further users can log on to the database instance. | Raise the value of the general database parameter MAXUSERTASKS.
X Server is not running | Users cannot log on to a database instance on another computer. | Start the X Server.

See also:

Troubleshooting

Installation Manual, Error Handling


Log Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Log Files

Use

The database system, database tools and interfaces write information and error messages in log files. Most log files are text files that you can read with a text editor.

Exceptions:

· Binary log files

· Log files that are only generated by the database system when requested by a user

To display the contents of such log files, use the Database Manager database tool, or the CCMS in SAP systems. You need the file ID of the log file.

Note that file IDs are case-sensitive.

See:

· Database Manager GUI, Reading Database Files

· Database Manager CLI, Opening a Database File

· Database Administration in CCMS: MaxDB, Structure link Logs and Structure link Messages

· Database Administration in CCMS: SAP liveCache Technology, Structure link Logs and Structure link Messages

For more information about the most important database directories, see Directories. For a list of the variables that are used for directory names in the documentation, see Variables and Examples.

Kernel Logs

File Name | File ID | Contents | Directory
knldiag | KNLDIAG | Current kernel log of the database instance Contains all kernel messages (error messages, warnings and information) See also the special database parameter KNLDIAGSIZE | Run Directory of the database instance: <independent_data_path>\wrk\<database_name>
knlmsg | KNLMSG | Detailed current kernel log of the database instance Contains all kernel messages (error messages, warnings and information) You can use the Database Manager to display more information about the messages. Pseudo XML file | Run directory of the database instance
knldiag.err | KNLDIAGERR | Error messages and start messages of the kernel since installation | Run directory of the database instance
knldiag.old | KNLDIAGOLD | Last kernel log (before the last restart) | Run directory of the database instance

General Log Files

File Name | File ID | Contents | Directory
<database_name>.pah | DBMPAHI | History of the database parameters | <independent_data_path>\config
<database_name>.prt | KNLTRCPRT | Text version of the database trace | Run directory of the database instance: <independent_data_path>\wrk\<database_name>
knldump | KNLDUMP | Memory dump after a database crash | Run directory of the database instance
knlmini.dmp | - | Only for Microsoft Windows Memory dump after database kernel crash (for postmortem debugging) See support database parameter MINI_DUMP | Run directory of the database instance
knltrace | KNLTRC | Binary log file of the database trace; can also contain information about the cause of the crash. The database system initializes this file each time the database instance is started. | Run directory of the database instance
MaxDBInstanceCreation_install-<date-ID>.log |  | Log of the software installation See also Installation Manual, Logging | <independent_data_path>\wrk
rtedump | RTEDUMP | Latest values of the runtime environment of the database instance | Run directory of the database instance

liveCache-Specific Log Files

File Name | File ID | Contents | Directory
lcinit.his | LCINITHIS | History of all start, stop and initialization actions in the liveCache. Information from the log lcinit.log is attached to this history. | Run directory of the database instance: <independent_data_path>\wrk\<database_name>
lcinit.log | LCINIT | Information for starting, stopping and initializing the SAP liveCache with the CCMS function of the SAP system | Run directory of the database instance

Database Manager Log Files

File Name

File ID

Contents

Directory

dbahist.prt

DBAHIST

For SAP systems only

Log of the database administration activities

<independent_data_path>\wrk\<database_name>\dbahist

dbm.ebf

BACKEBF

Only for backup tools from other providers

Backup history

The dbm.ebf log file identifies the backup ID and the external backup ID for each backup.

Run directory of the database instance: <independent_data_path>\wrk\<database_name>

dbm.ebp

BACKEBP

Only for backup tools from other providers

The log of the last backup

Run directory of the database instance

dbm.ins

INSTPRT

Log of loading/updating the system tables

Run directory of the database instance

dbm.knl

BACKHIST

Backup history

Contains all backups and restore actions. If no backups have yet been executed or the backup history was interrupted, HITSLOST is displayed.

For information about the log files of backup tools from other providers, see the respective documentation.

Run directory of the database instance

dbm.mdf

BACKMDF

History of the backup media used for the backups

Run directory of the database instance

dbm.prt

DBMPRT

Log of the DBM Server

Contains all administration commands sent to the DBM Server

Run directory of the database instance

dbm.utl

UTLPRT

Contains administration commands sent from the DBM Server to the database kernel

Run directory of the database instance

dbmsrv_<database_computer>

DBMSRV

Instance –independent log of the DBM Server

<independent_data_path>\wrk

Loader Log Files

File Name | File ID | Contents | Directory
loader.prt |  | Log of the Loader See Loader, Log File | <loader_appplication_data>\log
loader.prt | LOADER | Log of the Loader server | <independent_data_path>\wrk
transport.log |  | Transformation history See Loader, Transport Mode | <loader_user_data>\packages

X Server Log Files

File Name | File ID | Contents | Directory
xserver_<computer_name>.prt | XSRVPROT | Log of the X Server | <independent_data_path>\wrk
xserver_<computer_name>.old | XSRVPROTOLD | Last log of the X Server | <independent_data_path>\wrk
srvmini.dmp | - | Only for Microsoft Windows Memory dump after X Server crash (for postmortem debugging) See support database parameter MINI_DUMP | <independent_data_path>\wrk

Database Analyzer Log Files

File Name | File ID | Contents | Directory
DBAN.prt | ANALYZER#\DBAN.prt | Logs of the Database Analyzer | <independent_data_path>\wrk\analyzer
DBAN.inf | ANALYZER#\DBAN.inf | Status of the Database Analyzer | <independent_data_path>\wrk\analyzer
DBAN.err | ANALYZER#\DBAN.err | Errors of the Database Analyzer | <independent_data_path>\wrk\analyzer
Other log files |  |  |

Event Dispatcher Log Files

File Name | File ID | Contents | Directory
dbmevtdisp.prt | EVTDISPPRT | Log of the Event Dispatcher | Run directory of the database instance: <independent_data_path>\wrk\<database_name>

Synchronization Manager Log Files

File Name | File ID | Contents | Directory
Your choice Defined in the file MSGSERVER.XML |  | Log of the message server | Your choice Defined in the file MSGSERVER.XML

See also:

Traces

Directories

Monitoring

Troubleshooting


Traces (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Traces

Use

You can use various traces to obtain detailed logs of the actions of the database system.

Performance can decline while a trace is being written. You should therefore switch off the trace as soon as the actions necessary for the analysis have been logged.

As long as a trace is being written, operate the database instance with the lowest possible load and execute only those actions that are necessary to reproduce the error.

Traces

Name

Log File (Default Value)

Description

Database trace

knltrace

The trace writer task logs all kernel messages.

You can use the log file to identify errors, such as those that occur while processing SQL statements.

Switching on the database trace only has a negative effect on performance with liveCache database instances. This is not the case with MaxDB database instances.

ODBC trace

sqltrace.pct

The MaxDB ODBC driver logs all SQL statements that the application transmits to the database system.

This ODBC trace is not identical to the SQL.LOG trace that you can switch on and off in the ODBC Data Source Administrator (Microsoft Windows) in register tracing.

JDBC trace

Your choice

The MaxDB JDBC driver logs all JDBC API calls and their input parameters, return values and the corresponding thread.

SQLDBC Traces

sqldbctrace-<pid>.prt

in the directory

<user_home>\Application Data\sdb (Microsoft Windows)

<user_home>/.sdb (UNIX/Linux)

<pid>= process ID

Traces of the MaxDB SQLDBC interface

Activities

· Switch on the database trace: Use the Database Manager database tool, or in SAP systems the CCMS.

¡ Database Manager GUI,Using the Database Trace

¡ Database Manager CLI, Activating the Database Trace

¡ Database Administration in CCMS, Structure link Database Trace

· Switch on the ODBC trace: Specify the corresponding option for the data source; see ODBC Manual, Logging SQL Statements (Windows) or Logging SQL Statements (UNIX/Linux).

· Switch on the JDBC trace: Specify the corresponding option for the connection setup; see JDBC Manual, Specifying Other Connection Options.

· Switch on the SQLDBC traces: Use the database tool sqldbc_cons or in SAP systems the CCMS:

¡ SQLDBC Manual, SQLDBC Traces

¡ Database Administration in CCMS, Structure link SQLDBC Trace

See also:

Troubleshooting


Checking Database Structures (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Checking Database Structures

Purpose

In a database structure check, the database system checks if the database structures are consistent (such as the consistency of the B* trees, see Data Storage and Access), but it does not check the semantics of the data model. You cannot, therefore, find any logical errors with a database structure check.

We recommend that you check the database structure once a week. To avoid disrupting operation, you can perform the database structure check on a database copy.

You should perform an unscheduled database structure check if you receive one of the following error messages: -9053: Data page corrupted, -9023: Illegal entrypos, -9003: Illegal entrylength, -9006: Illegal keylength, -9041: Index not accessible

Process Flow

To start the database structure check, use the Database Manager database tool or CCMS in SAP systems.

· Database Manager GUI, Checking Database Structures

· Database Administration in CCMS,

¡ Structure link Scheduling a Database Structure Check

¡ Structure link Tables/Views/Synonyms (checking a single table)

You choose one of the following functions:

Functions for Checking Database Structures

Function

Description

Checking all data in the ONLINE operational state

In the ONLINE operational state, the database system checks the structural consistency of all the tables, indexes LONG columns etc. in the cache and the data area.

Whenever the database system reads data pages from the data area, it calculates a checksum that has to match the checksum saved on the page.

The database system does a complete run through all B* trees and page chains. It checks whether all the pages of the B* trees and page chains can be accessed and whether the administration structures (for example the separators on the B* tree index level) on the pages are intact.

EXTENDED: You can also check the length and ascending order of keys, among other things.

Checking all the data and cleaning up the converter in the ADMIN operational state

In the ADMIN operational state, the database system initially performs the same checks as in the ONLINE operational state.

Then the database system cleans the converter based on the results of the checks: It deletes all the pages that it didn’t read during the check, that is, those that no longer exist in the dataset.

Checking a selected table in the ONLINE operational state

In the ONLINE operational state, you can also examine an individual table.

The database system performs the same checks as during the check of the entire dataset in the ONLINE operational state. You can also check all LONG values and the database catalog for individual tables.

Result

The database system lists all the commands used in the database structure check in the log files DBM.UTL and DBM.PRT; errors and return codes are also logged there.

Return code 0 means that the database system found no errors during the database structure check. If the database structure check returns any other error code, proceed as described in the section Fixing Errors in the Data Structure.

Example

Example: Errors in the Data Structure

See also:

Troubleshooting

Log files


Fixing Errors in the Data Structure (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Fixing Errors in the Data Structure

Use

After a database structure check, you analyze the errors and attempt to correct them.

Prerequisites

You have checked the data structures.

Procedure

...

1. Display the kernel log (see Log Files).

In the kernel log, the start of the database structure check is marked with the keyword CHECK, followed by the results of the database structure check and any errors.

Typical error message:

2005-04-08 09:40:30 0x37C ERR 53019 CHECK Base error: bad_datapage

2005-04-08 09:40:30 0x37C ERR 53019 CHECK Root pageNo: 104236

2. For each error, identify the number of the root page (ROOT) of the respective B* tree; or for SAP liveCache data, the root page of the respective page chain.

3. Use the ROOTS system table, or for SAP liveCache data the CLASSCONTAINER_ROOTS system table, to infer the affected base table or the affected index from the number of the root page (see the Reference Manual, Analyzing System Tables).

4. If the error has affected an index, restore the damaged index. See:

¡ Database Manager GUI, Restoring Indexes After Database Restore

¡ Database Manager CLI, Restoring a Damaged Index

¡ Database Administration in CCMS: MaxDB, Structure link Index Analysis

5. If the error affects a base table, you have the following options:

¡ You delete the base table. You can try to reconstruct the base table from other tables.

¡ You restore the database instance using the Database Manager. To do this, you use the backup that was created before the last successful database structure check.

6. If you had not yet done a database structure check for the database instance, then perform another database structure check for the table that was damaged after you import the backup. If the database system finds errors again, then import an older backup. See:

¡ Database Manager GUI, Restoring from an Earlier Backup

¡ DatabaseManager CLI, Restoring the Database Instance

Example

Example: Errors in the Data Structure


Example: Error in the Data Structure (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Error in the Data Structure

A base table contains a defective data page on the leaf level of the B* tree of the base table: leaf number 44690 with block address 1/564.

During a check of the database structure, the database system notices that the checksum for the data page is incorrect. The database system writes the following information in the kernel log (see Log Files):

· Error in the checksum

· Page number with data volume and block address information.

· Page number in the B* tree

· Type of the database object represented by the B* tree

· Root page of the B* tree

· Error message

Then the database system internally marks the database object as BAD.

Excerpt from the Kernel Log

2005-04-08 09:40:28 0xCEC ERR 4 Data Data_BasePage.cpp:124

2005-04-08 09:40:28 AM 0xCEC ERR 4 Data 2005-04-08 09:40:28 AM Data Error 4

2005-04-08 09:40:28 0xCEC ERR 4 Data Checksum mismatch; calculated: 5468846 found: 22246062

2005-04-08 09:40:28 0xCEC ERR 25 IOMan IOMan_Volume.cpp:500

2005-04-08 09:40:28 AM 0xCEC ERR 25 IOMan 2005-04-08 09:40:28 AM IOMan Error 25

2005-04-08 09:40:28 0xCEC ERR 25 IOMan Bad page on Data volume 1 blockno 564

2005-04-08 09:40:30 0xCEC ERR 36 IOMan IOMan_Manager.cpp:1007

2005-04-08 09:40:30 0xCEC ERR 36 IOMan 2005-04-08 09:40:30 IOMan Error 36

2005-04-08 09:40:30 0xCEC ERR 36 IOMan Bad data page 44690

2005-04-08 09:40:30 0xCEC ERR 18 Data vbd13.cpp:2426

2005-04-08 09:40:30 0xCEC ERR 18 Data 2005-04-08 09:40:30 Data Error 18

2005-04-08 09:40:30 0xCEC ERR 18 Data Bad data page 44690 of filetype 'Table' identified by root 104236

2005-04-08 09:40:30 0xCEC ERR 53021 B*TREE Bad File: 104236 (Root)

2005-04-08 09:40:30 0xCEC ERR 53000 B*TREE 0D000000000000000388000000000000

2005-04-08 09:40:30 0xCEC ERR 53000 B*TREE Table Root 104236

2005-04-08 09:40:30 0x37C ERR 53019 CHECK Base error: bad_datapage

2005-04-08 09:40:30 0x37C ERR 53019 CHECK Root pageNo: 104236

See also:

Checking Database Structures

Data Storage and Access


Developing Database Applications (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Developing Database Applications

Purpose

Most applications use a database to store and manage data. There are a number of MaxDB interfaces for different programming languages; you can use these to bind a database application to a MaxDB database instance.

Prerequisites

You have created a database instance (see Creating and Configuring a Database Instance).

Process Flow

...

1. You design your data model.

2. Using SQL, you define the corresponding tables, indexes etc., in the database.

To store the data physically and access it later, the database system uses special internal structures. See Data Storage and Access.

3. You select the interface through which your database application is to access the database instance.

4. You bind the database application to the database instance using the selected interface.

Result

Users of the database application can query and change data.

Example

· Example: Connecting OpenOffice to MaxDB Using ODBC (Windows)

· Example: Connecting OpenOffice to MaxDB Using JDBC (Linux)

See also:

Overview of the Database System

SQL

Technical System Landscape

Database tools

For information about how you can further develop the MaxDB software, see Open Source Development of the Database Software; and in the documentation, see Development Environment.


Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Windows)

 Entering content frame

This graphic is explained in the accompanying text Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Windows)

Prerequisites

· You use a supported Microsoft Windows operating system.

· You have installed OpenOffice (www.openoffice.org).

· You have installed the MaxDB software including the ODBC driver (see the Installation Manual, Installation Profile) and configured it (see ODBC, Installation on Microsoft Windows).

· You have created the database instance DEMODB, the database user MONA and the schema HOTEL and filled the tables with data (see SQL Tutorial, HOTEL Demo Schema for the SQL Tutorial).

· The database instance DEMODB is in the ONLINE operational state.

· The X Server is started.

Procedure

Depending on your system landscape, the procedure may differ from the one described here.

...

1. Call the ODBC Data Source Administrator.

2. To create a new data source for DEMODB, go to the User DSN tab and choose Add...

3. Choose the MaxDB ODBC driver MaxDB and enter the following information:

ODBC Configuration of Data Sources

Property | Value
Data Source Name | Enter a name, for example maxdb_demodb
Description | Description, for example My demo database
Server | Computer on which the database instance is located. You can leave this field empty if the database instance is located on the local computer.
Database | DEMODB

To make optional entries, choose Settings.

4. Confirm all entries and close the ODBC Data Source Administrator.

5. Configure the database instance DEMODB as a data source in OpenOffice. To do this, you require the following information:

Information on the Data Source

Property | Value
Name | Name of your choice, for example demo database
Database Type | ODBC
Data Source URL | Data source, for example maxdb_demodb
User Name | Name of the database user, for example MONA
Password Required | Specifies whether a password is required

Result

Now you can display and edit the tables of the database instance. If required, enter the password of the database user.

Always specify the user name and password in uppercase.

If problems occur when you log on to the database instance, or if the tables are not displayed correctly, then you can switch on the ODBC trace for troubleshooting; see Traces. Note that writing a trace seriously affects the database system’s performance.

See also:

Interfaces

Developing Database Applications

ODBC Manual


Example: Connecting OpenOffice to MaxDB Using JDBC (Linux) (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Connecting OpenOffice to MaxDB Using JDBC (Linux)

Prerequisites

· You use a supported Linux operating system.

· You have installed OpenOffice (www.openoffice.org).

· You have installed JDK 1.2 or above.

· You have installed the MaxDB software including the JDBC driver (see Installation Manual, Installation Profiles).

· You have added the path MaxDB JDBC driver for the Java environment variable CLASSPATH (see JDBC Manual, Adding the JDBC Driver for the Environment Variable CLASSPATH).

· You have created the database instance DEMODB, the database user MONA and the schema HOTEL and filled the tables with data (see SQL Tutorial, HOTEL Demo Schema for the SQL Tutorial).

· The database instance DEMODB is in the ONLINE operational state.

· The X Server is started.

Procedure

Depending on your system landscape, the procedure may differ from the one described here.

...

1. Add the MaxDB JDBC driver to the Class Path field in OpenOffice: <independent_program_path>/runtime/jar/sapdbc.jar

/opt/sdb/programs/runtime/jar/sapdbc.jar

2. Configure the database instance DEMODB as a data source in OpenOffice. To do this, you require the following information:

Information on the Data Source

Property | Value
Name | Enter any name for the data source, for example demo database
Database Type | JDBC
JDBC Driver Class | com.sap.dbtech.jdbc.DriverSapDB
URL | Path of the database source, for example jdbc:sapdb://localhost/DEMODB
User Name | Name of the database user, for example MONA
Password Required | Specifies whether a password is required

Result

Now you can display and edit the tables of the database instance. If required, enter the password of the database user.

Always specify the user name and password in uppercase.

If problems occur when you log on to the database instance, or if the tables are not displayed correctly, then you can switch on the JDBC trace for troubleshooting; see JDBC Manual, Specifying Other Connection Options.

See also:

Interfaces

Developing Database Applications

JDBC Manual


Appendix (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Appendix

Operating Mode of Command Line Programs

Syntax Notation

Variables and Examples


Operating Mode of Command Line Programs (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Operating Mode of Command Line Programs

Use

When you call a command line program, you choose an operating mode. You can call the following command line programs in various operating modes:

· Database Manager CLI

· SQLCLI

The Loader also has several operating modes. However, they are different than the operating modes described here.

Operating Mode

Name | Description
Command mode | Together with the program call, you enter any options and then exactly one command. The command is executed. Then the session and the program are ended.
Session mode | First you just call the program and establish the connection with the database instance. You can now enter and execute commands in succession without the program or the connection to the database instance being ended. To exit session mode, you end the program. This also closes the connection to the database instance.
Script mode | You enter the name of a script file that contains the commands to be executed when you call the program. The program executes the script in the background.

Activities

Database Manager CLI, Calling the Database Manager CLI

SQLCLI, Executing Commands

Loader, Calling the Loader

Example

The following examples use the database instance DEMODBand the DBM operator OLEG with the password MONDAY.

Using the Database Manager CLI in Command Mode

Transferring the database instance to the ONLINE operational state:

dbmcli –d DEMODB –u OLEG,MONDAY db_online

Using the Database Manager CLI in Session Mode

Calling the Database Manager CLI in session mode:

dbmcli –d DEMODB –u OLEG,MONDAY

dbmcli on DEMODB>

Transferring the database instance to the OFFLINE operational state:

dbmcli on DEMODB> db_offline

Transferring the database instance to the ADMIN operational state:

dbmcli on DEMODB> db_admin

Exiting the Database Manager CLI:

dbmcli on DEMODB> exit

Using the Database Manager CLI in Script Mode

Executing the script C:\tmp\testscript:

dbmcli –d DEMODB –u OLEG,MONDAY –i "C:\tmp\testscript"


Syntax Notation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Syntax Notation

The syntax of commands with variables is described in the documentation.

sqlcli –d <database_name> –u <database_user>,<database_user_password> <sql_statement>

To illustrate commands and actions, the documentation uses the DEMODB demo database instance and the HOTEL schema sample data found there:

sqlcli –d demodb -u mona,red SELECT * FROM hotel.city

| ZIP | NAME | STATE |

| ----- | -------------------- | ----- |

| 10019 | New York | NY |

| 10580 | New York | NY |

| 11788 | Long Island | NY |

| 12203 | Albany | NY |

| 20005 | Washington | DC |

| 20019 | Washington | DC |

The syntax notation used in this documentation is derived from the Backus Naur Form (BNF). The following conventions, among others, apply:

Syntax Element | Description
KEYWORD | Keyword Keywords are shown in uppercase letters for the sake of emphasis. If there is no specific reference to case-sensitivity in the documentation, you can write keywords in either upper- or lowercase letters.
<variable> | Placeholders for syntax elements, such as variables When you enter the variable, you do not enter the angle brackets.
[syntax_element] | Optional syntax element
syntax_element1 | syntax_element1 | Alternative syntax elements (or)
syntax_element, ... | Syntax element can be repeated as often as required.

To make the documentation easier to use, the syntax is formatted as follows:

Example | Description
dbmcli db_enum | Commands and SQL statements that users should enter
OK DEMODB C:\Program Files\sdb\demodb 7.6.00.00 fast online | Ouput of the database system, the database tools or other programs
The command db_enum lists all database instances. The documentation uses the demo database instance DEMODB. | Syntax elements and examples in continuous text

See also:

Variables and Examples

Reference Manual, Syntax Notation

Loader, Syntax Rules: Overview


Glossary (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Glossary

Purpose

This glossary explains the most important terms that you will require when working with the MySQL MaxDB database system.

Implementation Considerations

For information on where to obtain MaxDB software and how to install it, see the Download section and the Installation Manual.

For a quick introduction to working with the database system, use the SQL Tutorial. For more information about the database system, see Concepts of the Database System.


A (SAP Library - MaxDB Library)

 Entering content frame

Background documentation A


Administration (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Administration

During productive operation, administrators have to carry out a variety of administrative tasks at regular intervals, such as data backups.

Under certain circumstances, such as after a system failure, administrators have to carry out special administration tasks; restoring the database instances, for example.

A variety of database tools are available for administering database instances.

See also:

Concepts of the Database System, Administration


After Image (SAP Library - MaxDB Library)

 Entering content frame

Background documentation After Image

See Redo Log Entry


Application Data (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Application Data

The data records for a database instance, including their index entries, are called application data.

The application data in a table or an index occupies at least one page in a data volume. The database system may distribute application data from large tables across more than one data volume. You cannot influence or find out which application data is stored in which data volumes.

See also:

Concepts of the Database System, Data Storage and Access


Architecture (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Architecture

MaxDB database instances, tools and interfaces can be installed on different computers in a network.

See also:

Concepts of the Database System, Technical System Landscape


ASCII (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ASCII

ASCII (American Standard Code for Information Interchange) is a character set that originally provided 128 character combinations (7 Bit).

The MaxDB database system uses an 8-bit ASCII character set (ISO 8859/1.2), providing 256 characters:

This graphic is explained in the accompanying text

This graphic is explained in the accompanying text

See also:

Reference Manual, Code Attributes


Authentication (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Authentication

The database system uses passwords to authenticate users. The system uses a challenge response procedure together with a one-time key.

See also:

Concepts of the Database System, Authentication


Authorization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Authorization

Database system users can have the following authorizations in MaxDB:

· Database user authorizations for accessing database objects with SQL statements (depending on the database user’s user class, amongst other things)

· Authorizations for DBM users to execute administration tasks with the Database Manager database tool (server authorizations).

See also:

Concepts of the Database System, Users, Authentication and Authorization


AUTOCOMMIT Mode (SAP Library - MaxDB Library)

 Entering content frame

Background documentation AUTOCOMMIT Mode

The AUTOCOMMIT mode determines whether the database system automatically completes SQL statements with a COMMIT or whether the database user has to explicitly enter a COMMIT after an SQL statement.

See also:

Loader, AUTOCOMMIT Command

SQL Studio, User Settings

SQLCLI, Overview of the SQLCLI Commands

JDBC Manual, Specifying Other Connection Operations

Python Manual, Connect Method


Automatic Log Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Automatic Log Backup

If automatic log backup is activated, the database system automatically backs up redo log entries from a log segment of the log area to a version file, as soon as the log segment is full. The database system can then overwrite old redo log entries in a log segment with new redo log entries.

If automatic log backup is activated, you have to archive the version files regularly.

See also:

Concepts of the Database System, Backing Up Log Entries

Database Manager GUI, Activating and Deactivating Automatic Log Backup

Database Manager CLI, Activating Automatic Log Backup

Database Administration in CCMS, Structure link Activating Interactive Log Backup


Automatic Start (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Automatic Start

You can configure the operating system and the database instance so that the database system automatically transfers the database instance to the ONLINE operational state when the operating system starts (automatic start).

See also:

Concepts of the Database System, Automatic Start


Automation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Automation

You can automate both administration tasks that must be executed regularly and those that are executed as needed.

See also:

Concepts of the Database System, Automating Administration Tasks


B (SAP Library - MaxDB Library)

 Entering content frame

Background documentation B


B* Tree (SAP Library - MaxDB Library)

 Entering content frame

Background documentation B* Tree

A B* tree is a structure for accessing database-internal files.

See also:

Concepts of the Database System, B* Tree


Backint for MaxDB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backint for MaxDB

Backint for MaxDB is an interface that enables you to back up and restore MaxDB database instances using external backup tools.

See also:

Documentation on Backint for MaxDB


Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup

When you back up, the database saves the contents of the volumes to backup media.

See also:

Concepts of the Database System, Backing Up and Restoring


Backup History (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup History

The database system chronologically logs information in the backup history about all the database instance backup and restore actions it has executed.

The database system writes the backup history in the following log files:

· For backups without external backup tools, in the dbm.knl log file

· For backups with external backup tools, in the dbm.ebf log file

To display the backup history, use the Database Manager or, in SAP systems, the Database Assistant.

See also:

Database Manager GUI, Displaying the Backup History

Database Manager CLI, Backing Up and Restoring Database Instances

Database Management in CCMS, Structure link DBA History

Database System Concepts, Log Files


Backup ID (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup ID

The database system issues a backup ID (IBID) for each backup, consisting of a <key> issued by the system and the <label>. The combination of key and label clearly identifies the backup since it was generated or since the last time the database instance was initialized.

If you are using external backup tools, the system also issues the backup with an External Backup ID (EBID ).

The label consists of a character string for the <backup_type> (complete or incremental data backup or log backup) and a <sequence_no>. Data backups are numbered sequentially, regardless of whether they are complete or incremental. The database system counts log backups separately.

After the backup is completed, the Database Manager writes the backup ID in the dbm.knl log file of the Database Manager. You can display all the contents of this file in the backup history. When you restore a database, you can display the backup history using the Database Manager and select the required backup using its backup ID.

If the backup medium used is a tape, we recommend that you write the backup ID on the label of the tape after completing the backup.

Formal Description of the Backup IDs

<IBID> ::= <key><label>

<label> ::= <backup_type>_<sequence_no>

<backup_type> ::= DAT | PAG | LOG

See also:

Concepts of the Database System

· Log Files

· Backing Up and Restoring


Backup Medium (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup Medium

You require backup media to back up data and log entries or to restore a database instance. The database system writes the backups to the backup media and, in the event of an error, reads this information from the backup media.

The following types of backup media are available:

· File

· Tape (including autoloaders)

· Pipe

You can combine multiple backup media in a group of parallel backup media.

See also:

Concepts of the Database System, Backup Media

Database Manager GUI, Managing the Backup Media

Database Manager CLI, Backing Up and Restoring Database Instances

Database Administration in CCMS: MaxDB, Structure link Backup Media

Database Administration in CCMS: SAP liveCache Technology, Structure link Backup Media


Backup Type (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup Type

Backup Types

Name | System Description
Complete data backup | DATA
Incremental data backup | PAGES
Interactive log backup | LOG
Automatic log backup | AUTO

See also:

Concepts of the Database System, Backing Up and Restoring


Before Image (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Before Image

See Undo Log Entry


BLOB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation BLOB

See LONG Value


C (SAP Library - MaxDB Library)

 Entering content frame

Background documentation C


Cache (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Cache

To prevent the hard disks being accessed unnecessarily, read and write operations are buffered by the database system in caches in the main memory.

The database system uses the following caches, among others:

· Catalog cache

· I/O buffer cache (contains the data cache and converter)

· Log queue

You can configure the caches using database parameters.

See also:

Concepts of the Database System, Database Parameters

Database Manager GUI, Displaying Cache Information

Database Manager CLI, Displaying Information on the Database Instance

In SAP systems, use the Structure link Database Assistant to display database information, or the Structure link liveCache Assistant for liveCache instances.


Catalog Cache (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Catalog Cache

The database system stores user-specific data and global data from the database catalog in the catalog cache. Data that has been displaced from the catalog cache is moved to the data cache.

A catalog cache is assigned to each user task at the start of the database session; the database system then releases this catalog cache after the database session has ended. The total of all catalog caches can increase up to the value that you have configured with the CAT_CACHE_SUPPLY database parameter.

The hit rate for the catalog cache should be over 85 percent. The lower limit for the hit rate depends largely on the application.

See also:

Concepts of the Database System, Special Database Parameters


Checkpoint (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Checkpoint

See Savepoint


Code Attribute (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Code Attribute

You use the code attribute to define which sort sequence the database system uses when comparing values in database tables.

See also:

Reference Manual, Code Attribute

Loader, Code Specification


Column (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Column

All values in a column of a database table have the same data type. A value in a row of a column is the smallest data unit that can be selected from a table, to which functions can be applied, or that can be modified. Each column in a base table has a unique name within the table.

Column Types

Alphanumeric | Character string column All character strings in an alphanumeric column have the same length.
Numeric | Floating or fixed point column All numbers in a floating point column have the same coefficient length. All numbers in a fixed point column have the same format, that is, the same number of pre- and post-point decimal places.

See also:

Reference Manual

· Column Name

· Defining columns with an SQL statement: column_definition


Command Monitor (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Command Monitor

Only available in SAP systems

You can use the command monitor to analyze long-running SQL statements and identify bottlenecks.

See also:

Database Administration in CCMS, Structure link Command Monitor


COMMIT (SAP Library - MaxDB Library)

 Entering content frame

Background documentation COMMIT

A COMMIT concludes a transaction. When a COMMIT is executed, the database system saves all the changes carried out by the transaction. The system can no longer use a ROLLBACK to reverse any changes that are completed by a COMMIT.

After a COMMIT, the database system releases all blocks that have been allocated to the transaction and implicitly opens a new transaction.

System default: the database system automatically executes all the necessary COMMIT actions (AUTOCOMMIT mode is activated). If you deactivate the AUTOCOMMIT mode you have to explicitly specify a COMMIT after every SQL statement.

See also:

Reference Manual, COMMIT Statement


Communication Server (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Communication Server

See: X Server


Complete Data Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Complete Data Backup

A complete data backup backs up all the content of the data area onto a backup medium.

See also:

Concepts of the Database System, Backing Up Data

Database Manager GUI, Backups

Database Manager CLI, Backing Up and Restoring Database Instances

Database Management in CCMS, Structure link Scheduling a Data Backup


Configuration (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Configuration

When you create a new database instance, you define its properties (configuration). Afterwards, you can customize the configuration by changing the values of the database parameters.

See also:

Concepts of the Database System,

· Creating and Configuring a Database Instance

· Database Parameters


Configuration Directory (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Configuration Directory

In the configuration directory of a database instance, the database system stores configuration files for the database parameters and database tools, and files for user authorization.

The configuration directory is created when the database software is installed. The default value is <independent_data_path>\config.

See also:

Concepts of the Database System

· Configuration Files


Configuration File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Configuration File

Database systems and database tools have various configuration files that determine basic properties.

See also:

Concepts of the Database System, Configuration Files


Consistent View (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Consistent View

Consistent views are only used by SAP liveCache database instances.

The database system uses consistent views to guarantee read access to an object, independently of any changes being made to the data by other transactions. A consistent view can extend across one or more transactions (OMS version).

When a user opens a transaction, the user retains his or her view of the data until the transaction ends. Any changes made to the data in the meantime by other transactions do not affect the first user’s data view.

When an object within a consistent view is accessed for the first time, the database system copies this object data to the OMS heap. If multiple consistent views access the same data, the database system copies the data for each consistent view to its own separate area of the OMS heap. When a consistent view is closed, the database system deletes the corresponding data in the OMS heap.

See also:

Concepts of the Database System,

· History Management

· Example: Consistent View

Database Administration in CCMS: SAP liveCache Technology

· Structure link OMS Versions

· Structure link Monitoring OMS Versions


Converter (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Converter

The converter is where the database system keeps information about which logical page number is saved at what physical position (MaxDB block address).

See also:

Concepts of the Database System, Converter


Critical Section (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Critical Section

A critical section is a memory area to which different tasks have competing access and where access is controlled by synchronization mechanisms.

Access by a Task to a Critical Section is Exclusive

To control exclusive access by tasks to critical regions, the database system uses special semaphores, which are called regions. When a task accesses a critical section, the associated region blocks this critical section for all other tasks.

Access by a Task to a Critical Section is Exclusive or Non-Exclusive

To control both exclusive and non-exclusive access to critical sections, the database system uses regions with extended functionality, called reader-writer locks.

If a task write-accesses a critical section, the associated reader-writer lock blocks this critical section for all other write-accesses but allows other read-accesses.

If a task read-accesses a critical section, the associated reader-writer lock blocks this critical section for all other write-accesses but allows other read-accesses.

Blocking critical sections has nothing to do with the SQL locks on database objects.

See also:

Database Administration in CCMS: Structure link Critical Sections


Cursor (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Cursor

A cursor is a database object that you can use to navigate in the named result table of an SQL statement.

See also:

Reference Manual, DECLARE CURSOR Statement (declare_cursor_statement)


D (SAP Library - MaxDB Library)

 Entering content frame

Background documentation D


Data Access (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Access

The database system uses B* trees and page chains for storing and accessing data.

See also:

Concepts of the Database System, Data Storage and Access


Data Area (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Area

All data volumes in a database instance are known collectively as the data area. The data area contains, amongst other things, the application data, the database catalog and the undo log entries of the database instance.

The size of the data area must not fall below 2,000 pages. There must also always be sufficient space in the data area to hold all the data that is created during database operations.

We recommend regular backups of the data in the data area.

See also:

Database System Concepts, Backing Up Data

Database Manager GUI, Displaying Data Area Information

Database Manager CLI, Displaying Information About the Database Instance

Database Administration in CCMS: MaxDB, Structure link Monitoring the Data Area

Database Administration in CCMS: SAP liveCache, Structure link Monitoring the Data Area


Data Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Backup

During a data backup you back up the content of the data area and the database parameters that are necessary for restoring onto a backup medium.

See also:

Concepts of the Database System, Backing Up Data

Database Manager GUI, Backups

Database Manager CLI, Backing Up the Database Instance

Database Management in CCMS, Structure link Scheduling a Data Backup


Database (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database

A database is a set of data with a regular structure. The data is permanently saved in volumes.

You can create and manage databases using database software. Use SQL statements to access data in the database.

See also:

Database Manager GUI, Creating a Database Instance

Database manager CLI, Creating a Database Instance

Reference Manual, SQL Statements: Overview


Database Administrator (DBA User) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Administrator (DBA User)

A database administrator (DBA user) is a database user who is able to manage users and objects in the database.

See also:

Concepts of the Database System, Database Users


Database Analyzer (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Analyzer

The Database Analyzer is a database tool that enables you to analyze the performance of database instances. It replaces the XWIZARD and XWIZTRC tools.

See also:

Database Analyzer documentation

Concepts of the Database System, Database Tools

Database Administration in CCMS: MaxDB, Structure link Database Analyzer

Database Administration in CCMS: SAP liveCache Technology, Structure link Database Analyzer

Database Manager GUI, Displaying and Deleting Database Analyzer Information


Database Application (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Application

Database applications are applications that use a database to store their data. Database applications use interfaces to access the database.

See also:

Concepts of the Database System,

· Developing Database Applications

· Interfaces


Database Catalog (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Catalog

The database catalog of a database contains the metadata for all database objects. The database catalog comprises the following parts:

· Information about the installation of the database system

· Metadata about users and user groups

· Metadata about database objects; this includes the metadata for base tables and view tables.

A user may only access the metadata of another user or user group if this user has been assigned the relevant privileges.


Database Copy (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Copy

When you make a database copy, you duplicate a database instance.

You can use a database copy for tests, to develop database applications or to set up a standby database, for example. A system copy of an SAP system also requires a database copy.

See also:

Concepts of the Database System, Database Copy


Database Design (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Design

The database design defines how data in a database is organized. Database design includes, amongst other things, the definition of tables, of keys and of indexes. The database design has a large influence on performance when the system is in operation.

See also:

Concepts of the Database System,

· Tips on Database Design

· Performance


Database Directory (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Directory

The database system and its tools create a series of directories.

See also:

Concepts of the Database System, Directories


Database File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database File

The database system creates a series of database files, including configuration files and log files.

See also:

Concepts of the Database System

· Configuration Files

· Log Files


Database Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Function

A database function is a database object that contains a series of statements and, therefore, forms an independent part of a program. A database function returns a value as a result.

Database functions are generated and stored in the database. You can define as many database functions as required. To implement a database function, you must use a function call for an SQL statement (database function call).

See also:

Reference Manual

· Name of a Database Function

· CREATE FUNCTION Statement (create_function_statement)

· Database Function (dbfunction_call)


Database ID (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database ID

Each database instance has a unique database ID.

The database system writes the database ID to the following locations:

· The restart record in the data area ® identifies the database instances data

· The information page of the log area ® identifies the database instances log entries

· The information page of each backup ® identifies the database instances backups

If you restart or restore the database instance, the database system uses the database ID to check if the log entries and backups that are to be used really belong to this database instance.


Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Instance

A database and all the additional information required for its operation are collectively known as a database instance. Each database instance has a database name and consists of volumes, all the files in the run directory, and a collection of metadata (including configuration data, database parameters, and volume paths).

You can create database instances with the Installation Manager or the Database Manager database tool.

See also:

Concepts of the Database System, Overview of the Database System

Database Manager GUI, Creating a Database Instance

Database manager CLI, Creating a Database Instance


Database Manager (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Manager

The Database Manager is a database tool that enables you to create and manage database instances, database users, and Database Manager operators.

You can choose from the following variants of the Database Manager:

· Database Manager GUI

· Database Manager CLI

See also:

Concepts of the Database System, Database Tools


Database Manager Operator (DBM Operator) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Manager Operator (DBM Operator)

A Database Manager operator (DBM operator) can use the Database Manager tool to manage database instances.

See also:

Concepts of the Database System

· Database Manager Operator (DBM Operator)

· Conventions for User Names and Passwords

Database manager GUI, Managing Database Manager Operators

Database Manager CLI, Managing Database Manager Operators


Database Name (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Name

The database name is the name of a database instance.

See also:

Concepts of the Database System, Conventions for Database Names


Database Object (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Object

Database objects are the logical units with which the database system works. These include:

· Base tables

· View tables

· Synonyms

· Indexes

· Users

· Triggers

· Database procedures

· Database functions

The metadata for the database objects is stored in the database catalog by the database system.

Use SQL statements to generate and manage database objects.

See also:

Reference Manual

· Data Definition

· Authorization


Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Parameters

Database parameters define the fundamental properties of a database instance. You can change the values of most database parameters.

See also:

Concepts of the Database System, Database Parameters


Database Procedure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Procedure

A database procedure is a database object that contains a series of statements and, therefore, forms an independent part of a program.

Database procedures are created and stored in the database. You can define any number of database procedures. To execute a database procedure, you must call it from an application program using the appropriate SQL statement.

See also:

Reference Manual

· Name of a Database Procedure

· CREATE DBPROC[EDURE] Statement (create_dbproc_statement)

· CALL Statement (call_statement)

Database Administration in CCMS: MaxDB, Structure link DB Procedures

Database Administration in CCMS: SAP liveCache Technology, Structure link DB Procedures


Database Session (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Session

To work with a database instance, to make data queries or to manage the database instance, you have to open a database session. This can happen as follows:

· The user logs on to the database instance with a user name and password, thus opening a database session. Later, the database session is terminated explicitly by the user or closed implicitly when the timeout value is exceeded.

· A database tool implicitly opens a database session and then closes it again later.

To open a database session implicitly, the Database Manager uses the data for the first DBM operator. For this reason, only those database statements for which the first DBM operator is authorized can be executed.

See also:

Database Manager GUI, Displaying Database Sessions

In SAP systems, you use the Structure link Database Assistant to display database information, or the Structure link liveCache Assistant for liveCache instances.


Database Structure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Structure

The database system stores data in internal database structures, such as B* trees. Hardware errors can lead to inconsistent database structures.

See also:

Concepts of the Database System, Checking Database Structures


Database System (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database System

The database system is the entire set of software that you use to create and manage database instances, and with which you can process data in these database instances.

See also:

Concepts of the Database System

· Overview of the Database System

· Database Tools

· Interfaces


Database System Administrator (SYSDBA User) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database System Administrator (SYSDBA User)

The database system administrator (SYSDBA user) is the first database user. This user has the most comprehensive rights of all database users.

The database system administrator is a database administrator who also has all the possible rights of a Database Manager operator (DBM operator).

See also:

Concepts of the Database System

· Database System Administrator (SYSDBA user)

· Conventions for User Names and Passwords

Database Manager GUI, Managing the Database System Administrator

Database Manager CLI, Managing Database Manager Operators


Database Tool (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Tool

Database tools are programs that you can use to manage and monitor database instances, to edit data and to handle errors.

There are various database tools available for MaxDB.

See also:

Concepts of the Database System, Database Tools


Database Trace (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Trace

You can activate a database trace. The database trace logs all reactions of the kernel to database statements.

The database trace is also called a kernel trace or vtrace.

See also:

Concepts of the Database System, Traces

Database Management in CCMS, Structure link Database Trace

Database Manager GUI, Using the Database Trace

Database Manager CLI, Activating the Database Trace


Database User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database User

Database users can use SQL statements to process data in the database instance. They can do this, for example, by using the database tools SQL Studio, Web SQL Studio, SQLCLI, and the Loader.

Database users cannot log on to the Database Manager. You can, however, use the Database Manager GUI to create and manage database users.

See also:

Concepts of the Database System

· Database Users

· Conventions for User Names and Passwords

Database Manager GUI, Managing Database Users

Reference Manual, Authorization


Data Cache (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Cache

The database system uses the data cache to retain the pages that it has recently read or write-accessed in the data area. This includes, for example, tables, indexes, long values, undo log entries and OMS data.

Since the data in an SAP liveCache database instance consists mainly of OMS data, you should configure the data cache for SAP liveCache database instances to be large enough to store all the OMS data, if possible.

The database system does not store converter information in the data cache; this information is stored in the converter.

All concurrently logged on users use the data cache jointly.

The data cache is dynamically dimensioned by the database system, i.e. you cannot configure the size of the data cache directly, but can only influence it implicitly by configuring the I/O buffer cache. The database system takes the pages required for the data cache from the I/O buffer cache. If the other I/O buffer cache user, the converter, grows in size, the database system decreases the size of the data cache, if necessary.

The size of the data cache has the following effect on the performance of the database system:

· A large data cache makes a high hit rate possible. We recommend a hit rate of at least 98%.

· If the data cache is too large for a small main memory, this can lead to operating system swapping with a very high level of I/O activity.

The pagers write changed data from the data cache to I/O queues. Later, special threads write the data asynchronously and in sufficiently large units onto the data area. If a user task cannot find any free pages in the data cache, then, as an exception, it writes the data from the data cache onto the data area itself.

See also:

Database Manager GUI, Displaying Cache Information

Database Manager CLI, Displaying Information About the Database Instance

Database Administration in CCMS: MaxDB, Structure link Caches

Database Administration in CCMS: SAP liveCache Technology, Structure link Caches


Data Integrity (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Integrity

The integrity of data in a database has been secured if it remains in a permanently uncorrupted state. The database system ensures data integrity by protecting the data against intentional, unauthorized or unintentional, authorized insertions, changes or deletions.

See also:

Reference Manual, Ensuring Data Integrity


Data Record (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Record

A data record corresponds to a row in a base table in the database.


Data Type (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Type

The data type specifies which type of values a table column is allowed to contain.

See also:

Reference Manual, Data Type (data_type)

Loader, Data Types


Data Volume (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Volume

The volumes in which the database system stores data from the database are called data volumes. The quantity of all data volumes in a database instance is called the data area.

See also:

Database Manager GUI, Creating Volumes

Database Manager CLI, Adding Volumes

Database Administration in CCMS: MaxDB, Structure link Volumes

Database Administration in CCMS: SAP liveCache Technology, Structure link Configuring Volumes


Data Writer (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Writer

See: Pager


DBA (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBA

See

Database System Administrator (SYSDBA user)

Database Users


DBA Planning Calendar (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBA Planning Calendar

Only available in SAP systems

You can use the DBA Planning Calendar to automate database administration. You can schedule, perform, and check database administration actions.

See also:

Database Management in CCMS, Structure link DBA Planning Calendar


DBMCLI (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBMCLI

Abbreviation for Database Manager CLI

See Database Manager


DBM Command (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBM Command

DBM commands are commands in the Database Manager CLI that you use to manage database instances.

See also:

Database Manager CLI, Overview of All DBM Commands


DBMGUI (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBMGUI

Abbreviation for Database Manager GUI

See Database Manager


DBM Operator (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBM Operator

See Database Manager Operator


DBM Operator Properties (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBM Operator Properties

Properties of a Database Manager operator

See also:

Concepts of the Database System, Database Manager Operator (DBM Operator)

Database Manager GUI, Changing the DBM Operator Properties

Database Manager CLI, Changing the DBM Operator Properties


DBM Option (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBM Option

You can call up the Database Manager CLI database tool using different options (DBM options).

See also:

Database Manager CLI, DBM Options


DBM Server (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBM Server

The DBM Server is the server part of the Database Manager database tool. The DBM server creates the connection between the client part of the Database Manager and the database instance.

See also:

Concepts of the Database System

· Database Tools

· Architecture of the Database Tools


DDL Statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DDL Statement

DDL statements are SQL statements that are used to define the data structure in a database (DDL = Data Definition Language).

In the MaxDB database system, DDL statements are controlled by the transaction concept. After a DDL statement has been completed with a COMMIT, it can no longer be undone.

See also:

Reference Manual, Data Definition


Default Parameter File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Default Parameter File

The default parameter file cserv.pcf contains the default values for the database parameters and a description of the permitted values.

See also:

Concepts of the Database System

· Configuration Files

· Database Parameters


Demo Database (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Demo Database

You can use the HOTEL demo schema to test the SQL syntax. To test individual MaxDB database system tools, you can use the demo database provided.

See also:

Concepts of the Database System, Demo Database

SQL Tutorial, HOTEL Demo Schema for the SQL Tutorial


Development (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Development

MaxDB offers the following options for developers:

· You can develop a database application for MaxDB and connect it to a MaxDB database instance using an interface.

· You can further develop MaxDB software. To do this, use the MaxDB development environment.

See also:

Concepts of the Database System, Developing Database Applications

Development Environment


Diagnosis File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Diagnosis File

After a database error, the database system writes diagnosis files (backups of the most important log files and memory dumps) to a special directory. You can configure the path of this directory with the special database parameter DIAG_HISTORY_PATH.

In this way, the database system ensures that when the database instance restarts, no important information for error analysis is overwritten.

See also:

Database Manager GUI, Diagnosis Options

Database Manager CLI, diag_histlist

Concepts of the Database System,

· Special Database Parameters

· Log Files


Directory Structure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Directory Structure

When you install, the installation program creates a series of directories for MaxDB software.

See also:

Concepts of the Database System, Directories


Documentation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Documentation

The MaxDB database system, the database tools and the interfaces are documented in the MaxDB library.

You have the following options for accessing the MaxDB library:

· Online access to the HTML version

· Download as HTMLHelp (a .chm file) for Microsoft Windows

· Download as HTML (several plain HTML files)

See also:

Concepts of the Database System

· Documentation

· Download

Documentation for MaxDB

Documentation for Structure link MaxDB in SAP systems

Documentation for Structure link SAP liveCache Technology in SAP systems


Domain (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Domain

You can use domain definitions to define and name domains for table columns.

Each domain definition has a name that is unique within the overall database system. If a domain has been defined without an owner being entered, the database system searches for the domain in the catalog parts in the following order:

...

1. Catalog part of the current owner

2. Catalog part of the database administrator who created the current user

3. Catalog part of the database system administrator

See also:

Reference Manual, Domain Name

SQL Tutorial, Domains


E (SAP Library - MaxDB Library)

 Entering content frame

Background documentation E


Encryption (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Encryption

See: SSL/TLS


Environment Variable (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Environment Variable

Environment variables contain information about a user's software environment. The database system, the database tools and the interfaces use various environment variables.

MaxDB Environment Variables

Name | Example | Description | System
SERVERDB | DEMODB | Name of database instance |
PATH | < independent_program_path >/bin | Path to the executable MaxDB files |
LD_ASSUME_KERNEL | 2.2.5 | Deactivate the new Red Hat threading library | Red Hat, Fedora Linux-Kernel > 2.4 MaxDB-Version < 7.6
SQLOPT |  | Options for connecting to the database instance | MaxDB-Version < 7.5

See also:

Development Environment, Environment Variables

Variables and Examples


Event (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Event

An event is an action that the database system executes if the database instance reaches a certain state.

See also:

Concepts of the Database System,

· Overview of Database Events

· Automating Administration Tasks

Database Manager CLI, Using Events of the Database Instance

Event-Dispatcher documentation


Event Dispatcher (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Event Dispatcher

The event dispatcher accepts the events output by the database instance and reacts to them.

See also:

Utilities, Event Dispatcher


Examples (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Examples

To illustrate commands and actions, the documentation uses the DEMODB demo database instance and the HOTEL schema sample data found there.

dbmcli –d <database_name> -u <dbm_user>,<dbm_user_password> db_online

dbmcli –d DEMODB –u DBADMIN,SECRET db_online

See also:

Concepts of the Database System,

· Demo Database

· Variables and Examples

SQL Tutorial, HOTEL Demo Schema for the SQL Tutorial


Exclusive Lock (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Exclusive Lock

An exclusive lock locks a database object exclusively. Other transactions have neither read nor write access to the database object.

See also:

Concepts of the Database System, Locking for Database Objects


Execution Plan (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Execution Plan

See Search Strategy


EXPLAIN Statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation EXPLAIN Statement

You can use the EXPLAIN statement to find out which search strategy the SQL Optimizer selected for an SQL statement.

See also:

SQL Optimizer, Explain Statement

Database Administration in CCMS, Structure link Command Monitor

Reference Manual, EXPLAIN Statement (explain_statement)


Exporting (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Exporting

You can use the Loader database tool to export (“unload”) data.

You cannot use data exported with the Loader to restore a database instance because it may not represent a consistent database state.F Exported data is, therefore, not a substitute for data backups.

See also:

Loader documentation

Concepts of the Database System, Exporting und Importing


External Backup ID (SAP Library - MaxDB Library)

 Entering content frame

Background documentation External Backup ID

When data is backed up or exported using a backup tool from another provider, each backup or data stream is given an external backup ID. If you created a backup using a group of parallel backup media, every part of this backup has its own external backup ID.

The Database Manager writes the external backup ID to the dbm.ebf log file and to the backup history. When restoring, choose the relevant backup from the backup IDs in the log.

The Loader writes the external backup ID to the log file of the Loader and to the Loader-related system tables. The external backup ID is required when importing data and restoring the database instance to request the required backup or data stream.

See also:

Concepts of the Database System

· Backing Up and Restoring

· Supported Backup Tools from Other Providers

· Log Files


External Backup Tool (SAP Library - MaxDB Library)

 Entering content frame

Background documentation External Backup Tool

You can use backup tools from other providers (external backup tools) to back up data and log entries.

See also:

Concepts of the Database System

· Supported Backup Tools from Other Providers

· Backing Up and Restoring


F (SAP Library - MaxDB Library)

 Entering content frame

Background documentation F


File Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation File Class

The configuration files and log files of the database system are allocated to different file classes:

backup | Log files for backups and restores
config | Configuration files
dump | Memory dumps
hist | Diagnosis files
lvc | Log files for the SAP liveCache database instance type
protocol | General log files

The file classes are required for packing database files before sending them to the Support team.

See also:

Concepts of the Database System

· Configuration Files

· Log Files

Database Manager CLI, Packing Database Instances


File Directory (SAP Library - MaxDB Library)

 Entering content frame

Background documentation File Directory

The file directory is an internal administration structure of the database system. The file directory contains the following, amongst other things:

· The assignment of the root pages of the B*-trees to the table IDs

· The assignment of the initial pages of page chains to the table IDs

· Type flags (specify whether a table contains primary data, secondary key or LONG values)

See also:

Concepts of the Database System, Data Storage and Access


File ID (SAP Library - MaxDB Library)

 Entering content frame

Background documentation File ID

Some log and configuration files have a file ID. You require the file ID to display the corresponding file with the Database Manager database tool.

See also:

Concepts of the Database System,

· Log Files

· Configuration Files


Foreign Key (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Foreign Key

If the values in a column (or a combination of columns) of a table always match the values of the primary key column of another table, then this column (or combination of columns) is called a foreign key.

See also:

Reference Manual, Referential CONSTRAINT Definition

SQL Tutorial, Foreign Key Relationships between Tables


G (SAP Library - MaxDB Library)

 Entering content frame

Background documentation G


Garbage Collector (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Garbage Collector

Garbage collectors are tasks that run in user kernel threads.

The task of the garbage collectors is to irreversibly delete undo log files and the related database objects. Garbage collectors enable consistent data views.

See also:

Concepts of the Database System, History Management


Group of Parallel Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Group of Parallel Backup Media

To speed up backups and restores, you can use multiple backup media in parallel. To do this, you define a group of parallel backup media. The database system assigns this group of backup media a shared media name.

You can use the MAXBACKUPDEVS general database parameter to configure the maximum number of parallel backup media a group should contain.

See also:

Concepts of the Database System,

· Backup Media

· General Database Parameters

Database Manager GUI, Creating a Group of Parallel Backup Media

Database Manager CLI, medium_put

Database Administration in CCMS: MaxDB, Structure link Backup Media

Database Administration in CCMS: SAP liveCache Technology, Structure link Backup Media


H (SAP Library - MaxDB Library)

 Entering content frame

Background documentation H


High Availability (SAP Library - MaxDB Library)

 Entering content frame

Background documentation High Availability

High availability means that an IT system can be used continuously without breakdowns.

See also:

Concepts of the Database System, High Availability

SAP High Availability, Structure link High Availability for the MaxDB Database


History File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation History File

History files are internal database files that contain references to the undo log files of completed transactions. The history files tell you which undo log file belongs to which completed transaction.

At each savepoint, the database system backs up the updated history files to the data area.

For performance reasons, there are always several history files open in parallel. The database system calculates the number of history files based on the general database parameter MAXUSERTASKS.

See also:

Concepts of the Database System

· History Management

· General Database Parameters


Hit Rate (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Hit Rate

The hit rate is the number of times a cache was accessed successfully as a proportion of the total number of times the cache was accessed. A cache is accessed successfully if the required data is in the cache at the time it was accessed.

See also:

Database Manager GUI, Displaying Cache Information


Homogenous System Copy (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Homogenous System Copy

See: System Copy


Hot Standby (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Hot Standby

Hot Standby is a high availability strategy for cluster systems. If the master instance fails, a standby instance running in parallel is activated as the master instance.

See also:

Concepts of the Database System, Hot Standby


I (SAP Library - MaxDB Library)

 Entering content frame

Background documentation I


Importing (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Importing

You can use the Loader database tool to import (“load”) data.

You cannot use data exported with the Loader to restore a database instance because it may not represent a consistent database state. Therefore, importing data cannot replace restoring the database instance with a data backup.

See also:

Loader documentation

Concepts of the Database System, Exporting und Importing


Incremental Data Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Incremental Data Backup

In an incremental data backup, the database system backs up all pages of the data volumes that have changed since the last complete data backup.

See also:

Concepts of the Database System, Backing Up Data

Database Manager GUI, Backups

Database Manager CLI, Backing Up and Restoring Database Instances

Database Management in CCMS, Structure link Scheduling a Data Backup


Index (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Index

You can create an index (also called a secondary key) to make it quicker to find data records in a table. An index is a database object that can be defined for an individual column or a series of columns in a database table. An index consists of one or more inversion lists.

An index name must be unique when combined with the table name. When defining an index, you determine whether the column values of different rows in the indexed columns have to be unique or not.

Since indexes are derived entirely from data already in the database, you can delete them without data being lost.

Note that, in certain circumstances, the database system may have to update the index corresponding to any data changes, which takes time.

An index can have the following statuses:

Status | Description
OK | The index is intact.
BAD | The index is damaged. The index’s B* tree is damaged and the database system can no longer use it. The database system ignores damaged indexes. These cannot cause errors, but do impair performance.
MISSING | The index is available in the database catalog, but is missing in the file directory.

You can recreate damaged indexes using the Database Manager. If you set the AUTO_RECREATE_BAD_INDEXES special database parameter to YES, then the database system automatically recreates damaged indexes.

See also:

Reference Manual, CREATE INDEX Statement (create_index_statement)

Database Manager GUI: Restoring Indexes after Database Restore

Database Manager CLI, Restoring a Damaged Index

Concepts of the Database System, B* Trees for Tables with Indexes


Indexed Column (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Indexed Column

An indexed column is a column that is included in an index. Indexed columns are also known as inverted columns.


Initialization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Initialization

If you initialize a database instance, the database system deletes all data (application data and the database catalog). The database parameters are retained, however.

See also:

Database Manager GUI, Initializing an Existing Database Instance

Database manager CLI, Initializing a Database Instance


Installation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installation

You need to use different installation tools, depending on the environment in which you install MaxDB.

See also:

Installation outside SAP systems (open source projects):

· Installation Manual

Installation within SAP systems:

· Structure link Installation


Installation Profile (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installation Profile

An installation profile includes multiple MaxDB database software components. When you install, you can select which installation profile to use and thus which software components you wish to install.

See also:

Installation Manual, Installation Profiles


Interactive Log Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Interactive Log Backup

When you execute an interactive log backup, you back up (from the log area to backup media) all redo log entries that the database system has written since the last log backup.

See also:

Concepts of the Database System, Backing Up Log Entries

Database Manager GUI, Backups

Database Manager CLI, Backing Up and Restoring Database Instances

Database Administration in CCMS, Structure link Scheduling Interactive Log Backups


Internal Database Files (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Internal Database Files

The database system stores each database object internally as one or more internal database files. There is an entry in the internal database file directory for each internal database file.


Inversion List (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Inversion List

An inversion list is part of an index. An inversion list consists of a secondary key and the related primary key(s).

A table contains the names of all customers in a hotel. You have defined the primary key for this table as the customer number cno.

cno | surname | firstname
2003 | Miller | Frank
2011 | Griffith | Mary
2078 | Miller | Jane
2104 | Miller | Susan
2295 | Miller | Sally

Now define an index for the surname column. The surname column now becomes an indexed column (also known as an inverted column).

The index contains the following inversion lists:

¡ an inversion list with the secondary key Griffith and the primary key 2011 (the surname Griffith only appears once in the table)

¡ a further inversion list with the secondary key Miller and the primary keys 2003, 2078, 2104, and 2295 (the surname Miller appears four times in the table)


Inverted Column (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Inverted Column

See Indexed Column


I/O Buffer Cache (SAP Library - MaxDB Library)

 Entering content frame

Background documentation I/O Buffer Cache

The database system uses the I/O buffer cache to manage all of the main memory that is available for I/O operations.

When the database instance starts, the database system assigns the I/O buffer cache the size specified in the general database parameter CACHE_SIZE.

The converter and the data cache are the most important main memory consumers that the database system manages in the I/O buffer cache. If the converter grows while the database is running, and requires more pages, the database system gives it more pages from the I/O buffer cache. If no more pages are available there, data is displaced from the data cache and made available to the converter.

See also:

Concepts of the Database System, General Database Parameters


Isolation Level (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Isolation Level

The isolation level determines whether and how the database system implicitly sets and releases locks for database objects.

See also:

Concepts of the Database System

· Isolation level

· Locking for Database Objects


J (SAP Library - MaxDB Library)

 Entering content frame

Background documentation J


JDBC Interface (SAP Library - MaxDB Library)

 Entering content frame

Background documentation JDBC Interface

You can use the MaxDB JDBC interface to access a MaxDB database instance.

See also:

JDBC Manual


Join (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Join

A join is an SQL statement that links multiple tables with each other. A join table is created as a result.

See also:

Concepts of the Database System, Joins

SQL Tutorial, Joins: Information from Several Tables

Reference Manual, Join Predicate


K (SAP Library - MaxDB Library)

 Entering content frame

Background documentation K


Kernel (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Kernel

The kernel is the central component of the database system. The kernel manages access to the permanently stored data in a database instance and processes the SQL statements; for liveCache database instances, it processes the OMS procedures.

To start a database instance, the kernel of the database system is started for the specific database name. While the database is running, the kernel includes several different operating system threads.

The database system is delivered with several different kernel variants.

See also:

Concepts of the Database System,

· Process Structure

· Architecture of the Database Tools


Kernel Log (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Kernel Log

The kernel log contains all messages from the kernel.

See also:

Concepts of the Database System, Log Files


Kernel variant (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Kernel variant

Kernel variants are different variants of the kernel of the database system. They differ in terms of which logs and runtime checks the database system performs during operation.

When the database is started, restarted, switched to the ADMIN operational state, or switched to the ONLINE operational state, you can specify explicitly which kernel variant you want the database instance to use.

You can choose from the following kernel variants:

Kernel variant | Properties
fast | System default value Fastest kernel variant, with minimum logging and runtime checks.
slow | Variant of the kernel with extensive logs and runtime checks

Do not use the slow kernel variant during production operation of the database. The additional logs and runtime checks make this kernel variant much slower than the fast variant. They should be used by support only.

See also:

Database Manager CLI, Displaying the Database Kernel Variant


KNLDIAG (SAP Library - MaxDB Library)

 Entering content frame

Background documentation KNLDIAG

See: Kernel Log


L (SAP Library - MaxDB Library)

 Entering content frame

Background documentation L


Language Support (MapChar Sets) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Language Support (MapChar Sets)

The database system uses MapChar sets to display language-specific characters in an alternative manner, so, for example, ü becomes ue. The characters that need to be converted must use the same character set as the MapChar set. If, for example, a MapChar set has been defined for UNICODE, this MapChar set can only be used for UNICODE values.

When a database instance is created, the database system sets the default MapChar set DEFAULTMAP. You can change the DEFAULTMAP MapChar set and define additional MapChar sets.

MapChar sets are only valid for internal system functions.

The MAPCHAR(x,n,i) function uses MapChar sets to sort fields that contain German umlaut characters (äöü).

See also:

Database Manager GUI, Defining MapChar Sets

Database Manager GUI, Displaying, Changing, and Deleting Mapchar Sets

Reference Manual, Mapchar Set Name (mapchar_set_name)


Leaf Page (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Leaf Page

A leaf page is a page on the lowest level of a B* tree. Leaf pages contain the data records.

See also:

Concepts of the Database System, B* Tree


liveCache (SAP liveCache Technology) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation liveCache (SAP liveCache Technology)

You can only use liveCache technology with SAP applications.

SAP liveCache technology is an object-based enhancement of the MaxDB database system and was developed to manage complex objects (e.g. in logistical solutions such as SAP SCM/APO)

In solutions of this type, large volumes of data must be permanently available and modifiable. You can use SAP liveCache technology to represent data structures and data flows (such as networks and relationships) more easily and effectively.

In contrast to MaxDB, with an optimally configured SAP liveCache database instance, all data which must be accessible to the database system is located in the main memory.

See also:

Structure link Database Administration in CCMS: SAP liveCache Technology documentation.


Loading (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Loading

See: Importing


Load Balancing (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Load Balancing

The database system uses internal load balancing to distribute tasks in an optimum way to the available user kernel threads.

See also:

Concepts of the Database System, Load Balancing


Loader (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Loader

The Loader is a database tool for exporting and importing (unloading and loading) data.

You cannot use data exported with the Loader to restore a database instance because it may represent an inconsistent database state. Exported data is, therefore, not a substitute for data backups.

See also:

Loader documentation

Concepts of the Database System, Database Tools


Loader Server (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Loader Server

The Loader Server is the server part of the Loader database tool. It creates the connection between the client part of the Loader and the database instance.

See also:

Loader documentation

Concepts of the Database System, Architecture of the Database Tools


Lock (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Lock

The database system allows competing transactions to access the same database objects. Locks are required to guarantee that the parallel processes are synchronized and individual transactions isolated.

See also:

Concepts of the Database System, Locking for Database Objects


Lock List (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Lock List

The database system holds the locks and lock requests for all users in the lock list.

See also:

Concepts of the Database System, Locking for Database Objects


Log Area (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Area

All log volumes in a database instance are known collectively as the log area. The database system writes the redo log entries of transactions in the log segments of the log area. Redo log entries are needed, amongst other things, for restoring a consistent database instance state after a restart or a system breakdown.

The database system writes undo log entries in the data area.

The database system overwrites the log area cyclically, since a full log area would cause the database to shut down. You must carry out log backups at regular intervals, because the database system cannot overwrite the segments in the log area until after a successful log backup.

To monitor the filling level of the log area, you can use the Database Manager GUI, for example.

For the security of your data, we recommend that you mirror the log area. If hardware-based mirroring is not possible, you can set the log mode accordingly.

See also:

Database Manager GUI, Displaying Log Area Information

Concepts of the Database System, Logging Transactions and Backing Up Log Entries

Database Administration in CCMS: MaxDB, Structure link Monitoring the Log Area

Database Administration in CCMS: SAP liveCache Technology, Structure link Monitoring the Log Area


Log Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Backup

When a log backup is executed, the database system backs up the content of the log area (redo log entries) to version files. You can also back up the redo log entries using an external backup tool.

The database system can then overwrite the backed up redo log entries in the log area.

See also:

Concepts of the Database System, Backing Up Log Entries

Database Manager GUI, Backups

Database Manager CLI, Backing Up and Restoring Database Instances

Database Administration in CCMS, Structure link Scheduling Log Backups


Log Entry (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Entry

Log entries are where the database system logs all transactions that change data in the database. These are divided into undo log entries (before images) and redo log entries (after images).

The database system needs the log entries to undo SQL statements or to restore after a system breakdown (transaction consistency).

See also:

Concepts of the Database System, Logging Transactions


Log File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log File

The database system writes information about actions and errors in log files.

See also:

Concepts of the Database System, Log Files


Logging (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Logging

The database system logs all transactions that change data in the database by writing log entries.

See also:

Concepts of the Database System, Logging Transactions


Log Mode (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Mode

The log mode is a log setting. You can use the log mode to configure whether the database system mirrors the log area.

We recommend using this setting only if hardware-based mirroring is not possible.

See also:

Concepts of the Database System, Log Settings

Database Manager GUI, Changing Log Settings

Database Manager CLI, Changing Volume Parameters


Log Page (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Page

Log pages are units in the main memory and in the log area that are used when transactions are logged. The size of a log page is 8 KB.

See also:

Concepts of the Database System, Logging Transactions


Log Queue (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Queue

Initially, the database system writes redo log entries in log queues in the main memory. The database system then writes the redo log entries asynchronously from the log queues to the log area.

You can configure the number of log queues with the special database parameter LOG_QUEUE_COUNT and the size of the log queues with LOG_IO_QUEUE.

See also:

Concepts of the Database System

· Logging Transactions

· Special Database Parameters


Log Reader (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Reader

The log reader determines all information that the database system requires for a restart or restore of the database instance and generates the necessary files and lists to repeat the transactions. The log reader is a service task and runs in the user kernel thread.

See also:

Concepts of the Database System, Using Log Entries for a Restart or Restore


Log Segment (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Segment

The log area of a database instance is subdivided into logical log segments. A log segment contains log entries. During log backup, the database system backs up each log segments to its own version file.

You configure the size of the log segment with the general database parameter LOG_SEGMENT_SIZE. It is unrelated to the size of the individual log volumes, but may not exceed the total of all log volumes. Select the size in such a way as to ensure that enough space remains in the log area when a log segment is being backed up to receive any new redo log entries that are written during the backup.

User Defined Value | Log Segment Size Used by the System
Log segment size not defined (LOG_SEGMENT_SIZE = 0) | One-third of the total log area
The log segment size in pages is smaller than or the same as 50% of the total log area. | The value defined for LOG_SEGMENT_SIZE
The log segment size > 50% of the total log area. | 50% of the log area

See also:

Concepts of the Database System

· General Database Parameters

· Backing Up Log Entries


Log Setting (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Setting

You can use the log settings to configure the most important properties of transaction logging.

You can make the following log settings:

· Log mode

· Overwrite mode for the log area

· Deactivate redo log management

See also:

Concepts of the Database System,

· Log Settings

· Logging Transactions

Database Manager GUI, Changing Log Settings


Log Volume (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Volume

The volumes in which the redo log entries of transactions are stored are called log volumes. Together, all log volumes form the log area.

See also:

Database Manager GUI, Creating Volumes

Database Manager CLI, Adding a Volume

Concepts of the Database System, Logging Transactions


Log Writer (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Writer

Log writers write the redo log entries from the log queues to the log area. Log writers are tasks in user kernel threads.

See also:

Concepts of the Database System

· Redo Log Management

· Overview of Tasks


LONG Value (SAP Library - MaxDB Library)

 Entering content frame

Background documentation LONG Value

LONG is a special data type that is used to define an alphanumeric column of any length. Very long character strings and binary information can be stored in LONG columns: a LONG value can be either a binary large object (BLOB) or a character large object (CLOB).

See also:

Reference Manual, LONG [VARCHAR]

Loader, Exporting and Importing LONG Values


M (SAP Library - MaxDB Library)

 Entering content frame

Background documentation M


Mailing List (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Mailing List

Open source users can get help related to the database system via the MaxDB mailing list. You can find the mailing list at:

lists.mysql.com/maxdb

See also:

Concepts of the Database System, Support


Mapchar Set (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Mapchar Set

See Language Support


MaxDB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation MaxDB

See: OLTP (MaxDB)


Message Server (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Message Server

You require the message server to synchronize multiple database instances with the Synchronization Manager.

See also:

Synchronization Manager, Message Server


Migration (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Migration

See: Upgrade


Monitoring (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Monitoring

We recommend that you monitor your database instance during production operation. This way, you can recognize problems early and avoid disruptions or failures.

There are many tools available for you to monitor database instances with.

See also:

Concepts of the Database System, Monitoring


Multi-Processor Configuration (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Multi-Processor Configuration

To make optimum use of computers with multiple processors, the database system supports configurable tasking. The aim of this tasking is to support the largest possible number of database sessions with a minimum number of operating system threads.

You can configure the tasking with the two general database parameters MAXUSERTASKS and MAXCPU.

See also:

Concepts of the Database System, General Database Parameters


N (SAP Library - MaxDB Library)

 Entering content frame

Background documentation N


Naming Conventions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Naming Conventions

You cannot freely choose all names in the database system; in some cases you have to conform to the relevant naming conventions.

See also:

Concepts of the Database System,

· Conventions for Database Names

· Conventions for User Names and Passwords


Network (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Network

MaxDB database instances, tools and interfaces can be installed on different computers in a network.

See also:

Concepts of the Database System,

· Network Communication

· Technical System Landscape


O (SAP Library - MaxDB Library)

 Entering content frame

Background documentation O


ODBC Interface (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ODBC Interface

To access the MaxDB database system with an ODBC interface, use the MaxDB ODBC driver.

See also:

ODBC Manual


OLTP (MaxDB) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OLTP (MaxDB)

MaxDB is a relational database system that was developed for Online Transaction Processing (OLTP).

The OLTP database instance type has been optimized for the rapid processing of individual transactions with a large number of users and large databases.


OMS (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS

Object management system (OMS) is a type of data management.

Only SAP liveCache database instances use OMS:

A large part of the data in an SAP liveCache database instance is managed in objects. This object data is called OMS data. OMS data is managed in containers that are assigned to precisely one persistent C++ class of the object type.

OMS data is edited in the OMS intermediate layer. You can include application logic in the liveCache by using DB procedures. This removes much of the work that would otherwise be needed for communication and the transfer of data.

The OMS data pages are in the data cache.

See also:

Database Administration in CCMS: SAP liveCache Technology, Structure link Class Container


OMS Heap (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Heap

The OMS heap is only used by SAP liveCache database instances.

In addition to the data cache and the converter, during operation liveCache database instances also use a private OMS cache in the main memory: the OMS heap.

The OMS heap grows when additional heap memory is requested. You can configure the maximum size of the OMS heap with the OMS_HEAP_LIMIT liveCache database parameter.

The OMS heap contains the following data:

· Local copies of OMS data

When an object within a consistent view is accessed for the first time, the database system writes the corresponding data to the OMS heap.

· Local application data

The database system copies the data of each OMS version to the OMS heap when it is read.

To access a persistent object, the database system searches first in the OMS heap. If it does not find the object there, it searches in the data cache. If it does not find the object there either, the database system copies the object from the data area to the data cache, and from there to the OMS heap. The database system then makes all changes to the object in the OMS heap.

Any objects that are read but not changed within a consistent view are deleted from the OMS heap by the database system.

When a transaction ends (COMMIT), the database system writes the OMS data from the OMS heap to the data cache.

Configure the general database parameter CACHE_SIZE and the liveCache parameter OMS_HEAP_LIMIT in such a way that prevents swapping at the operating system level.

See also:

Concepts of the Database System,

· General Database Parameters

· liveCache Database Parameter

Database Administration in CCMS: SAP liveCache Technology

· Structure link Heap Usage

· Structure link Monitoring the Main Memory Areas


OMS Version (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Version

OMS versions are only used by SAP liveCache database instances.

An OMS version is based on a consistent view and thus represents the consistent state of the SAP liveCache database instance, valid as of the time it started. An OMS version is generated by the application, and can extend across multiple transactions. It defines a range of data in which transactions can change objects independently of competing applications. At any particular time, one OMS version can be edited only within a database session.

An OMS version can be activated at any time in the Object Management System (OMS). All subsequent OMS operations refer to the activated OMS version. In particular, you can make changes that are visible only within the OMS view.

The data of each OMS version is copied to the OMS heap when it is read. The application decides whether the changes made to the objects within the OMS version are copied to the current state of the application. No changes to the data of an OMS version are copied to the data cache in any form without being requested by the application. This means that any data that the application does not copy to the current state is lost when an OMS version is deleted.

The previous OMS versions no longer exist after a restart. They are implicitly deleted.

When you close an OMS version (end a database session), the data can be swapped from the OMS heap to the data cache if memory bottlenecks occur.

See also:

Database Administration in CCMS: SAP liveCache Technology

· Structure link OMS Versions

· Structure link Monitoring OMS Versions


Open Source Development (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Open Source Development

Open source users can translate the database software source code themselves.

Please observe the license terms. See: www.mysql.com/company/legal/licensing

See also:

Concepts of the Database System, Open Source Development of the Database Software

Development Environment


Operating System User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Operating System User

Operating system users can access database resources with operating system commands. To protect database resources from unauthorized access, there are special operating system users and user groups for MaxDB on UNIX and Linux.

See also:

Concepts of the Database System, Special Operating System Users and Groups (UNIX/Linux)


Operating Mode (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Operating Mode

When you call a command line program, you choose an operating mode:

· Command mode

· Session mode

· Script mode

See also:

Concepts of the Database System, Operating Mode of Command Line Programs.


Operational State (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Operational State

A database instance can be in the following operational states:

Operational State | Description
ONLINE | The database instance is ready. Database users can log on and execute SQL statements. Database administrators can also execute a variety of administration tasks, such as backups.
STANDBY | Only for standby instances in Hot Standby systems; a standby instance cannot accept any connections and is constantly in a restart state.
ADMIN | The database instance is only available for administration tasks.
OFFLINE | The database instance is not running.

When the database instance is transferred from one operational state to another, it may be temporarily in an intermediate state.

To monitor or change the operational state of the database instance, use the Database Manager, or, in SAP systems, the Database Assistant of the CCMS.

See also:

· Database Manager GUI, Monitoring the Operational State

· Database Manager CLI, Controlling Database Instances

· Database Administration in CCMS: MaxDB, Structure link Operational State

· Database Administration in CCMS: SAP liveCache Technology, Structure link liveCache State, Structure link Operating


Optimistic Lock (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Optimistic Lock

The database system logs any changes made to a database object for which you have set an optimistic lock.

See also:

Concepts of the Database System, Optimistic Lock

Reference Manual, LOCK Statement (lock_statement)


Optimizer (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Optimizer

See: SQL Optimizer


Overwrite Mode for the Log Area (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Overwrite Mode for the Log Area

You can use this log setting to configure whether the database system overwrites the log area cyclically without first backing up the log entries.

Only switch on overwrite mode if it is not important to you that you can only restore the system to the status of the last available data backup.

See also:

Concepts of the Database System, Log Settings

Database Manager GUI, Changing Log Settings


Owner (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Owner

The owner of a database object is initially the database user who created the database object. The owner has special privileges for the database object.

The owner of a database object can use the GRANT statement to grant other database users privileges for the database object.

See also:

Reference Manual

· Privileges: Overview

· GRANT Statement (grant_statement)


P (SAP Library - MaxDB Library)

 Entering content frame

Background documentation P


Page (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Page

A page is the basic unit which the database system uses to write data to the hard disk and read data from the hard disk. A page corresponds to a certain number of operating system blocks. Pages are often the unit used to specify memory and disk space.

The page size for the MaxDB database system is 8 KB.

This graphic is explained in the accompanying text


Page Chain (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Page Chain

The database system uses page chains to save liveCache data (C++ objects) and undo log entries and then later access them.

A page chain is a sequence of pages that belong together logically. Each page has exactly one page that follows it. The first page in a page chain is called the root page. The root page contains internal administration information, such as the ID of the last page in the chain.

See also:

Concepts of the Database System, Data Storage and Access


Page Number (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Page Number

Each page has a logical page number, which uniquely identifies the page.


Pager (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Pager

Pagers write the data from the data cache to the data area for each savepoint. If a lot of data was changed and the pagers would have to write many pages at the next savepoint, then the pagers write data from the data cache to the data area before the next savepoint.

When the database instance starts, the pagers import the converter into the main memory.

If you remove a data volume, the pagers read the data from the volume to be removed and then write the data to the remaining data volumes.

Pagers are tasks in the user kernel thread.

See also:

Concepts of the Database System, Overview of Tasks


Parameter (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Parameter

See

· Database Parameter

· Parameters in SQL Statements


Parameter File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Parameter File

The parameter file is a binary file that contains the values of the database parameters for the database instance.

See also:

Concepts of the Database System, Configuration Files


Parameters in SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Parameters in SQL Statements

You can embed SQL statements for the database system in programming languages such as C and C++. This way, programs can access the database instance. You can use parameters within SQL statements to specify the values that the programs are to query or save. You declare the parameters as variables (so-called host variables) within the embedding program.

The data type of the host variables is defined when they are declared in the programming language. If possible, the values of the host variables are implicitly converted from the programming language data type to the data type of the database system, and vice versa.

Each parameter can be combined with an indicator variable that indicates irregularities (such as different value and parameter lengths, NULL value, special NULL value, and so on) that may have occurred when the values were assigned. Indicator variables are essential for transferring NULL values and special NULL values. The indicator variables are declared as variables in the embedding program.

See also:

Reference Manual, Parameter Name


Performance (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Performance

The database system internally transforms SQL statements to speed their processing. The SQL Optimizer then selects the best access strategy.

How you configure your database instance will substantially influence its performance.

See also:

Concepts of the Database System, Performance

SAP Note 819641


Perl Interface (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Perl Interface

The SAP::DBTech::dbm and SAP::DBTech::loader modules allow you to access the Database Manager and Loader database tools using Perl scripts.

See also:

Perl Manual


PHP Interface (SAP Library - MaxDB Library)

 Entering content frame

Background documentation PHP Interface

The MaxDB PHP programming interface enables you to access MaxDB database instances with PHP.

See also:

PHP Manual


Port (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Port

A port is the end point of a logical connection. Services and server programs can be assigned port numbers. MaxDB uses port numbers for the MaxDB X Server and the Synchronization Manager.

See also:

X Server, Ports and Protocols of the X Server

Synchronization Manager, Synchronization Ports


Precompiler (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Precompiler

See: SQLDBC

Up to and including database version 7.5, the precompiler provided an interface between MaxDB database interfaces and C/C++ application programs. As of database version 7.6, the precompiler has been replaced by the SQLDBC interface.


Prepared Statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Prepared Statement

Prepared statements are used for developing database applications. They enable the use of SQL statements with placeholders in methods of the language selected for the database application.

Placeholders can only represent values, not the names of database objects, such as the name of a table, for example. You can use either a question mark (?) or a variable name (:input) as placeholders. If you use the same variable name more than once, this represents more than one parameter.

Advantages of prepared statements over simple SQL statements include:

· They are more efficient, because the database system only needs to parse them once, even if they are used more than once (see shared SQL).

· They are more secure, because they separate the SQL logic and the data specified by the user and so decrease the risk of a user deliberately specifying invalid values (SQL injection). See MaxDB Security Guide, Checking User Inputs in SQL Statements

You can use prepared statements with the following MaxDB interfaces:

MaxDB Interfaces: Prepared Statements

Interface | Implementation
JDBC | Class PreparedStatement
ODBC | Method SQLPrepare
SQLDBC | Class SQLDBC_PrepareStatement
PHP | maxdb_prepare
Perl | prepare
Python | Method prepare, Class SAPDB_Prepared

Example

Prepared statement for the MaxDB SQLDBC interface:

SQLDBC_PrepareStatement *stmt = conn->createPreparedStatement();

SQLDBC_Retcode rc = stmt->prepare("SELECT * FROM CUSTOMER");

if (rc != SQLDBC_OK) {

// Handle error ...

}

rc = stmt->execute();

if (rc != SQLDBC_OK) {

// Handle error ...

}


Primary Key (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Primary Key

A primary key is defined for each database table. A user-defined primary key can consist of one or more columns.

The primary key must have a unique value for each table row. The primary key is either defined by the database user, or generated internally.

See also:

Reference Manual, Key Definition (key_definition)

SQL Tutorial, Primary Key


Privilege (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Privilege

A privilege defines the SQL statements permitted for a database object.

Users may only implement SQL statements on database objects for which they have been granted privileges. When a user creates a database object, this user then automatically becomes the owner of the database object, and is granted all privileges for this database object.

The owner of an object can grant privileges for this database object to other users; the database systems does not grant any privileges implicitly. Other users can only grant privileges for a database object when they themselves have been granted these privileges and have permission to grant these to other users.

See also:

Reference Manual:

· Privileges: Overview

· GRANT Statement (grant_statement)

· REVOKE Statement (revoke_statement)


Process (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Process

The MaxDB database system includes various processes.

See also:

Concepts of the Database System, Overview of Processes


Programming Interface (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Programming Interface

The MaxDB database system offers interfaces for programming database applications in several different programming languages.

See also:

Concepts of the Database System, Interfaces


PTS (Problem Tracking System) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation PTS (Problem Tracking System)

Error and problem messages for MaxDB are recorded internally in the Problem Tracking System (PTS). Users can track the processing of messages via the Web PTS web interface.

See also:

Concepts of the Database System, Tracking Problem Messages with Web PTS


Python Interface (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Python Interface

The sapdb.dbm, sapdb.loader and sapdb.sql modules are used along with Python scripts to access MaxDB database instances as well as the Database Manager and Loader database tools.

See also:

Python Manual


Q (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Q


Query Tool (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Query Tool

The query tools are those database tools with which you can access data and the database catalog, create and implement SQL queries, and create and manage database objects and database users.

The following query tools are available:

· SQL Studio

· SQLCLI

· Web SQL Studio

See also:

Concepts of the Database System, Database Tools


R (SAP Library - MaxDB Library)

 Entering content frame

Background documentation R


Reader-Writer Lock (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Reader-Writer Lock

Reader-writer locks are regions with enhanced functionality, which enable a synchronization mechanism for critical sections. Reader-writer locks control both exclusive and non-exclusive access by tasks to critical sections.


Redo List (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Redo List

The redo list is an internal database list of transactions that is created by the redo log manager. It is stored in the main memory.

The redo list supplements the transaction list. The redo list contains information on the transactions that the database system started after the most recent save took place. The list also contains details of the sequence in which the transactions were carried out. These transactions will need to be repeated if a restart or restoring of the database instance is required.

See also:

Concepts of the Database System

· Redo Log Management

· Using Log Entries for a Restart or Restore


Redo Log Entry (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Redo Log Entry

The database system uses redo log entries (after images) if it needs to repeat data changes that were already carried out by a completed transaction. All the information that the database system needs to repeat the transaction is stored in the redo log entries.

See also:

Concepts of the Database System

· Redo Log Management

· Using Log Entries for a Restart or Restore


Redo Log File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Redo Log File

When the database instance is restarted or restored, the database system writes to a redo log file all redo log entries of transactions that were not completed at the last savepoint and so need to be repeated by the database system.

Redo log files are internal database files and are in the data area.

See also:

Concepts of the Database System, Redo Log Management


Redo Log Management (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Redo Log Management

Redo log management is used to manage the redo log entries. You can switch off redo log management.

Only switch off redo log management in special situations, such as for tests.

See also:

Concepts of the Database System,

· Log Settings

· Redo log management

Database Manager GUI, Changing Log Settings


Redo Log Manager (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Redo Log Manager

When the database is restarted or recovered, the redo log manager ensures that the necessary redo log entries are made available and are processed in the correct chronological order. The redo log manager starts the log reader and the redo tasks.

The redo log manager is a service task and runs in the user kernel thread.

See also:

Concepts of the Database System, Using Log Entries for a Restart or Recovery


Redo Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Redo Task

Redo tasks are server tasks. When the database instance is restarted or restored, redo tasks execute any transaction that need to be repeated.

See also:

Concepts of the Database System, Repeating Transactions


Region (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Region

A region is a semaphore, exclusive to MaxDB, that enables a synchronization mechanism for critical sections. Regions control the exclusive access by tasks to critical sections.


Reorganization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Reorganization

It is not necessary to reorganize data in the MaxDB database system.

See also:

Concepts of the Database System, Data Storage and Access


Replication (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Replication

Replication means that you create multiple duplicates of a database instance, which are regularly updated.

See also:

Concepts of the Database System, Replication and High Availability


Replication Table (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Replication Table

You need replication tables to synchronize multiple database instances using the Synchronization Manager. Define a replication table for each master table whose data is to be synchronized with client tables.

See also:

Synchronization Manager, Data Model


Replication Unit (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Replication Unit

You need replication units to synchronize data from multiple database instances using the Synchronization Manager. You use replication units to define which tables are synchronized with each other and in what way.

See also:

Synchronization Manager, Data Model


RESOURCE User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation RESOURCE User

RESOURCE users are database users who have several additional rights over STANDARD database users. RESOURCE users can grant certain privileges to other users, for example.

See also:

Concepts of the Database System, Database Users


Resource Monitor (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Resource Monitor

Only available in SAP systems

You can use the resource monitor to monitor resource usage in the database instance and identify expensive SQL statements.

See also:

Database Administration in CCMS: MaxDB, Structure link Resource Monitor


Restart (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restart

When a database instance is restarted, the database system switches it from the operational state OFFLINE, ADMIN, or ONLINE to the OFFLINE operational state, and then switches it to the ONLINE operational state again.

A restart is necessary, for example, in the following situations:

· You have changed a database parameter and the change can only take effect after a restart.

· The database instance was not stopped correctly because the computer was switched off due to a power failure.

When it is restarted, the database system uses the information from the last savepoint and the log entries from the database instance to repeat the effects of completed transactions on the data volumes (ROLL FORWARD) and to reverse the effects of open transactions (ROLLBACK).

For a restart to be successful, the volumes in the database instance must not be damaged. If the hard disk has been damaged, you must restore the database instance.

You can also restart the database instance in a state it was in at a point in time in the past.

See also:

Concepts of the Database System, Using Log Entries for a Restart or Restore

Database Manager GUI, Starting (Restarting) the Database Instance

Database Manager CLI, Restarting the Database Instance


Restart Record (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restart Record

The restart record stores all information that the database system requires to restart the database instance. The database system updates the restart record at each savepoint.

The restart record includes the following entries:

· The starting point of the logging

· The converter starting point that the database system backed up at the last savepoint

· The history directory starting point that the database system backed up at the last savepoint

· The starting point in the internal database file directory

The restart record is on the first page of the first data volume.

See also:

Concepts of the Database System, Example: Restart


Restore (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restore

When you restore a database instance, you restore it to the last consistent state it was in before a system failure (such as a damaged hard disk). To do this, you need seamless data backups and log backups.

You can also restore a database instance to a state it was in at a point in time in the past.

See also:

Concepts of the Database System, Restoring the Database Instance

Database Manager GUI, Restoring Data

Database Manager CLI, Restoring the Database Instance


Role (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Role

A role is a group of privileges that can be granted to database users, user groups, or to other roles.

While privileges apply at all times, roles are initially inactive, which means that the privileges they contain do not apply. You can activate roles for individual database sessions. Every user to whom roles have been assigned can also define which of the roles should be active in each database session. The user can change this definition after opening a database session.

See also:

Reference Manual, Role Name (role_name)


ROLLBACK (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ROLLBACK

When it executes a ROLLBACK, the database system undoes all changes that were executed by a transaction in the database instance. To do this, the database system uses the transaction's undo log entries. The database system then releases all locks that have been allocated to the transaction, implicitly deletes all results tables that have been generated in the transaction, and opens a new transaction.

Any changes that are have been completed by a COMMIT can no longer be reversed by a ROLLBACK.

In normal database operation, the database system performs the required ROLLBACK actions independently. However, ROLLBACK can also be explicitly requested using appropriate SQL statements.

See also:

Reference Manual, ROLLBACK Statement

Concepts of the Database System, Undo Log Management


ROLL FORWARD (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ROLL FORWARD

Repeats (“redoes”) the effects of completed transactions.

See also:

Concepts of the Database System, Repeating Transactions


Row (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Row

A row is an ordered sequence of values. A row is the smallest unit of data that can be added to or deleted from a table. Each row in a table has the same number of columns and contains a value for each column.


S (SAP Library - MaxDB Library)

 Entering content frame

Background documentation S


SAP DB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SAP DB

The SAP DB database software is delivered under the name MaxDB as of database version 7.5.

See also:

Concepts of the Database System, SAP DB and MaxDB


Savepoint (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Savepoint

The database system automatically saves all changes at regular intervals. In MaxDB, these backup points are called savepoints.

See also:

Concepts of the Database System, Savepoint


Scheduler (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Scheduler

You can use the scheduler to be scheduled DBM commands to execute at defined points in time.

See also:

Database Manager CLI, Using the Scheduler


Schema (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Schema

You can use schemas to group database objects that logically belong together. A database object can belong to precisely one schema.

Schemas are created in the following situations:

· When you create a new database user, the database system creates a schema with the name of the database user.

When you create a new database instance, the database system creates the database system administrator (SYSDBA user) and implicitly creates a schema with the same name. The database system also creates the following schemas for the database system administrator: SYS, DOMAIN, SYSINFO.

· Database administrators can create schemas explicitly.

New database object are assigned to a schema in the following manner:

· The database user who creates the database object can explicitly assign the database object to a schema.

The database user BORIS creates the table person and assigns it to the schema OFFICE .

CREATE TABLE OFFICE.person
(pno FIXED(6),
name CHAR(20),
city CHAR(20))

· If the database user does not enter a schema when creating the database object, the database system assigns the database object automatically to the schema of the database user who is currently logged on.

The database user BORIS creates the table person . The database system assigns the table to the schema BORIS .

CREATE TABLE person
(pno FIXED(6),
name CHAR(20),
city CHAR(20))

See also:

Reference Manual, Schema Name (schema_name)


sdb (SAP Library - MaxDB Library)

 Entering content frame

Background documentation sdb

sdb is the default value for the name of the special operating system user <sdb_user> (only in UNIX/Linux).

See also:

Concepts of the Database System, <sdb_user> (Special Operating System User)


sdba (SAP Library - MaxDB Library)

 Entering content frame

Background documentation sdba

sdba is the default value for the name of the special operating system user group <sdba_group> (only in UNIX/Linux). Members of this user group have comprehensive authorization to access database resources at the operating system level.

See also:

Concepts of the Database System, <sdba_user> (Special Operating System Group)


Search Strategy (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Search Strategy

The database system usually has multiple options (search strategies) to access data specifed by a user in an SQL statement.

See also:

SQL Optimizer, Search Strategies


Secondary Key (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Secondary Key

See Index


Selectivity (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Selectivity

Ratio between the data records that are read and those that are actually required when accessing data.


Separator (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Separator

The entries in the root pages and index pages of a B* tree are known as separators. A separator acts as a pointer to the appropriate page on the next level down in the B* tree. A separator consists of the significant part of the primary key of a data record (which differentiates it from the following entry), information about the length, and a pointer.

See also:

Concepts of the Database System, B* Tree


Sequence (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Sequence

A sequence is a database object whose value the database system automatically increases or decreases with each access. To guarantee quick access, the database system holds the values and management information for sequences in the sequence cache.

See also:

Reference Manual,

· Sequence Name (sequence_name)

· CREATE SEQUENCE Statement (create_sequence_statement)

SQL Tutorial, Number Generators for Tables


Sequence Cache (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Sequence Cache

The database system holds all information about sequences in the sequence cache.

You can use the special database parameter SEQUENCE_CACHE to configure the size of the sequence cache.

See also:

Concepts of the Database System, Special Database Parameters


Server Authorization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Server Authorization

Server authorizations regulate the authorizations of Database Manager operators (DBM operators) when they access the DBM server.

See also:

Concepts of the Database System, Server Authorizations for the DBM Server

Database Manager GUI, Changing Server Authorizations

Database Manager CLI, Displaying Server Authorizations, Changing the DBM Operator Properties


Server Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Server Task

Server tasks are tasks in the user kernel thread. Server tasks run database functions in parallel and are used, for example, for backing up data.

See also:

Concepts of the Database System, Overview of Tasks


Service (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Service

You can start and stop database instances, the X Server and some other MaxDB components as services.

See also:

Concepts of the Database System,

· Overview of Services

· Automatic Start


Service Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Service Database Instance

The service database instance is a specially-configured additional database instance without its own data that the database systems utilizes, for example, to check a backup or restore the parameter file from a data backup.

The database system creates the service database instance under a <generated_name> when the database software is installed.

See also:

Concepts of the Database System, Overview of Services

Database Manager CLI, Opening a Service Session: -uSRV


Service Session (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Service Session

A service session is a special database session where you are connected to the service database instance.

See also:

Database Manager CLI, Opening a Service Session: -uSRV


Shared Memory (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Shared Memory

Shared memory is a working memory jointly used by multiple processes of a database instance.

The DBM server of a database instance can consist of multiple processes. These processes communicate via the shared memory. This communication is necessary to:

¡ Coordinate access to shared resources, such as the parameter file or the log file of the DBM server.

¡ Transfer database parameters.

¡ Retrieve the results of special DBM server processes, such as the command scheduler.

The database system also saves the content of the DBM server's shared memory in the dbmsrv_<database_name>.shm anddbmsrv_<database_name>.shi files in the in the directory <independent_data_path>\wrk. In this way, the contents of the shared memory are also available even when no DBM server processes are active.

DBM server processes from different database instances cannot communicate with one another via the shared memory.

See also:

Database Manager CLI, Further Commands for the Database Manager Settings


Shared SQL (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Shared SQL

The database system can use shared SQL to avoid multiple parsing and multiple storage of parse information (such as execution plans and descriptions of result sets).

If shared SQL is activated, the database system saves all parsed SQL statements and particularly prepared statements with their corresponding information in a global cache, shared by all users. The system can use this information again later, if needed.

You can activate shared SQL with the special database parameter SHARED_SQL.

See also:

Concepts of the Database System, Special Database Parameters


Shared Lock (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Shared Lock

A shared lock enables other transactions to read but not change a database object.

See also:

Concepts of the Database System, Shared Lock


Snapshot (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Snapshot

A snapshot freezes the current status of the data area. After you have made a snapshot, you can continue to work normally with the data for the database instance and make changes to the data. You can later return to the frozen data area state or copy all changes since the snapshot.

See also:

Concepts of the Database System, Freezing the Data Area (Snapshot)

Database Manager GUI, Freezing the Data Area (Snapshots).


Software Component (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Software Component

The MaxDB database software is comprised of multiple software components. A software component can be a database tool or an interface, for example. When you install the database, you can select which software components you want to install.

See also:

Installation Manual, Software Components


Special Thread (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Special Thread

Special threads are operating system threads. They provide services for the user kernel threads that the user kernel threads must process asynchronously. These services include connection requests, reading or writing to data volumes, and backups.

See also:

Concepts of the Database System, Special Threads


SQL (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL

You can use statements in Structured Query Language (SQL-statements) to define, display, add, change and delete data in the database.

See also:

Concepts of the Database System, SQL

Reference Manual

SQL Tutorial


SQLCLI (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQLCLI

SQLCLI is a command line database tool for accessing data and the database catalogue, making SQL queries, and for creating and managing database objects and database users.

See also:

SQLCLI documentation

Concepts of the Database System, Database Tools


SQLDBC (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQLDBC

SQLDBC is a programming interface that applications can use to execute SQL statements in the database, access data, and change data.

See also:

SQLDBC documentation

Concepts of the Database System, Programming Interfaces

Database Administration in CCMS, Structure link SQLDBC Trace


SQL Mode (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Mode

The MaxDB database system supports various SQL language variants (SQL modes)

SQL Modes

Name | Description
INTERNAL | Internal MaxDB definition
ANSI | ANSI standard in accordance with ANSI X3.135-1992, Entry SQL
DB2 | Definition DB2 Version 4
ORACLE | Definition ORACLE 7

When you open a database session, you can enter the required SQL mode. The default is INTERNAL.

The database system supports SQL modes other than INTERNAL only to a limited extent for Data Definition Language (DDL) statements.

If nothing else is entered, the documentation for the database system describes the functionality available in the INTERNAL SQL mode.

See also:

Reference Manual:

· Entering the SQL mode with the CONNECT Statement

· SQL Mode ORACLE

Loader, SQLMODE Command


SQL Optimizer (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Optimizer

The SQL Optimizer is a part of the kernel of the database system. It analyses SQL queries that are addressed to the database instance and selects the best search strategy for accessing the database tables.

See also:

Documentation about the SQL Optimizer


SQL Sessions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Sessions

An SQL session must be started before the Database Manager can transfer SQL statements to the database instance and display result sets and their structure. All commands that require an SQL session with the database instance open the session implicitly when they are executed and then end it again after the command has been executed.

With SQL statements that can only be executed by certain database users, we recommend first opening an SQL session with the data of this database user, executing all SQL statements and then either closing the SQL session or, as the case may be, closing the program being used.

We also recommend this procedure if you want to transfer a large number of SQL statements, or if you think the SQL statement will have a large result set. In this case, you also need to execute multiple SQL statements, one after another, to scroll through the results data.

See also:

Database Manager CLI, SQL Access to the Database Instance


SQL Statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Statement

You can use SQL statements to display, add, change or delete data in the database.

See also:

Reference Manual, SQL Statements: Overview

Concepts of the Database System, SQL


SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Studio

SQL Studio is a database tool for accessing data and the database catalog, making SQL queries, and creating and managing database objects and database users. SQL Studio has a graphical user interface.

See also:

SQL Studio documentation

Concepts of the Database System, Database Tools


SQL Tutorial (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Tutorial

There is an SQL tutorial available for the MaxDB database system. The SQL tutorial explains the most important SQL statements with sample data from the DEMODB demo database.

See also:

SQL Tutorial

Leaving content frame


SSL/TLS (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SSL/TLS

You can encrypt communication between clients (Database Manager CLI, for example) and the X Server using SSL/TLS.

See also:

Concepts of the Database System, Data Encryption


STANDARD User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation STANDARD User

STANDARD users are database users who have only limited rights regarding the management of database objects and no rights regarding user management.

See also:

Concepts of the Database System, Database Users


Standby Database (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Standby Database

A standby database is a copy of the active database, which you update regularly using the log backups of the active database.

See also:

Concepts of the Database, Standby Database


Start (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Start

To start a database instance manually, transfer it to the ONLINE operational state with the Database Manager database tool.

You can also configure the operating system and database instance so that the database instance is automatically set to the ONLINE operational state when the computer is started.

See also:

Concepts of the Database System, Automatic Start

Database Manager GUI, Starting (Restarting) the Database Instance

Database Manager CLI, Transferring to the ONLINE Operational State


Statistics (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Statistics

During productive operation, the database system collects a range of statistic information, used by the SQL Optimizer, amongst others.

See also:

Concepts of the Database System, SQL Optimizer Statistics

Reference Manual, Statistics

Database Administration in CCMS: MaxDB, Structure link Statistics

Database Administration in CCMS: SAP liveCache Technology, Structure link Statistics


Stored Procedure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Stored Procedure

See: Database Procedure


Subtransaction (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Subtransaction

You can subdivide a transaction into self-contained units (subtransactions).

See also:

Reference Manual, SUBTRANS Statement (subtrans_statement)


Support (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Support

You can receive support for MaxDB in many different ways.

SAP customers can find more information in SAP Note 826037.

See also:

Concepts of the Database System, Support


Synchronization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Synchronization

Synchronizing database instances involves comparing data from multiple database instances.

You can use the Synchronization Manager to synchronize database instances. The Synchronization Manager performs the following tasks, among others:

  • If data in one database instance is changed, these changes are replicated in the other database instances.
  • If two database instances change the same data at the same time, the system executes an automatic conflict handling.

See also:

Synchronization Manager documentation

Concepts of the Database System, Synchronization


Synchronization Manager (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Synchronization Manager

The Synchronization Manager is a tool for synchronizing the table contents of two or more database instances.

See also:

Concepts of the Database System, Database Tools

Documentation about the Synchronization Manager


Synchronization User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Synchronization User

The DBSERVICE synchronization user is a special database user of the DBA type, required for synchronizing database instances with the Synchronization Manager. As of database version 7.6, the database system automatically creates this user when a new database instance is created.

See also:

Synchronization Manager documentation


Synonym (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Synonym

A synonym is an alternative name for a database table. Within a database schema, each synonym has a unique name that is different from all other table names.

See also:

Reference Manual, Synonyms


Syntax Notation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Syntax Notation

The syntax notation used in this documentation is derived from the Backus Naur Form (BNF).

See also:

Concepts of the Database System, Syntax Notation


SYSDBA User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SYSDBA User

See Database System Administrator (SYSDBA User)


System Copy (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Copy

If you make a system copy, you duplicate an SAP system. You re-install all instances of the SAP system, but create the target database as a copy of the source database (database copy). Some settings in the target system may be different from those in the source system.

You can create the following types of system copies:

· Homogenous system copy

The target system runs on the same operating system and with the same database system as the source system.

· Heterogeneous system copy

The target system runs on a different operating system or with a different database system than the source system.

To create a system copy, you need a database copy, amongst other things.

See also:

Concepts of the Database System, Database Copy

SAP Note 129352


System Breakdown (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Breakdown

If the database instance breaks down due to a hardware defect or a logical error, you can restore the database instance to a consistent state by importing your data and log backups.

For increased security, there are also various replication and high availability mechanisms available.

See also:

Concepts of the Database System,

· Backing Up and Restoring

· Replication and High Availability

· Troubleshooting


System Table (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Table

In the system tables of a database instance, the database system stores, among other things, information about database objects and their relationships to each other, database states, statistics, operation and settings.

See also:

Reference Manual, System Tables


System Trigger (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Trigger

A system trigger is a special database procedure performed implicitly during a restart. It is executed at a point when, though the database instance has been fully started, connections are still not possible.

See also:

Reference Manual, CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement)


T (SAP Library - MaxDB Library)

 Entering content frame

Background documentation T


Table (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Table

A table is a set of rows. Each row in a table has the same number of columns and contains a value for each column.

Table Types

Base table | System tables and all tables containing application data are base tables. Base tables are saved permanently.
Result table | The database system creates result tables when a SELECT statement is executed and then deletes them at the end of the session.
Join table | A join table is a special result tables that the database system creates when two or more tables are linked.
System table | A system table is a base table that contains system information (information about the database objects, states, statistics, monitor data; loader system tables).
Temporary table | A temporary table is a special base table that the database system deletes at the end of the session. Temporary tables belong to the TEMP schema.
View table | A view table is derived from a base table and its definition is saved permanently. View tables themselves contain no data, they only provide a view of the data.

The database system automatically increases and decreases the size of tables without you, the administrator, having to take any action. The database system uses database-internal striping to distribute the data belonging to a table evenly across all the data volumes. You cannot influence how the data is distributed across the data volumes nor can you find out which tables are saved in which data volumes.

See also:

Reference Manual, Data Definition

System Tables documentation


Table ID (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Table ID

Each table in the database has a table ID of a fixed length, which gives the table a unique identity. The database system uses the table ID to access a table. To access a table with an SQL statement, you need to specify the table name.

The allocation of the table name to the table ID is stored in the database catalog; the allocation of the table ID to the B* trees is stored in the internal database file directory.

See also:

Concepts of the Database System, Data Storage and Access


Table Name (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Table Name

Each table in a database instance has a unique name.

If you specify a table name in an SQL statement without specifying an owner or a schema, then the database system searches through the database catalog for the table name in the following order:

...

1. Catalog part of the current owner

2. Set of PUBLIC synonyms

3. Catalog part of the database administrator who created the user currently logged on

4. Catalog part of the database system administrator

5. Catalog part of the owner of the system tables

You can only access tables from another owner or schema if you already have the necessary privileges.

See also:

Reference Manual,

· Table Name (table_name)

· QUERY Statement (query_statement)


Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Task

Tasks execute requests made to the database instance by users or by the kernel. They run in the user kernel threads. There are special tasks for specific requests, such as user tasks for executing SQL statements.

See also:

Concepts of the Database System

· Overview of Tasks

· Overview of Task States


Task State (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Task State

The task state provides information as to whether a task is currently active and which task it is currently executing. To display the current task states, you can, for example, use the XCONS (database console) tool.

See also:

Concepts of the Database System, Overview of the Task States

Utilities, XCONS


Thread (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Thread

A database instance includes multiple operating system threads, which are responsible, among other things, for executing tasks.

There are two types of threads: user kernel threads (UKTs) and special threads. The number of user kernel threads and special threads depends on the hardware configuration, the number of volumes used, and the way the database parameters are set.

See also:

Concepts of the Database System,

· Process Structure

· Overview of Special Threads

· Database Parameters


Timer Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Timer Task

The timer task is responsible for timeouts. It is a task in the user kernel thread.

See also:

Concepts of the Database System, Overview of Tasks


Timeout Value (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Timeout Value

The timeout value determines the maximum duration of inactivity in a database session. The duration of inactivity is the time interval between ending an SQL statement and sending the next SQL statement. As soon as the timeout value is exceeded, the database system ends the database session with a ROLLBACK.

You can configure the timeout value in the following way:

· You can use the SESSION_TIMEOUT special database parameter to configure the default timeout value for all users of the database instance.

· You can specify a special timeout value for a single user with a CREATE USER statement or an ALTER USER statement.

You can specify a special timeout value for a user group with a CREATE USERGROUP statement or an ALTER USERGROUP statement.

The database system always uses the smallest of these timeout values for a database session. When you log on to the database instance, you can also select an even smaller timeout value for the duration of the database session.

Enter timeout values in seconds.

See also:

Concepts of the Database System, Special Database Parameters

Reference Manual, Authorization


Trace (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Trace

When troubleshooting, you can activate different traces to create a detailed log of the messages issued by the database system.

See also:

Concepts of the Database System, Traces


Trace Writer Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Trace Writer Task

The trace writer task writes the appropriate log file for a database trace. It is a task in the user kernel thread.

See also:

Concepts of the Database System, Overview of Tasks


Transaction (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Transaction

A transaction is a sequence of SQL statements that the database system treats as a unit. A transaction brings the database from one consistent state to another. If a transaction is interrupted, then the database system returns the database to the state it was in before the transaction began (ROLLBACK).

See also:

Concepts of the Database System, Transactions

Reference Manual, Transactions

Database Administration in CCMS: MaxDB, Structure link Transactions

Database Administration in CCMS: SAP liveCache Technology, Structure link Transactions


Transaction File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Transaction File

The transaction file is an internal database file in the data area into which the database system writes data for all open transactions at a savepoint.

The log reader uses the transaction file when restarting or restoring the database instance to recreate the transaction list.

See also:

Concepts of the Database System, Logging Transactions


Transaction List (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Transaction List

The transaction list is an internal database list of all open transactions. The transaction list is located in the main memory. The transaction entry for an open transaction in the transaction list contains, for example, references to any existing redo log entries and undo log entries.

The log reader uses the transaction file when restarting or restoring the database instance to recreate the transaction list.

See also:

Concepts of the Database System, Logging Transactions


Trigger (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Trigger

A trigger is a special database procedure (a sequence of statements) that the database system executes after a specific event occurs.

You can define the following types of triggers:

· Triggers that are executed after an SQL statement changes data in a base table (or a view table based on this base table).

· System triggers, that the database system executes after the database instance is restarted.

You can define as many triggers as required.

See also:

Reference Manual

· Trigger Name

· CREATE TRIGGER Statement (create_trigger_statement)

· CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement)


Troubleshooting (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Troubleshooting

The database system provides a range of utilities for troubleshooting, such as error messages, log files and traces.

See also:

Concepts of the Database System, Troubleshooting


Tutorial (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Tutorial

See

SQL Tutorial


U (SAP Library - MaxDB Library)

 Entering content frame

Background documentation U


Undo Log Entry (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Undo Log Entry

The database system writes undo log entries (before images) for every transaction that changes data in the database. The database system saves the original values of all database objects that the transaction changes in the undo log entries.

The database system uses undo log entries if it has to undo an incomplete transaction (ROLLBACK).

See also:

Concepts of the Database System

· Undo Log Management

· Using Log Entries for a Restart or Restore

· Example: Consistent View


Undo Log File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Undo Log File

The database system writes undo log entries (before images) for transactions that are to change data in the database system. These undo log entries are written to undo log files in the data area. Each undo log entry in an undo log file has an undo log sequence number that starts with 0.

See also:

Concepts of the Database System, Undo Log Management


UNICODE (SAP Library - MaxDB Library)

 Entering content frame

Background documentation UNICODE

UNICODE is an international standard character set. The UNICODE character set provides a unique representation for all characters used in alphabets. The ASCII character set, on the other hand, is suited for use with English and Central European characters.

The MaxDB database system supports UNICODE in accordance with ISO 10646. Database instances can use UNICODE for the database catalog and application data. Internally, the database system stores the UNICODE data in UTF-16/UCS-2 format. This requires twice as much storage space as saving the data in ASCII format, since the coding is 16-bit rather than 8.

See also:

Concepts of the Database System, Creating a Database Instance

Reference Manual, Code Attribute


Unloading (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Unloading

See: Exporting


Update (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Update

When you update, you change the database software to a higher version. You can use the SDBINST program or the Installation Manager.

If database instances use the database software that needs to be updated, then carry out an upgrade.

See also:

Installation Manual, Installing und Updating the Database Software


Upgrade (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Upgrade

When you upgrade, you change the database instances and the database software to a higher version. You use the program SDBUPD.

If no database instances use the database software that needs to be upgraded, then carry out an update.

See also:

Installation Manual, Upgrading Database Instances and Their Server Software


User (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User

The database system differentiates between the following types of user:

· Database Users

· Database Manager Operators (DBM Operators)

· Database System Administrator (SYSDBA user)

See also:

Concepts of the Database System, Users, Authentication and Authorizations


User-Defined Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User-Defined Function

See Database Function


User Group (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Group

In UNIX/Linux, MaxDB uses a special operating system user group: <sdba_group>. Members of this user group have comprehensive authorization to access database resources at the operating system level.

See also:

Concepts of the Database System, <sdba_user> (Special Operating System Group)


User Kernel Thread (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Kernel Thread

A user kernel thread (UKT) bundles several tasks that execute client queries. A database instance generally has several user kernel threads. You can use database parameters to configure the number of user kernel threads and the number and type of tasks that can run in a user kernel thread.

See also:

Concepts of the Database System

· Process Structure

· Database Parameters


User Key (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Key

You can store your logon data for logging on to a database instance in a user key. When you log on to the database instance, you only need to enter your user key.

Use the XUSER database tool to create and manage user keys.

See also:

XUSER, Creating or Changing XUSER Entry


User Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Task

User tasks are tasks in the user kernel thread that execute SQL statements. When a database session is opened, the database system assigns exactly one user task to each user.

See also:

Concepts of the Database System, Overview of Tasks


Utility Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Utility Task

The utility task is a task in the user kernel thread that executes administration tasks.

See also:

Concepts of the Database System, Overview of Tasks


V (SAP Library - MaxDB Library)

 Entering content frame

Background documentation V


Variable (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Variable

In the documentation, the syntax of commands is described using variables indicated by the angle brackets around them.

dbmcli db_create <database_name> <dbm_user>,<dbm_user_password>

See also:

Concepts of the Database System, Variables and Examples


Version (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Version

The database software has a version number.

The version number is always the kernel version.

MaxDB and SAP liveCache use the same version number.

See also:

Concepts of the Database System, Version Notation

Installation Manual,

· Installing and Updating the Database Software

· Upgrading Database Instances and Their Server Software


Version File for Log Backup (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Version File for Log Backup

When backing up to a backup medium of the file type, the database system backs up the log entries from the log areas to version files. One version file is generated for each log segment of the log area.

The name of the version files consists of a file name (specified when the backup medium was defined) and a sequential number assigned by the database system (for example, logfile.001).

You have to archive version files at regular intervals.

See also:

Concepts of the Database System,

· Backing Up Log Entries

· Archiving Version Files

Database Manager CLI, Further Commands for Backing Up

Database Management in CCMS, Structure link Archiving Version Files


View (SAP Library - MaxDB Library)

 Entering content frame

Background documentation View

See: View Table


View Table (SAP Library - MaxDB Library)

 Entering content frame

Background documentation View Table

A view table is a view of an existing table. A view table never actually exists physically but is formed by the database system from the rows of the underlying base table(s) when a user specifies the view table in an SQL statement.

See also:

Reference Manual, CREATE VIEW Statement (create_view_statement)

SQL Tutorial, View Tables


VMAKE (SAP Library - MaxDB Library)

 Entering content frame

Background documentation VMAKE

VMAKE is MaxDB’s own make program, which you can use to create MaxDB software from MaxDB source code.

See also:

Development Environment

Concepts of the Database System, Database Tools


Volume (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Volume

A volume is a logical group of physical memory units (disks). A volume can be a part of a physical disk, a complete physical disk, or a completely structured storage system consisting of several storage units.

The database system differentiates between data volumes and log volumes. The number of data volumes and log volumes that you can define for a database instance depends on the general database parameters MAXDATAVOLUMES and MAXLOGVOLUMES. When you create a new database instance, you need to configure at least one data volume and one log volume. If required, you can add further volumes during database operation, until you reach the values specified in the database parameters MAXDATAVOLUMES or MAXLOGVOLUMES.

See also:

Concepts of the Database System,

· General Database Parameters

· Tips for Creating and Configuring a Database Instance

Database Manager GUI, Managing Database Instances

Database Manager CLI, Configuring Database Instances

Database Administration in CCMS: MaxDB, Structure link Volumes

Database Administration in CCMS: SAP liveCache Technology, Structure link Volumes


vserver (SAP Library - MaxDB Library)

 Entering content frame

Background documentation vserver

See X Server


vtrace (SAP Library - MaxDB Library)

 Entering content frame

Background documentation vtrace

See Database Trace


W (SAP Library - MaxDB Library)

 Entering content frame

Background documentation W


WebDAV (SAP Library - MaxDB Library)

 Entering content frame

Background documentation WebDAV

The MaxDB WebDAV servlet is an implementation of the WebDAV protocol defined in RFC2518. With the MaxDB WebDAV servlet, you can use a MaxDB database instance to store documents. Users can access documents in this document store with the WebDAV protocol.

See also:

WebDAV documentation


Web DBM (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Web DBM

Web-based database tool for creating and managing database instances and DBM operators.

The further development of Web DBM has been stopped. The MaxDB software package only contains Web DBM up to and including Version 7.5.

You can also manage Version 7.6 database instances with Web DBM 7.5 however.

See also:

SAP Note 856940 (ordering web tools)


Web Server (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Web Server

A Web server is a program that uses HTTP (Hypertext Transfer Protocol) to provide browsers and other applications with Web pages.

The further development of MaxDB Web Server has been stopped. The MaxDB software package only contains Web Server up to and including Version 7.5.

See also:

SAP Note 856940 (ordering web tools)


Web Server Manager (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Web Server Manager

The Web Server Manager provides a Web-based interface that enables you to change the configuration of the Web Server and the Web Tools.

The further development of Web Server Manager has been stopped. The MaxDB software package only contains Web Server Manager up to and including Version 7.5.

See also:

SAP Note 856940 (ordering web tools)


Web SQL (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Web SQL

Web-based database tool for accessing data and the database catalog, making SQL queries, and creating and managing database objects and database users.

See also:

Web SQL Studio documentation

Concepts of the Database System, Database Tools


Web Tool (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Web Tool

The term “Web Tools” is used to describe database tools that have a Web interface and that you can use with a Web browser.

The following web tools are available:

· Web SQL

· WebDAV

Further development of the following web tools has been discontinued: Web DBM, Web Server, Web Server Manager. These web tools are only included in the MaxDB software package up to and including version 7.5.

See also:

Concepts of the Database System, Database Tools

SAP Note 856940 (ordering web tools)


Run Directory (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Run Directory

The working directory of a database instance is the directory where the database system saves configuration and log files. If you enter a relative path when working with a database instance, the database system will always interpret this path as being relative to the run directory.

If you create a new database instance, you configure the <independent_data_path>, thereby implicitly configuring the working directory path. The default value for the working directory path is <independent_data_path>\wrk\<database_name>. The database system stores the working directory path in the general database parameter RUNDIRECTORY.

Run directory of the database instance DEMODB

Microsoft Windows:

C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB

UNIX/Linux:

/var/opt/sdb/data/wrk/DEMODB

After a system breakdown and a restart, the database system transfers the old log files to the <diag_history_path> directory (default value: <independent_data_path>\wrk\<database_name>\DIAGHISTORY).

See also:

Concepts of the Database System:

· Directories

· Variables and Examples


X (SAP Library - MaxDB Library)

 Entering content frame

Background documentation X


XCONS (Database Console) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation XCONS (Database Console)

XCONS (database console) is a database tool that gives you a quick overview of the operating system resources being used by the database system, the distribution of database sessions to threads, and the status of active database sessions.

See also:

Utilities, XCONS

Concepts of the Database System, Database Tools


X Server (SAP Library - MaxDB Library)

 Entering content frame

Background documentation X Server

The X Server is the communication server of the database system. It listens at a service port for connection requests from database applications and database tools.

On UNIX and Linux, the X Server process is called vserver.

See also:

Documentation Utilities, X Server


XUSER (SAP Library - MaxDB Library)

 Entering content frame

Background documentation XUSER

XUSER is a database tool that enables you to define XUSER entries for as many users as required, and to store these entries using a key name. XUSER entries facilitate connections to the database instance for database tools. SAP systems also support XUSER.

See also:

Utilities, XUSER

Concepts of the Database System, Database Tools


Y (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Y


Z (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Z


SQL Tutorial (SAP Library - MaxDB Library)

 Entering content frame

Component documentation SQL Tutorial

Purpose

MaxDB is a relational database system with an SQL interface. The data in MaxDB is organized in the form of tables. You can use a set of simple SQL (Structured Query Language) statements based on English to perform a wide range of operations on data and tables in MaxDB.

This SQL tutorial is designed to introduce you to the SQL language using the MaxDB database system.

Implementation Considerations

See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

For a detailed explanation of SQL syntax, see the Reference Manual. For more information about the database system, see Concepts of the Database System and Variables and Examples.

Features

HOTEL Demo Schema

To work through the examples in this SQL tutorial, you need the HOTEL Demo Schema for the SQL Tutorial.

This HOTEL demo schema was developed for practice and testing purposes and contains several predefined demo users and demo data.

Do not use this demo schema in a production system.

Example SQL Statements

The SQL statements that are described in the examples throughout this tutorial can be grouped in the following categories:

· The SELECT statement enables data to be selected from a table by row or column. Rows in several tables can be linked together. Data can be sorted, grouped, and calculated.
For examples, see Data Query.

· An additional group of statements is used to define and redefine the table structure and other database objects.
For examples, see Data Definition.

· The INSERT statement can be used to insert rows and the DELETE statement to delete rows. The UPDATE statement can be used to make changes.
For examples, see Data Manipulation.

· An additional group of statements is used to control data access authorizations for users and user groups.
For examples, see Authorization.

· When performing checks, it is often helpful to evaluate the system tables.
For examples, see Evaluating System Tables (Examples).

To make SQL statements more readable, the keywords are written in upper-case letters and the SQL statements are structured. Upper and lower-case spellings of syntax elements and blank characters or line breaks are not relevant for executing SQL statements.

Upper and lower-case letters, however, may be important when choosing identifiers for the database objects and entering values in the form of literals.


HOTEL Demo Schema for the SQL Tutorial (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation HOTEL Demo Schema for the SQL Tutorial

The HOTEL demo schema represents a very basic hotel administration system with information on the hotel’s visitors, location, vacancies, room prices, and so on.

This HOTEL schema allows you to examine all the examples in this SQL tutorial.

You can modify the HOTEL demo schema to suit your needs. However, your results may then deviate from the example results given in this tutorial.

Prerequisites

...

1. Install the database software and tools.
To make this setting, proceed as described in Installation Manual.

2. Create a database instance with the name DEMODB. You can use the Installation Manager or the Database Manager to do so.
Do NOT load the tutorial data.
Installation Manual, Using the Installation Manager
Database Manager GUI, Creating a Database Instance
Database Manager CLI, Example for Creating and Configuring a Database Instance

Procedure

Creating the MONA Database User

You can use different tools to create database users (Loader, Database Manager, for example, Database Manager GUI or CLI, query tools, such as SQL Studio, SQLCLI). The following sections describe how to enter the SQL statements for creating the MONA database user with the SQL Studio tool.

...

1. Log on to the database instance DEMODB as a database system administrator using the SQL Studio.
If you copied the default values when you created the database instance DEMODB, the database system administrator has the following user data:
user name: DBADMIN, password: SECRET

2. Create the database user MONA with the following SQL statement:
CREATE USER mona PASSWORD red DBA NOT EXCLUSIVE

3. Log off SQL Studio.

Creating the HOTEL Demo Schema

You can use various tools to create objects in the DEMODB database instance and populate them with data (Loader, Database Manager CLI, Query Tools, such as SQL Studio, SQLCLI).

The following sections explain how to execute the SQL statements specified for the HOTEL schema for creating the database objects and their contents with the SQL Studio tool.

4. Using the SQL Studio, log on to the database instance DEMODB as user MONA with the password RED.

5. Create the HOTEL schema and the required tables and fill these with values.
Use the SQL statements as specified in SQL Statements for the HOTEL Schema.

Result

Database user MONA has been created in the DEMODB database instance as a database administrator (DBA) with the password RED. The database administrator MONA can open several database sessions at once (NOT EXCLUSIVE).

The HOTEL schema has been created. A series of simply-structured tables have been assigned to the HOTEL schema. The tables are filled with data.

See also:

Explanation of the Tables in the HOTEL Schema

If you want to learn to administer database instances using the DEMODB or test SQL statements using existing data, you can load a more extensive set of catalog and application data from the HOTEL demo schema into the database instance DEMODB by executing specified scripts.

To do so, select the corresponding Load Tutorial option when creating a database instance in the Installation Manager and the Database Manager GUI.


SQL Statements for the HOTEL Schema (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Statements for the HOTEL Schema

You can use the following SQL statements to generate a series of tables and their contents in the HOTEL schema. You can then use this demo schema to work through all the examples in this SQL Tutorial.

See also:

Explanation of the Tables in the HOTEL Schema

Process Flow

Create the database administrator MONA and log on to the DEMODB database instance as MONA with one of the tools (see: HOTEL Demo Schema for the SQL Tutorial). Enter the following SQL statements:

//

CREATE SCHEMA hotel

//

SET CURRENT_SCHEMA = hotel

//

CREATE TABLE city

(zip                CHAR(5)     PRIMARY KEY,

name        CHAR(30) NOT NULL,

state              CHAR(2)     NOT NULL)

//

CREATE TABLE customer

(cno                FIXED(4)    PRIMARY KEY,

title       CHAR(7),

firstname   CHAR(20),

name        CHAR(20) NOT NULL,

zip         CHAR(5),

address            CHAR(40)    NOT NULL)

//

CREATE TABLE hotel

(hno                FIXED(4)    PRIMARY KEY,

name        CHAR(15) NOT NULL,

zip         CHAR(5),

address            CHAR(25)    NOT NULL)

//

CREATE TABLE room

(hno                FIXED(4),

type               CHAR(6),    PRIMARY KEY (hno,type),

free               FIXED(3,0),

price              FIXED(6,2))

//

CREATE TABLE reservation

(rno                FIXED(4)    PRIMARY KEY,

cno                FIXED(4),

hno                FIXED(4),

type               CHAR(6),

arrival            DATE        NOT NULL,

departure          DATE        NOT NULL)

//

//------------------------------------------------------------------

//TABLE city (25 Rows)

//------------------------------------------------------------------

//

INSERT INTO city VALUES ('12203','Albany','NY')

//

INSERT INTO city VALUES ('60601','Chicago','IL')

//

INSERT INTO city VALUES ('60615','Chicago','IL')

//

INSERT INTO city VALUES ('45211','Cincinnati','OH')

//

INSERT INTO city VALUES ('33575','Clearwater','FL')

//

INSERT INTO city VALUES ('75243','Dallas','TX')

//

INSERT INTO city VALUES ('32018','Daytona Beach','FL')

//

INSERT INTO city VALUES ('33441','Deerfield Beach','FL')

//

INSERT INTO city VALUES ('48226','Detroit','MI')

//

INSERT INTO city VALUES ('90029','Hollywood','CA')

//

INSERT INTO city VALUES ('92714','Irvine','CA')

//

INSERT INTO city VALUES ('90804','Long Beach','CA')

//

INSERT INTO city VALUES ('11788','Long Island','NY')

//

INSERT INTO city VALUES ('90018','Los Angeles','CA')

//

INSERT INTO city VALUES ('70112','New Orleans','LA')

//

INSERT INTO city VALUES ('10580','New York','NY')

//

INSERT INTO city VALUES ('10019','New York','NY')

//

INSERT INTO city VALUES ('92262','Palm Springs','CA')

//

INSERT INTO city VALUES ('97213','Portland','OR')

//

INSERT INTO city VALUES ('60018','Rosemont','IL')

//

INSERT INTO city VALUES ('95054','Santa Clara','CA')

//

INSERT INTO city VALUES ('20903','Silver Spring','MD')

//

INSERT INTO city VALUES ('20037','Washington','DC')

//

INSERT INTO city VALUES ('20005','Washington','DC')

//

INSERT INTO city VALUES ('20019','Washington','DC')

//------------------------------------------------------------------

//TABLE customer (15 Rows)

//------------------------------------------------------------------

//

INSERT INTO customer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')

//

INSERT INTO customer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')

//

INSERT INTO customer VALUES (3200,'Company',NULL,'Datasoft','90018','486 Maple Str.')

//

INSERT INTO customer VALUES (3300,'Mrs','Rose','Brian','75243','500 Yellowstone Drive, #2')

//

INSERT INTO customer VALUES (3400,'Mrs','Mary','Griffith','20005','3401 Elder Lane')

//

INSERT INTO customer VALUES (3500,'Mr','Martin','Randolph','60615','340 MAIN STREET, #7')

//

INSERT INTO customer VALUES (3600,'Mrs','Sally','Smith','75243','250 Curtis Street')

//

INSERT INTO customer VALUES (3700,'Mr','Mike','Jackson','45211','133 BROADWAY APT. 1')

//

INSERT INTO customer VALUES (3800,'Mrs','Rita','Doe','97213','2000 Humboldt Str., #6')

//

INSERT INTO customer VALUES (3900,'Mr','George','Howe','75243','111 B Parkway, #23')

//

INSERT INTO customer VALUES (4000,'Mr','Frank','Miller','95054','27 5th Str., 76')

//

INSERT INTO customer VALUES (4100,'Mrs','Susan','Baker','90018','200 MAIN STREET, #94')

//

INSERT INTO customer VALUES (4200,'Mr','Joseph','Peters','92714','700 S. Ash Str., APT.12')

//

INSERT INTO customer VALUES (4300,'Company',NULL,'TOOLware','20019','410 Mariposa Str., #10')

//

INSERT INTO customer VALUES (4400,'Mr','Antony','Jenkins','20903','55 A Parkway, #15')

//

//------------------------------------------------------------------

//TABLE hotel (15 Rows)

//------------------------------------------------------------------

//

//

INSERT INTO hotel VALUES (10,'Congress','20005','155 Beechwood Str.')

//

INSERT INTO hotel VALUES (30,'Regency','20037','477 17th Avenue')

//

INSERT INTO hotel VALUES (20,'Long Island','11788','1499 Grove Street')

//

INSERT INTO hotel VALUES (70,'Empire State','12203','65 Yellowstone Dr.')

//

INSERT INTO hotel VALUES (80,'Midtown','10019','12 Barnard Str.')

//

INSERT INTO hotel VALUES (40,'Eight Avenue','10019','112 8th Avenue')

//

INSERT INTO hotel VALUES (50,'Lake Michigan','60601','354 OAK Terrace')

//

INSERT INTO hotel VALUES (60,'Airport','60018','650 C Parkway')

//

INSERT INTO hotel VALUES (90,'Sunshine','33575','200 Yellowstone Dr.')

//

INSERT INTO hotel VALUES (100,'Beach','32018','1980 34th Str.')

//

INSERT INTO hotel VALUES (110,'Atlantic','33441','111 78th Str.')

//

INSERT INTO hotel VALUES (120,'Long Beach','90804','35 Broadway')

//

INSERT INTO hotel VALUES (150,'Indian Horse','92262','16 MAIN STREET')

//

INSERT INTO hotel VALUES (130,'Star','90029','13 Beechwood Place')

//

INSERT INTO hotel VALUES (140,'River Boat','70112','788 MAIN STREET')

//

//------------------------------------------------------------------

//TABLE room (38 Rows)

//------------------------------------------------------------------

//

//

INSERT INTO room VALUES (10,'single',20,135.00)

//

INSERT INTO room VALUES (10,'double',45,200.00)

//

INSERT INTO room VALUES (30,'single',12,45.00)

//

INSERT INTO room VALUES (30,'double',15,80.00)

//

INSERT INTO room VALUES (20,'single',10,70.00)

//

INSERT INTO room VALUES (20,'double',13,100.00)

//

INSERT INTO room VALUES (70,'single',4,115.00)

//

INSERT INTO room VALUES (70,'double',11,180.00)

//

INSERT INTO room VALUES (80,'single',15,90.00)

//

INSERT INTO room VALUES (80,'double',19,150.00)

//

INSERT INTO room VALUES (80,'suite',5,400.00)

//

INSERT INTO room VALUES (40,'single',20,85.00)

//

INSERT INTO room VALUES (40,'double',35,140.00)

//

INSERT INTO room VALUES (50,'single',50,105.00)

//

INSERT INTO room VALUES (50,'double',230,180.00)

//

INSERT INTO room VALUES (50,'suite',12,500.00)

//

INSERT INTO room VALUES (60,'single',10,120.00)

//

INSERT INTO room VALUES (60,'double',39,200.00)

//

INSERT INTO room VALUES (60,'suite',20,500.00)

//

INSERT INTO room VALUES (90,'single',45,90.00)

//

INSERT INTO room VALUES (90,'double',145,150.00)

//

INSERT INTO room VALUES (90,'suite',60,300.00)

//

INSERT INTO room VALUES (100,'single',11,60.00)

//

INSERT INTO room VALUES (100,'double',24,100.00)

//

INSERT INTO room VALUES (110,'single',2,70.00)

//

INSERT INTO room VALUES (110,'double',10,130.00)

//

INSERT INTO room VALUES (120,'single',34,80.00)

//

INSERT INTO room VALUES (120,'double',78,140.00)

//

INSERT INTO room VALUES (120,'suite',55,350.00)

//

INSERT INTO room VALUES (150,'single',44,100.00)

//

INSERT INTO room VALUES (150,'double',115,190.00)

//

INSERT INTO room VALUES (150,'suite',6,450.00)

//

INSERT INTO room VALUES (130,'single',89,160.00)

//

INSERT INTO room VALUES (130,'double',300,270.00)

//

INSERT INTO room VALUES (130,'suite',100,700.00)

//

INSERT INTO room VALUES (140,'single',10,125.00)

//

INSERT INTO room VALUES (140,'double',9,200.00)

//

INSERT INTO room VALUES (140,'suite',78,600.00)

//

//------------------------------------------------------------------

//TABLE reservation (10 Rows)

//------------------------------------------------------------------

//

//

INSERT INTO reservation VALUES (100,3000,80,'single','2004-11-13','2004-11-15')

//

INSERT INTO reservation VALUES (110,3000,100,'double','2004-12-24','2005-01-06')

//

INSERT INTO reservation VALUES (120,3200,50,'suite','2004-11-14','2004-11-18')

//

INSERT INTO reservation VALUES (130,3900,110,'single','2005-02-01','2005-02-03')

//

INSERT INTO reservation VALUES (150,3600,70,'double','2005-03-14','2005-03-24')

//

INSERT INTO reservation VALUES (140,4300,80,'double','2004-04-12','2004-04-30')

//

INSERT INTO reservation VALUES (160,4100,70,'single','2004-04-12','2004-04-15')

//

INSERT INTO reservation VALUES (170,4400,150,'suite','2004-09-01','2004-09-03')

//

INSERT INTO reservation VALUES (180,3100,120,'double','2004-12-23','2005-01-08')

//

INSERT INTO reservation VALUES (190,4300,140,'double','2004-11-14','2004-11-17')

//

// THE END

If you load all the tutorial data with the Installation Manager or the Database Manager, the tables are created with much more extensive definitions and additional objects (e.g. views, indexes, etc.) are generated.

See: Explanation of the Objects in the HOTEL Schema

You can use this tutorial data as well. However, the result set specified for an example statement in this SQL tutorial may differ from the result set you receive for the extended tutorial data.


Explanation of the Tables in the HOTEL Schema (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Explanation of the Tables in the HOTEL Schema

After you execute the SQL Statements for the HOTEL Schema, the HOTEL schema contains the tables city, customer, hotel, room, and reservation. The tables were filled with data using the INSERT statements.

CITY (City Table)

Each table row contains the following city information: zip code, city name, and the abbreviation for the name of the state in which the city is located.

Definition

CREATE TABLE city
(zip CHAR(5) PRIMARY KEY,
name CHAR(30) NOT NULL,
state CHAR(2) NOT NULL)

Data

ZIP | NAME | STATE
12203 | Albany | NY
60601 | Chicago | IL
60615 | Chicago | IL
45211 | Cincinnati | OH
33575 | Clearwater | FL
75243 | Dallas | TX
32018 | Daytona Beach | FL
33441 | Deerfield Beach | FL
48226 | Detroit | MI
90029 | Hollywood | CA
92714 | Irvine | CA
90804 | Long Beach | CA
11788 | Long Island | NY
90018 | Los Angeles | CA
70112 | New Orleans | LA
10580 | New York | NY
10019 | New York | NY
92262 | Palm Springs | CA
97213 | Portland | OR
60018 | Rosemont | IL
95054 | Santa Clara | CA
20903 | Silver Spring | MD
20037 | Washington | DC
20005 | Washington | DC
20019 | Washington | DC

CUSTOMER (Customer Table)

Each table row contains the following customer information: a number for uniquely identifying the customer, the title to be used in correspondence, the customer’s first and last names, and the customer address, consisting of the zip code, street, and house number.

Definition

CREATE TABLE
customer
(cno        FIXED(4) PRIMARY
KEY,
title      CHAR(7),
firstname  CHAR(20),
name       CHAR(20) NOT
NULL,
zip        CHAR(5),
address    CHAR(40) NOT NULL)

Data

CNO | TITLE | FIRSTNAME | NAME | ZIP | ADDRESS
3000 | Mrs | Jenny | Porter | 10580 | 1340 N.Ash Street, #3
3100 | Mr | Peter | Brown | 48226 | 1001 34th Str., APT.3
3200 | Company | ? | Datasoft | 90018 | 486 Maple Str.
3300 | Mrs | Rose | Brian | 75243 | 500 Yellowstone Drive, #2
3400 | Mrs | Mary | Griffith | 20005 | 3401 Elder Lane
3500 | Mr | Martin | Randolph | 60615 | 340 MAIN STREET, #7
3600 | Mrs | Sally | Smith | 75243 | 250 Curtis Street
3700 | Mr | Mike | Jackson | 45211 | 133 BROADWAY APT. 1
3800 | Mrs | Rita | Doe | 97213 | 2000 Humboldt Str., #6
3900 | Mr | George | Howe | 75243 | 111 B Parkway, #23
4000 | Mr | Frank | Miller | 95054 | 27 5th Str., 76
4100 | Mrs | Susan | Baker | 90018 | 200 MAIN STREET, #94
4200 | Mr | Joseph | Peters | 92714 | 700 S. Ash Str., APT.12
4300 | Company | ? | TOOLware | 20019 | 410 Mariposa Str., #10
4400 | Mr | Antony | Jenkins | 20903 | 55 A Parkway, #15

HOTEL (Hotel Table)

Each table row contains the following hotel information: a number for uniquely identifying the hotel, the hotel name and hotel address, consisting of the zip code, street and house number.

Definition

CREATE TABLE
hotel
(hno     FIXED(4) PRIMARY KEY,
name    CHAR(15) NOT NULL,
zip     CHAR(5),
address CHAR(25) NOT NULL)

Data

HNO | NAME | ZIP | ADDRESS
10 | Congress | 20005 | 155 Beechwood St.
20 | Long Island | 11788 | 1499 Grove Street
30 | Regency | 20037 | 477 17th Avenue
40 | Eight Avenue | 10019 | 112 8th Avenue
50 | Lake Michigan | 60601 | 354 OAK Terrace
60 | Airport | 60018 | 650 C Parkway
70 | Empire State | 12203 | 65 Yellostone Dr.
80 | Midtown | 10019 | 12 Barnard Str.
90 | Sunshine | 33575 | 200 Yellostone Dr.
100 | Beach | 32018 | 1980 34th St.
110 | Atlantic | 33441 | 111 78th Street
120 | Long Beach | 90804 | 35 Broadway
130 | Star | 90029 | 13 Beechwood Place
140 | River Boat | 70112 | 788 MAIN STREET
150 | Indian Horse | 92262 | 16 MAIN STREET

ROOM (Room Table)

Each table row contains the following room information: a number for uniquely identifying the hotel in which the room is located, information about the room type (single room, double room, or suite), the number of rooms free and the price per room.

Definition

CREATE TABLE room
(hno FIXED(4),
type CHAR(6) PRIMARY KEY (hno, type),
free FIXED(3,0),
price FIXED(6,2))

Data

HNO | TYPE | FREE | PRICE
10 | double | 45 | 200.00
10 | single | 20 | 135.00
20 | double | 13 | 100.00
20 | single | 10 | 70.00
30 | double | 15 | 80.00
30 | single | 12 | 45.00
40 | double | 35 | 140.00
40 | single | 20 | 85.00
50 | double | 230 | 180.00
50 | single | 50 | 105.00
50 | suite | 12 | 500.00
60 | double | 39 | 200.00
60 | single | 10 | 120.00
60 | suite | 20 | 500.00
70 | double | 11 | 180.00
70 | single | 4 | 115.00
80 | double | 19 | 150.00
80 | single | 15 | 90.00
80 | suite | 5 | 400.00
90 | double | 145 | 150.00
90 | single | 45 | 90.00
90 | suite | 60 | 300.00
100 | double | 24 | 100.00
100 | single | 11 | 60.00
110 | double | 10 | 130.00
110 | single | 2 | 70.00
120 | double | 78 | 140.00
120 | single | 34 | 80.00
120 | suite | 55 | 350.00
130 | double | 300 | 270.00
130 | single | 89 | 160.00
130 | suite | 100 | 700.00
140 | double | 9 | 200.00
140 | single | 10 | 125.00
140 | suite | 78 | 600.00
150 | double | 115 | 190.00
150 | single | 44 | 100.00
150 | suite | 6 | 450.00

RESERVATION (Reservation Table)

Each table row contains the following reservation information: a number for uniquely identifying the reservation, a number for uniquely identifying the customer, a number for uniquely identifying the hotel, information about the room type (single room, double room, suite), and date of arrival and departure.

Definition

CREATE TABLE reservation
(rno FIXED(4) PRIMARY KEY,
cno FIXED(4),
hno FIXED(4),
type CHAR(6),
arrival DATE NOT NULL,
departure DATE NOT NULL)

Data

RNO | CNO | HNO | TYPE | ARRIVAL | DEPARTURE
100 | 3000 | 80 | Single | 2004-11-13 | 2004-11-15
110 | 3000 | 100 | Double | 2004-12-24 | 2005-01-06
120 | 3200 | 50 | Suite | 2004-11-14 | 2004-11-18
130 | 3900 | 110 | Single | 2005-02-01 | 2005-02-03
140 | 4300 | 80 | Double | 2005-03-14 | 2005-03-24
150 | 3600 | 70 | Double | 2004-04-12 | 2004-04-30
160 | 4100 | 70 | Single | 2004-04-12 | 2004-04-15
170 | 4400 | 150 | Suite | 2004-09-01 | 2004-09-03
180 | 3100 | 120 | Double | 2004-12-23 | 2005-01-08
190 | 4300 | 140 | Double | 2004-11-14 | 2004-11-17

If you load all the tutorial data with the Installation Manager or the Database Manager, the tables are created with much more extensive definitions and additional objects (e.g. views, indexes, etc.) are generated.

See: Explanation of the Objects in the HOTEL Schema

You can use this tutorial data as well. However, the result set specified for an example statement in this SQL tutorial may differ from the result set you receive for the extended tutorial data.


Explanation of the Objects in the HOTEL Schema (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Explanation of the Objects in the HOTEL Schema

When all the SQL Tutorial data has been loaded, the HOTEL schema contains the city, customer, hotel, room, reservation, employee tables and other database objects. User MONA is the owner of the HOTEL schema and its objects. The tables were filled with data using the corresponding INSERT statements.

Prerequisites

After installing the database software and the database tools, create a database instance with the name DEMODB and load the tutorial example data. You can use the Installation Manager or the Database Manager to do so.

Installation Manual, Using the Installation Manager

Database Manager GUI, Creating a Database Instance, Loading the Tutorial Example Data

Tables

CITY (City Table)

Each table row contains the following city information: zip code, city name, and the abbreviation for the name of the state in which the city is located.

CREATE TABLE city
(zip CHAR(5) PRIMARY KEY CONSTRAINT zip_cons CHECK
SUBSTR(zip,1,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,2,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,3,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,4,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,5,1) BETWEEN '0' AND '9',
name CHAR(30) NOT NULL,
state CHAR(2) NOT NULL)

The zip column is the primary key column.

The zip_cons constraint ensures that the only numbers between 0 and 9 can be entered for the zip code.

The city name (name) and state abbreviation (state) columns cannot contain NULL values.

CUSTOMER (Customer Table)

Each table row contains the following customer information: a number for uniquely identifying the customer, the title to be used in correspondence, the customer’s first and last names, and the customer address, consisting of the zip code, street, and house number.

CREATE TABLE customer
(cno FIXED(4) PRIMARY KEY CONSTRAINT cno_cons CHECK cno > 0,
title CHAR(7) CONSTRAINT title_cons CHECK title IN ('Mr','Mrs','Company'),
firstname CHAR(20),
name CHAR(20) NOT NULL,
zip CHAR(5) CONSTRAINT zip_cons CHECK
SUBSTR(zip,1,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,2,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,3,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,4,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,5,1) BETWEEN '0' AND '9',
address CHAR(40) NOT NULL,
FOREIGN KEY customer_zip_in_city (zip) REFERENCES city ON DELETE RESTRICT)

The cno column is the primary key column.

Specifying the cno_cons constraint ensures that a customer number greater than zero is selected.

Specifying the title_cons constraint ensures that Mr, Mrs, or Company is selected as the title.

You cannot enter a NULL value in the name and address columns.

Specifying the zip_cons constraint ensures that only characters between 0 and 9 can be used to specify the zip codes.

The zip column is the foreign key column. The keywords ON DELETE RESTRICT have the effect that the system outputs a warning when you delete rows from the CITY table if a row exists in the CUSTOMER table that matches the zip code in the row that you want to delete.

HOTEL (Hotel Table)

Each row in this table contains the following hotel information: a number that uniquely identifies the hotel, the hotel name and address (zip code, street, and house number), and information about the hotel.

CREATE TABLE hotel
(hno FIXED(4) PRIMARY KEY CONSTRAINT hno_cons CHECK hno > 0,
name CHAR(15) NOT NULL,
zip CHAR(5) CONSTRAINT zip_cons CHECK
SUBSTR(zip,1,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,2,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,3,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,4,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,5,1) BETWEEN '0' AND '9',
address CHAR(25) NOT NULL,
info LONG,
FOREIGN KEY hotel_zip_in_city (zip) REFERENCES city ON DELETE RESTRICT)

The hno column is the primary key column.

Specifying the hno_cons constraint ensures that a hotel number greater than zero is selected.

You cannot enter a NULL value in the name and address columns.

Specifying the zip_cons constraint ensures that only characters between 0 and 9 can be used to specify the zip codes.

The zip column is the foreign key column. The keywords ON DELETE RESTRICT have the effect that the system outputs a warning when you delete rows from the CITY table if a row exists in the HOTEL table that matches the zip code in the row that you want to delete. In this case, the row is not deleted.

ROOM (Room Table)

Each table row contains the following room information: a number for uniquely identifying the hotel in which the room is located, information about the room type (single room, double room, or suite), the number of rooms free and the price per room.

CREATE TABLE room
(hno FIXED(4) CONSTRAINT hno_cons CHECK hno > 0,
type CHAR(6) CONSTRAINT type_cons CHECK type IN ('single','double','suite'), PRIMARY KEY (hno,type),
free FIXED(3,0) CONSTRAINT free_cons CHECK free >= 0,
price FIXED(6,2) CONSTRAINT price_cons CHECK price BETWEEN 0.00 AND 5000.00,
FOREIGN KEY room_hno_in_hotel (hno) REFERENCES hotel ON DELETE CASCADE)

The hno and type columns form the primary key.

Specifying the hno_cons constraint ensures that a hotel number greater than zero is selected.

Specifying the type_cons constraint ensures that single, double, or suite is selected as the room type.

Specifying the free_cons constraint ensures that a number of free rooms greater than zero is selected.

Specifying the price_cons constraint ensures that a room price with a value of between 0 and 5000 is selected.

The hno column is the foreign key column. The keywords ON DELETE CASCADE have the effect that when you delete rows from the HOTEL table, the system deletes the rows from the ROOM table that contain a hotel number identical to that in the row that you want to delete.

RESERVATION (Reservation Table)

Each table row contains the following reservation information: a number for uniquely identifying the reservation, a number for uniquely identifying the customer, a number for uniquely identifying the hotel, information about the room type (single room, double room, suite), and date of arrival and departure.

CREATE TABLE reservation
(rno FIXED(4) PRIMARY KEY CONSTRAINT rno_cons CHECK rno > 0,
cno FIXED(4) CONSTRAINT cno_cons CHECK cno > 0,
hno FIXED(4) CONSTRAINT hno_cons CHECK hno > 0,
type CHAR(6) CONSTRAINT type_cons CHECK type IN ('single','double','suite'),
arrival DATE NOT NULL,
departure DATE NOT NULL, CONSTRAINT staying CHECK departure > arrival,
FOREIGN KEY reservation_cno_in_customer (cno) REFERENCES customer ON DELETE CASCADE
FOREIGN KEY reservation_info_in_room (hno,type) REFERENCES room ON DELETE CASCADE)

The rno column is the primary key column.

Specifying the rno_cons constraint ensures that a reservation number greater than zero is selected.

Specifying the cno_cons constraint ensures that a customer number greater than zero is selected.

Specifying the hno_cons constraint ensures that a hotel number greater than zero is selected.

Specifying the type_cons constraint ensures that single, double, or suite is selected as the room type.

You cannot enter a NULL value in the arrival and departure columns.

Specifying the staying constraint ensures that a date after the arrival date is selected as the departure date.

The cno column is the foreign key column. The keywords ON DELETE CASCADE have the effect that when you delete rows from the CUSTOMER table, the system deletes the rows from the RESERVATION table that contain a customer number identical to that in the row that you want to delete.

The hno and type columns form the foreign key. The keywords ON DELETE CASCADE have the effect that when you delete rows from the ROOM table, the system deletes the rows from the RESERVATION table that contain a hotel number and room type identical to those in the row that you want to delete.

EMPLOYEE (Employee Table)

Each row in this table contains the following employee information: a number that uniquely identifies the hotel, a number that uniquely identifies the employee, the title used in correspondence, the first and last name of the employee, and a number that assigns the employee to a superior.

CREATE TABLE employee
(hno FIXED(4),
eno FIXED(4), PRIMARY KEY (hno,eno),
title CHAR(7) CONSTRAINT title_cons CHECK title IN ('Mr','Mrs'),
firstname CHAR(20),
name CHAR(20) NOT NULL,
manager_eno FIXED(4),
FOREIGN KEY employee_hno_in_hotel (hno) REFERENCES hotel ON DELETE CASCADE)

The hno and eno columns form the primary key.

The title_cons constraint ensures that Mr or Mrs is selected as the title.

NULL values cannot be entered in the name column.

The hno column is the foreign key column. When rows are deleted in the HOTEL table, the keywords ON DELETE CASCADE cause the rows in the EMPLOYEE table that contain matching hotel numbers to be deleted at the same time.

View Tables

CUSTOMER_ADDR (Customer Addresses)

Each row in the view table contains the following customer information: a number for uniquely identifying the customer, the title to be used in correspondence, the customer’s last name, and the customer address, consisting of the zip code, city, state abbreviation, street and house number.

CREATE VIEW customer_addr (cno, title, name, zip, city, state, address)
AS SELECT customer.cno, customer.title, customer.name, customer.zip,
city.name, city.state, customer.address
FROM customer, city
WHERE customer.zip = city.zip WITH CHECK OPTION

The required information is taken from the customer and city tables.

The key words WITH CHECK OPTION have the effect that the insert statement or update statement issued on the view table does not create any rows that could not be selected subsequently via the view table; that is, the search condition of the view table must be true for any resulting rows.

HOTEL_ADDR (Hotel Addresses)

Each row in the view table contains the following hotel information: a number for uniquely identifying the hotel, the name of the hotel and the address of the hotel, consisting of the zip code, city, state abbreviation, street and house number.

CREATE VIEW hotel_addr (hno, name, zip, city, state, address)
AS SELECT hotel.hno, hotel.name, hotel.zip,
city.name, city.state, hotel.address
FROM hotel, city
WHERE hotel.zip = city.zip WITH CHECK OPTION

The required information is taken from the hotel and city tables.

The key words WITH CHECK OPTION have the effect that the insert statement or update statement issued on the view table does not create any rows that could not be selected subsequently via the view table; that is, the search condition of the view table must be true for any resulting rows.

CUSTOM_HOTEL (Hotel Reservations)

Each row of the view table contains the following information: the customer’s last name, place of residence and the name and city of the hotel.

CREATE VIEW custom_hotel (customname, customcity, hotelname, hotelcity)
AS SELECT customer_addr.name, customer_addr.city,
hotel_addr.name, hotel_addr.city
FROM customer_addr, hotel_addr, reservation
WHERE customer_addr.cno = reservation.cno
AND hotel_addr.hno = reservation.hno

The required information is taken from the customer_addr and hotel_addr view tables of the reservation table.

The customers who have reservations in the hotels are displayed.

Indexes

Single-column index

CREATE INDEX city_state ON city (state)

The secondary index city_state is defined for the state column of the city table.

Multi-column index

CREATE INDEX full_name_index ON customer (surname, first name)

The secondary index full_name_index is defined for the name and firstname columns of the customer table.


Data Query (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Query

For a complete syntax description of the SQL statements for data query, see Data Query in the reference manual.

Below are just a few examples of key SQL statements for data query.

Prerequisites

You need the HOTEL Demo Schema for the SQL Tutorial.

To log on to the database instance DEMODB, start the SQL Studio query tool as the database administrator MONA with the password RED.

Example of a Data Query

SELECT zip, name, state
FROM hotel.city
WHERE name = 'Washington'

This means that:

· Search (SELECT)

· The zip, name, and state columns

· From the city table of the hotel schema (FROM)

· For the rows with the city name Washington (WHERE)

The form of a simple SELECT statement is therefore:

SELECT.....
FROM.......
WHERE...... WHERE

Result

ZIP | NAME | STATE
20005 | Washington | DC
20019 | Washington | DC
20037 | Washington | DC

Examples

· Selecting, Arranging and Renaming Columns

· Selecting and Arranging Rows

· Conditions: Comparison, AND, OR, BETWEEN, IN

· Searching for Character Strings: LIKE

· Negative Conditions: NOT

· Creating Groups: GROUP BY, HAVING

· Arithmetic Operations

· Functions

· Set Functions

· Date and Time Calculations

· Converting Values

· Changing Character Strings

· Information About Character Strings

· Subquery: Internal Queries

· Joins: Information From Several Tables

· Set Operations: UNION, INTERSECT, EXCEPT


Selecting, Arranging, and Renaming Columns (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Selecting, Arranging, and Renaming Columns

You can select specific columns in the query and arrange and rename these columns in the results table.

Selecting Specific Columns

To select columns from a table, specify the desired column name after the keyword SELECT. Use commas to separate the column names in this list. Blank characters are optional.

SELECT firstname, name
FROM hotel.customer

Displaying the first and last names of all customers

Result

FIRSTNAME | NAME
Jenny | Porter
Peter | Brown
? | Datasoft
Rose | Brian
Mary | Griffith
Martin | Randolph
Sally | Smith
Mike | Jackson
Rita | Doe
George | Howe
Frank | Miller
Susan | Baker
Joseph | Peters
? | TOOLware
Antony | Jankins

Selecting All Columns

Instead of the list of column names, you can also enter *.

SELECT *
FROM hotel.customer

The system displays the contents of the entire customer table. The columns are displayed in the order you defined when you created the table.

Arranging Columns

You can arrange the columns to be displayed in any order you desire. To do so, enter the column names in the desired order after the keyword SELECT.

SELECT name, firstname
FROM hotel.customer

Displaying the last and first names of all customers

Result

NAME | FIRSTNAME
Porter | Jenny
Brown | Peter
Datasoft | ?
Brian | Rose
Griffith | Mary
Randolph | Martin
Smith | Sally
Jackson | Mike
Doe | Rita
Howe | George
Miller | Frank
Baker | Susan
Peters | Joseph
TOOLware | ?
Jankins | Antony

Renaming columns

You can rename the columns to be displayed.

SELECT zip, name city_name
FROM hotel.city
WHERE state = 'NY'

Displaying the zip code and city/place name of all cities/places in the state of NY

Result

ZIP | CITY_NAME
10019 | New York
10580 | New York
11788 | Long Island
12203 | Albany

See also:

QUERY Expression (query_expression)

Selected Column (select_column)

Table Expression (table_expression)


Selecting and Arranging Rows (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Selecting and Arranging Rows

You can select and arrange specific rows in the query.

Selecting Specific Rows

To select specific rows, use the WHERE clause.

SELECT zip, name
FROM hotel.city
WHERE name = 'Washington'

Selecting the rows with the city/place name Washington

Result

ZIP | NAME
20005 | Washington
20019 | Washington
20037 | Washington

See also:

WHERE Clause

SELECT ROWNO, cno, title, firstname, name
FROM hotel.customer
WHERE ROWNO <= 5

Selecting the first five rows and numbering the rows

Result

ROWNO | CNO | TITLE | FIRSTNAME | NAME
1 | 3000 | Mrs | Jenny | Porter
2 | 3100 | Mr | Peter | Brown
3 | 3200 | Company | ? | Datasoft
4 | 3300 | Mrs | Rose | Brian
5 | 3400 | Mrs | Mary | Griffith

See also:

ROWNO Predicate (rowno_predicate)

Arranging the Rows

To arrange the rows, use the ORDER clause that specifies the order in which the rows are to appear.

SELECT name, firstname
FROM hotel.customer
WHERE ROWNO <= 5
ORDER BY name

Sorting the first five rows in alphabetical order by customer name

Result

NAME | FIRSTNAME
Brian | Rose
Brown | Peter
Datasoft | ?
Griffith | Mary
Porter | Jenny

SELECT name, firstname
FROM hotel.customer
WHERE ROWNO <= 5
ORDER BY name DESC

Sorting the first five rows alphabetically by customer name, in descending order

Result

NAME | FIRSTNAME
Porter | Jenny
Griffith | Mary
Datasoft | ?
Brown | Peter
Brian | Rose

Instead of the sort column name, you can also specify the position number in the output list (that is, ORDER BY 1 DESC instead of ORDER BY name DESC).

Unless otherwise stated, sort columns are always sorted in ascending order. A sort column does not necessarily also have to be an output column.

See also:

ORDER Clause (order_clause)

Arranging Rows by More Than One Column

If you want to stagger the sort sequence, you can specify the sort column names in order of importance; each name can be assigned the add-on ASC or DESC, or both.

SELECT zip, name
FROM hotel.city
WHERE ROWNO < 5
ORDER BY name, zip DESC

Displaying the city/place data, sorted by name and in descending order by zip code

Result

ZIP | NAME
12203 | Albany
11788 | Long Island
10580 | New York
10019 | New York

Displaying Tables Without Duplicate Rows

You can prevent redundant information from being displayed in the query result by specifying the keyword DISTINCT after the keyword SELECT.

SELECT DISTINCT name, state
FROM hotel.city
ORDER BY name

Displaying the place/city data consisting of a different name and state

Result

NAME | STATE
Albany | NY
Chicago | IL
Cincinnati | OH
Clearwater | FL
Dallas | TX
Daytona Beach | FL
Deerfield Beach | FL
Detroit | MI
Hollywood | CA
Irvine | CA
Long Beach | CA
Long Island | NY
Los Angeles | CA
New York | NY
Palm Spring | CA
Portland | OR
Rosemont | IL
Santa Clara | CA
Silver Spring | MD
Washington | DC

For comparison purposes, execute the SQL statement without specifying the keyword DISTINCT.

See also:

DISTINCT Specification (distinct_spec)

See also:

QUERY Expression (query_expression)

Selected Column (select_column)

Table Expression (table_expression)


Conditions: Comparison, AND, OR, BETWEEN, IN (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Conditions: Comparison, AND, OR, BETWEEN, IN

To select specific rows, you can use the WHERE clause. In WHERE clauses, you can specify search conditions. Some of these conditions are presented below.

See also:

Predicate (predicate)

Comparison Conditions

SELECT title, name
FROM hotel.customer
WHERE title ='Company'

Selection of customers that are companies

Result

TITLE | NAME
Company | Datasoft
Company | TOOLware

SELECT firstname, name, zip
FROM hotel.customer
WHERE name > 'Randolph'

Selecting the customers that, in alphabetical order, come after Randolph

Result

FIRSTNAME | NAME | ZIP
Sally | Smith | 75243
? | TOOLware | 20019

See also:

Comparison Predicate (comparison_predicate)

Multiple Conditions: AND, OR

If AND and OR are both used, make sure that AND has a higher priority than OR. You should use parentheses to illustrate the desired multiple conditions. You can also use multiple parentheses. The system then evaluates the data from the innermost to the outermost parentheses.

SELECT firstname, name, zip
FROM hotel.customer
WHERE (title ='Company') AND (name > 'Randolph')

Selecting the customers that, in alphabetical order, come after Randolph and that are companies

Result

FIRSTNAME | NAME | ZIP
? | TOOLware | 20019

See also:

Search Condition (search_condition)

Values in a Range: BETWEEN x AND y

SELECT title, name, zip
FROM hotel.customer
WHERE zip BETWEEN '10000' AND '30000'

Selection of customers who live in towns with a post code between 10000 and 30000.

Result

TITLE | NAME | ZIP
Mrs | Porter | 10580
Mrs | Griffith | 20005
Company | TOOLware | 20019
Mr | Jenkins | 20903

See also:

BETWEEN Predicate (between_predicate)

Values in a Set: IN (x,...)

You can specify the values in the parentheses in any order you desire, since this is a set of values from which a value is to be selected using the IN predicate.

SELECT title, firstname, name
FROM hotel.customer
WHERE title IN ('Mr', 'Mrs')

Selecting all customers who are natural persons (not companies)

Result

TITLE | FIRSTNAME | NAME
Mrs | Jenny | Porter
Mr | Peter | Brown
Mrs | Rose | Brian
Mrs | Mary | Griffith
Mr | Martin | Randolph
Mrs | Sally | Smith
Mr | Mike | Jackson
Mrs | Rita | Doe
Mr | George | Howe
Mr | Frank | Miller
Mrs | Susan | Baker
Mr | Joseph | Peters
Mr | Antony | Jenkins

See also:

IN Predicate (in_predicate)


Searching for Character Strings: LIKE (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Searching for Character Strings: LIKE

To select specific rows, you can use the WHERE clause. If not all the characters in a column value are known, you can also specify incomplete search values. The LIKE predicate is provided for this purpose.

SELECT firstname, name
FROM hotel.customer
WHERE name LIKE 'P%'

Selecting the customers whose last names begin with P

Result

FIRSTNAME | NAME
Jenny | Porter
Joseph | Peters

SELECT firstname, name
FROM hotel.customer
WHERE name LIKE '%er'

Selecting the customers whose last names end in er

Result

FIRSTNAME | NAME
Jenny | Porter
Frank | Miller
Susan | Baker

SELECT firstname, name
FROM hotel.customer
WHERE firstname LIKE '_i__'

Selecting the customers whose first names are four characters long and that contain i as the second letter

Result

FIRSTNAME | NAME
Mike | Jackson
Rita | Doe

SELECT firstname, name
FROM hotel.customer
WHERE name LIKE '_%an%'

Selecting the customers whose last names contain an after the first position

Result

FIRSTNAME | NAME
Rose | Brian
Martin | Randolph

See also:

LIKE Predicate (like_predicate)


Negative Conditions: NOT (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Negative Conditions: NOT

To obtain the opposite of a particular condition, you have to place the keyword NOT before the relevant expression. If you want to negate a compound expression, you have to place it in parentheses.

Negating an Expression

SELECT name, state
FROM hotel.city
WHERE NOT (state = 'CA' OR state = 'DC' OR state = 'IL' OR state = 'NY')

Selecting the cities/places that are not in the states of CA, DC, IL, or NY

Result

NAME | STATE
Silver Spring | MD
Daytona Beach | FL
Deerfield Beach | FL
Clearwater | FL
Cincinnati | OH
Detroit | MI
New Orleans | LA
Dallas | TX
Portland | OR

See also:

Search Condition (search_condition)

When the BETWEEN, IN, LIKE, and NULL predicates are used, you can place NOT before the predicate or immediately before the relevant keyword (BETWEEN, IN, LIKE, NULL).

NOT BETWEEN

SELECT name, state
FROM hotel.city
WHERE NOT (state BETWEEN 'CA' AND 'NY')
or
SELECT name, state
FROM hotel.city
WHERE state NOT BETWEEN 'CA' AND 'NY'

Selecting the cities/places that are not in the states of CA, DC, FL, IL, LA, MD, MI, or NY

Result

NAME | STATE
Cincinnati | OH
Dallas | TX
Portland | OR

See also:

BETWEEN Predicate (between_predicate)

NOT IN

SELECT name, state
FROM hotel.city
WHERE NOT (state IN ('CA', 'DC', 'IL', 'NY'))
or
SELECT name, state
FROM hotel.city
WHERE state NOT IN ('CA', 'DC', 'IL', 'NY')

Selecting the cities/places that are not in the states of CA, DC, IL, or NY

Result

NAME | STATE
Silver Spring | MD
Daytona Beach | FL
Deerfield Beach | FL
Clearwater | FL
Cincinnati | OH
Detroit | MI
New Orleans | LA
Dallas | TX
Portland | OR

See also:

IN Predicate (in_predicate)

NOT LIKE

SELECT firstname, name
FROM hotel.customer
WHERE NOT (firstname LIKE '%e%')
or
SELECT firstname, name
FROM hotel.customer
WHERE firstname NOT LIKE '%e%'

Selecting the customers whose first names do not contain “e”

Result

FIRSTNAME | NAME
Mary | Griffith
Martin | Randolph
Sally | Smith
Rita | Doe
Frank | Miller
Susan | Baker
Antony | Jenkins

See also:

LIKE Predicate (like_predicate)

NOT NULL

SELECT firstname, name
FROM hotel.customer
WHERE NOT (firstname IS NULL)
or
SELECT firstname, name
FROM hotel.customer
WHERE firstname IS NOT NULL

Selecting the customers with a first name, that is, customers who are not companies

Result

FIRSTNAME | NAME
Jenny | Porter
Peter | Brown
Rose | Brian
Mary | Griffith
Martin | Randolph
Sally | Smith
Mike | Jackson
Rita | Doe
George | Howe
Frank | Miller
Susan | Baker
Joseph | Peters
Antony | Jenkins

See also:

NULL Predicate (null_predicate)

See also:

Predicate (predicate)


Creating Groups: GROUP BY, HAVING (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Creating Groups: GROUP BY, HAVING

Grouping Together Values: GROUP BY

You can use the GROUP clause to group together the values in a given column and, if necessary, to perform additional calculations for each of these groups using the different column values. With the exception of the column to be grouped, you have to specify a set function for each additional column.You have to specify the GROUP clause after the FROM and WHERE clauses.

SELECT type, SUM(free)
FROM hotel.room
GROUP BY type

Number of rooms free, grouped by room type

The set function used here is the SUM function that calculates the sum of the values.

Result

Since the second column in the results table does not contain any predefined names, the database system selects the column name EXPRESSION1.

TYPE | EXPRESSION1
Double | 1088
Single | 376
Suite | 336

SELECT type, MIN(price) min_price, FIXED (AVG(price),5,2) avg_price, MAX(price) max_price
FROM hotel.room
GROUP BY type

Calculating the price categories for the rooms, grouped by room type

The set functions used here are MIN (minimum value), AVG (average value), and MAX (maximum value).

Result

The columns in the results table are assigned the names MIN_PRICE, AVG_PRICE, and MAX_PRICE.

TYPE | MIN_PRICE | AVG_PRICE | MAX_PRICE
Double | 80 | 160.67 | 270
Single | 45 | 96.67 | 160
Suite | 300 | 475 | 700

See also:

Additional Examples of Specifying Set Functions

GROUP Clause

Grouping with Conditions: HAVING

You can use the GROUP clause to group together the values in a given column.You can then use the HAVING clause to exclude groups from the temporary results table. In contrast to using the WHERE clause for excluding values, a set function that refers to an entire column in a temporary results table usually precedes the HAVING clause.

SELECT type, MIN(price) min_price, FIXED(AVG(price),5,2) avg_price, MAX(price) max_price
FROM hotel.room
GROUP BY type
HAVING MIN(price) >= 70

Calculating the price categories for the rooms, grouped by room type; displaying only the room types with rooms at a price of at least 80 euro

Result

TYPE | MIN_PRICE | AVG_PRICE | MAX_PRICE
Double | 80 | 160.67 | 270
Suite | 300 | 475 | 700

See also:

HAVING Clause


Arithmetic Operations (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Arithmetic Operations

You can use expressions that have arithmetic operations (such as + for additions and - for subtractions).

Arithmetic in the Results Table

You can use a data query both to determine data that already exists in a table and calculate values on the basis of this data.

SELECT hno, price*7 weekly_price, type
FROM hotel.room
WHERE type = 'single' AND hno <50

Displaying the weekly price for a single room; the display has been restricted to those hotels with a hotel number below 50

Result

HNO | WEEKLY_PRICE | TYPE
10 | 945 | Single
20 | 490 | Single
30 | 315 | Single
40 | 595 | Single

Arithmetic in Search Conditions

In search conditions, you can also use expressions that have arithmetic operations.

SELECT hno, type, price
FROM hotel.room
WHERE price*7 < 500 AND type = 'single'

Displaying the hotels whose weekly price for a single room is below 500.00 euro

Result

HNO | TYPE | PRICE
20 | Single | 70
30 | Single | 45
100 | Single | 60
110 | Single | 70

SELECT hno, type, price
FROM hotel.room
WHERE (price*1.05)*7 < 500 AND type = 'single'

Displaying the hotels whose weekly price for a single room is below 500.00 euro, even after a price increase of 5 percent

Result

HNO | TYPE | PRICE
30 | Single | 45
100 | Single | 60

See also:

Expression (expression)


Functions (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Functions

You can use expressions with functions. These functions can be applied to the data in the results table or specified in search conditions.

Functions | Examples
Arithmetic Function (arithmetic_function) | TRUNC, SIGN, ABS
Trigonometric Function (trigonometric_function) | SIN, ATAN, DEGREES
String Function (string_function) | SUBSTR, UPPER, MAPCHAR
Date Function (date_function) | SUBDATE, DAYOFMONTH, DAYNAME
Time Function (time_function) | ADDTIME, TIMEDIFF, MAKETIME
Extraction (extraction_function) | DAY, TIMESTAMP, DATE
Special Function (special_function) | VALUE, LEAST, CASE function
Conversion Function (conversion_function) | NUM, HEXTOROW, CHAR
Database Function Call (dbfunction_call) | Call of a database function defined using CREATE FUNCTION

Most of these functions are self explanatory. For this reason, examples of just a few selected functions will be given here.

See also:

Expression (expression)

Function (function_spec)

String Functions

You can use the string functions to change the display of character strings.

SELECT cno, name & ', ' & firstname name
FROM hotel.customer WHERE cno = 3000

First and last names are linked to one another.

Result

CNO | NAME
3000 | Porter, Jenny

See also:

Concatenation (concatenation)

SELECT cno, SUBSTR(firstname,1,1) & '. ' & name name
FROM hotel.customer WHERE cno = 3000

First and last names are linked to one another; the first name is displayed in initials only.

Result

CNO | NAME
3000 | J. Porter

See also:

SUBSTR(x,a,b)

Date Functions

Date functions are applied to date and timestamp values or return a date or timestamp value as a result.

SELECT rno, arrival, DAYNAME(arrival) arrival_day FROM hotel.reservation WHERE rno < 150

Displaying the day of arrival

Result

RNO | ARRIVAL | ARRIVAL_DAY
100 | 2004-11-13 | Saturday
110 | 2004-12-24 | Friday
120 | 2004-11-14 | Sunday
130 | 2005-02-01 | Tuesday
140 | 2004-04-12 | Monday

See also:

DAYNAME/MONTHNAME(t)

Extraction Functions

You can use extraction functions to display parts of date, time, or timestamp values or to create date, time, or timestamp values.

SELECT name, 675456 number_of_days, DATE(675456) counted_date FROM hotel.city WHERE zip = '12203'

Displaying when 675456 days after 12/31/0000 have passed

Result

NAME | NUMBER_OF_DAYS | COUNTED_DATE
Albany | 675456 | 1850-05-03

See also:

DATE(a)

General CASE Function

The general CASE function analyzes a sequence of search conditions and delivers a result for each search condition.

SELECT hno,
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 70 THEN 'Very cheap'
WHEN price >= 70 AND price < 100 THEN 'Normal price'
ELSE 'Expensive hotel'
END price_range
FROM hotel.room WHERE hno < 100 AND type = 'single'

Estimating the price classes of single rooms in a selection of hotels

Result

HNO | PRICE_RANGE
10 | Expensive hotel
20 | Normal price
30 | Very cheap
40 | Normal price
50 | Expensive hotel
60 | Expensive hotel
70 | Expensive hotel
80 | Normal price
90 | Normal price

See also:

General CASE Function (searched_case_function)

Simple CASE Function

The simple CASE function compares an expression with a sequence of simple expressions to determine in each case a result expression.

SELECT hno,
CASE price
WHEN NULL THEN 'Not yet priced'
WHEN 70 THEN 'Very cheap'
WHEN 90 THEN 'Cheap'
WHEN 100 THEN 'Normal hotel'
WHEN 115 THEN 'Expensive hotel'
WHEN 135 THEN 'Very expensive hotel'
ELSE 'Not yet in price_range list'
END price_range
FROM hotel.room WHERE hno < 100 AND type = 'single'

Comparing the prices of a selection of hotels with a rating scale for single room prices

Result

HNO | PRICE_RANGE
10 | Very expensive hotel
20 | Very cheap
30 | Not yet in price_range list
40 | Not yet in price_range list
50 | Not yet in price_range list
60 | Not yet in price_range list
70 | Expensive hotel
80 | Cheap
90 | Cheap

See also:

Simple CASE function (simple_case_function)

Database Function

Before you can execute this example, you have to create the database function avgprice(zip), as described in Data Definition ® Database Functions.

SELECT hno, avgprice(zip) avgprice FROM hotel.hotel WHERE hno = 40

Result

HNO | AVGPRICE
40 | 87.5

See also:

Database Function Call (dbfunction_call)


Set Functions (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Set Functions

The database system contains functions that can be used column by column across several rows. These functions are known as set functions. The following set functions are available: AVG, COUNT, MAX, MIN, STDDEV, SUM, and VARIANCE.

Set functions operate across groups of numbers but return only one value. The result therefore comprises one row. If a set function is used in a data query, a similar function must also be applied to each of the other columns in the query. This, however, does not apply to columns that were grouped using GROUP BY. In this case, the value of the set function can be defined for each group (see also: Creating Groups: GROUP BY, HAVING).

With the exception of the COUNT(*) function, no NULL values are included in the calculation of a set function.

SELECT COUNT(*) number
FROM hotel.customer

Number of customers

Result

NUMBER

15

SELECT COUNT(DISTINCT name) number_city
FROM hotel.city

Number of different cities/places

Result

NUMBER_CITY

21

SELECT SUM(price) sum_price, MIN(price) min_price, FIXED(AVG(price),5,2) avg_price, MAX(price) max_price, COUNT(*) number_room
FROM hotel.room
WHERE type = 'single'

Evaluating the prices of single rooms: sum of all prices, minimal price, average price, maximum price, and number of single rooms

Result

SUM_PRICE | MIN_PRICE | AVG_PRICE | MAX_PRICE | NUMBER_ROOM
1450 | 45 | 96.67 | 160 | 15

See also:

Expression (expression)

Set Function (set_function_spec)


Date and Time Calculations (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Date and Time Calculations

To facilitate the calculation of dates and times, a series of functions are available that can use values of these data types to perform calculations.

SELECT arrival, ADDDATE (arrival,2) new_arrival, rno
FROM hotel.reservation
WHERE rno = 130

Postponing the reservation date by two days

Result

ARRIVAL | NEW_ARRIVAL | RNO
2005-02-01 | 2005-02-03 | 130

SELECT arrival, departure, DATEDIFF(departure, arrival) overnight_stays, rno
FROM hotel.reservation
WHERE rno = 130

Number of overnight stays

Result

ARRIVAL | DEPARTURE | OVERNIGHT_STAYS | RNO
2005-02-01 | 2005-02-03 | 2 | 130

See also:

Date Function (date_function)

Time Function (time_function)

Extraction (extraction_function)

A variety of date formats (EUR, INTERNAL, ISO, JIS, and USA) are available for processing date values.

See also:

Date and Time Format (datetimeformat)


Converting Values (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Converting Values

For different application cases, you may need to change how values are represented because the operator used can deal only with a specific representation of values.

The following functions are available for this purpose: CHR(a,n), NUM(a), UPPER/LOWER(x), ASCII(x), MAPCHAR(x,n,i), ALPHA(x,n), HEX(a), CHAR(a,t), SOUNDEX(x), VALUE(x,y,...), and DECODE(x,y(i),...,z)

SELECT * FROM hotel.hotel
WHERE CHR(hno) LIKE '1__'

Displaying the hotel entries whose numbers contain three digits and begin with 1.The hotel number is converted to character values for this purpose.

Result

HNO | NAME | ZIP | ADDRESS
100 | Beach | 32018 | 1980 34th St.
110 | Atlantik | 33441 | 111 78th Str.
120 | Long Beach | 90804 | 35 Broadway
130 | Star | 90029 | 13 Beechwood Place
140 | River Boat | 70112 | 788 MAIN STREET
150 | Indian Horse | 92262 | 16 MAIN STREET

SELECT * FROM hotel.hotel
WHERE UPPER(name) = 'STAR'

Displaying the hotel name (case insensitive)

Result

HNO | NAME | ZIP | ADDRESS
130 | Star | 90029 | 13 Beechwood Place

SELECT VALUE(firstname, 'Company') firstname, name
FROM hotel.customer
WHERE firstname IS NULL

Displaying the company name; the NULL value is to be replaced by the name Company

Result

FIRSTNAME | NAME
Company | Datasoft
Company | Toolware

SELECT hno, price, DECODE(type, 'single', 1, 'double', 2, 'suite', 3) code
FROM hotel.room
WHERE hno < 60

Displaying the hotel rooms with another name for the room types

Result

HNO | PRICE | CODE
10 | 200 | 2
10 | 135 | 1
20 | 100 | 2
20 | 70 | 1
30 | 80 | 2
30 | 45 | 1
40 | 140 | 2
40 | 85 | 1
50 | 180 | 2
50 | 105 | 1
50 | 500 | 3


Changing Character Strings (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Changing Character Strings

A series of operations with character strings are available.

Concatenation

You can use the & operator to concatenate CHAR columns.

SELECT name & ', ' & firstname name, zip
FROM hotel.customer
WHERE cno < 3500

Last and first names are to be displayed together

Result

NAME | ZIP
Porter, Jenny | 10580
Brown, Peter | 48226
? | 90019
Brian, Rose | 75243
Griffith, Mary | 20005

See also:

Concatenation (concatenation)

Removing and Inserting Characters

You can use the TRIM, LTRIM, and RTRIM functions to remove and insert characters.

SELECT RTRIM(title,'any') title, name
FROM hotel.customer
WHERE title = ′Company′

Specifying an abbreviated company title

Result

TITLE | NAME
Comp | Datasoft
Comp | TOOLware

See also:

TRIM(x,y), LTRIM(x,y), RTRIM(x,y)

Abbreviating Values

SELECT title, SUBSTR(firstname,1,1)& '. '&name name
FROM hotel.customer
WHERE firstname IS NOT NULL

Specifying an abbreviated first name that is concatenated with the last name

Result

TITLE | NAME
Mrs | J. Porter
Mr | P. Brown
Mrs | R. Brian
Mrs | M. Griffith
Mr | M. Randolph
Mrs | S. Smith
Mr | M. Jackson
Mrs | R. Doe
Mr | G. Howe
Mr | F. Miller
Mrs | S. Baker
Mr | J. Peters
Mr | A. Jenkins

See also:

SUBSTR(x,a,b)

Moving Values

You can use the LFILL or RFILL functions to fill values of the type CHAR for a specified length with any character.

SELECT LFILL(firstname,' ',10) firstname, name
FROM hotel.customer
WHERE firstname IS NOT NULL AND title = 'Mrs'

Specifying a first name that has been moved to the right; the first name and blank characters are to result in a total character string length of 10

Result

FIRSTNAME | NAME
Jenny | Porter
Rose | Brian
Mary | Griffith
Sally | Smith
Rita | Doe
Susan | Baker

See also:

LFILL(x,a,n), RFILL(x,a,n)

EXPAND(x,n) expands a character string by a specified number of blank characters.

Replacements in Character Strings

You can use the REPLACE function to replace one character string with another in the specified column.

SELECT hno, zip, REPLACE(address,'Str.','Street') address
FROM hotel.hotel
WHERE zip < '40000'

Specifying the address with “Street” instead of the abbreviation “Str.”

Result

HNO | ZIP | ADDRESS
10 | 20005 | 155 Beechwood Street
20 | 11788 | 1499 Grove Street
30 | 20037 | 477 17th Avenue
40 | 10019 | 112 8th Avenue
70 | 12203 | 65 Yellowstone Dr.
80 | 10019 | 12 Barnard Street
90 | 33575 | 200 Yellowstone Dr.
100 | 32018 | 1980 34th Street
110 | 33441 | 111 78th Street

You can use the TRANSLATE function to replace individual letters with other letters in the specified column. Each occurrence of the ith letter in the first character string is replaced by the ith letter in the second one.

SELECT name, TRANSLATE(name,'ae','xy') name_new
FROM hotel.customer
WHERE cno > 4000

The letters a and e are to be replaced by x and y

Result

NAME | NAME_NEW
Baker | Bxkyr
Peters | Pytyrs
TOOLware | TOOLwxry
Jenkins | Jynkins

See also:

REPLACE(x,y,z), TRANSLATE(x,y,z)


Information About Character Strings (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Information About Character Strings

You can obtain a series of information about a character string.

Defining the Number of Characters

SELECT name, LENGTH(name) len
FROM hotel.customer
WHERE title = 'Mrs' ORDER BY len, name

Part of the customer table is sorted according to the surname length, with names of the same length sorted in alphabetical order.

Result

NAME | LEN
Doe | 3
Baker | 5
Brian | 5
Smith | 5
Porter | 6
Griffith | 8

See also:

LENGTH(a)

Standardizing Notation

When applied to a character string, the INITCAP function returns a character string in which the initial letter of any given word appears in uppercase and all other letters in lowercase. This function can be used to standardize the notation for names, for example.

SELECT name, INITCAP(name) name_new
FROM hotel.customer
WHERE firstname IS NULL

Result

NAME | NAME_NEW
Datasoft | Datasoft
TOOLware | Toolware

See also:

INITCAP(x)

Searching the Position of Character Strings

The INDEX function returns the position of a predefined substring in the character string. You can also choose to use a third parameter in the INDEX function to specify the starting position for the search and a fourth parameter to specify the number of occurrences of the substring after which the search is to start.

SELECT name, INDEX(name,'er') position_er
FROM hotel.customer
WHERE title = 'Mrs'

For part of the customer table, the position of the character string ‘er’ is to be defined in the last name.

Result

NAME | POSITION_ER
Porter | 5
Brian | 0
Griffith | 0
Smith | 0
Doe | 0
Baker | 4

See also:

INDEX(a,b,p,s)

Defining the Minimum and Maximum in Character Strings

You can also apply the MAX and MIN functions to character strings.

SELECT title, MIN(name) min_name
FROM hotel.customer
GROUP BY title

The customer (male, female, or company) whose last name starts with the “earliest” letter, with regard to the code selected, is searched. If the initial letters of any given names are the same, the system compares the next characters in the strings.

Result

TITLE | MIN_NAME
Company | Datasoft
Mr | Brown
Mrs | Baker

See also:

MAX/MIN

To ensure that data is correctly sorted in alphabetical order, in particular in the case of foreign characters such as umlauts, the MAPCHAR(x,n,i) function should be used.

The GREATEST/LEAST(x,y,...) functions enable the greatest or least value to be found in a list of specified values. You can also apply these functions to character strings. GREATEST ('Mary', 'Mike', 'Martin') would return Mike as the result.


Subquery: Internal Queries (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Subquery: Internal Queries

A second SELECT statement (Subquery (subquery)) can be included in a SELECT statement. A value or set of values is generated by the subquery as part of the main statement.

SELECT name, zip
FROM hotel.customer
WHERE zip = (SELECT MAX(zip) FROM hotel.customer)

Displaying the customer with the greatest zip code

Result

NAME | ZIP
Doe | 97213

See also:

Comparison Predicate (comparison_predicate)

SELECT hno, name, zip
FROM hotel.hotel
WHERE zip IN(SELECT zip FROM hotel.customer WHERE title = 'Mrs')

Displaying the hotels located in cities/places in which female customers also live

Result

HNO | NAME | ZIP
10 | Congress | 20005

See also:

IN Predicate (in_predicate)

SELECT hno, name
FROM hotel.hotel
WHERE name = ANY(SELECT name FROM hotel.city)

Displaying hotels that have the same name as other cities in the city table. The inner query determines the list of city names with which the hotel names are compared.

Result

HNO | NAME
20 | Long Island
120 | Long Beach

SELECT cno, name
FROM hotel.customer
WHERE cno = ANY(SELECT cno FROM hotel.reservation WHERE arrival > '2005-01-01')

Displaying the customers that have made all reservations as of a specified date

Result

CNO | NAME
3600 | Smith
3900 | Howe

Use ANY if the subquery returns more than one value and you want to take this into consideration in the WHERE clause condition that usually requires exactly one value.

See also:

Quantified Predicate (quantified_predicate)

Correlated Subquery

You can use correlated subqueries to formulate conditions for selecting rows; these conditions are to apply to groups of rows only and not to all rows in a table.

Whereas subqueries are evaluated once only, correlated subqueries are evaluated for each row in the external table, from the inside out, in the case of compound subqueries.

SELECT hno, type, price
FROM hotel.room room_table
WHERE price =
(SELECT MAX(price) FROM hotel.room WHERE type = room_table.type)

Displaying the hotels (in the form of the hotel number) whose rooms in the individual types (single, double, or suite) have the highest price

Since in this example, the same table is addressed in the external SELECT statement as in the subquery, you have to specify a reference name (room_table). A row from the result of the external SELECT statement is linked (correlated) to a value in the subquery.

Explanation

· SELECT hno, type, price FROM hotel.room room_table
Searches for the hotel number, room type and price in the room table and renames the table room_table .

· WHERE price=
Contains the row in which the price is the same as the result of the following subquery:

· (SELECT MAX(price) FROM hotel.room
(Start the subquery) searches for the maximum price in the room table

· WHERE type = room_table.type)
the room types here are to be the same as the room types in the rows found above

Result

HNO | TYPE | PRICE
130 | double | 270
130 | single | 160
130 | suite | 700

SELECT cno, title, name FROM hotel.customer
WHERE EXISTS
(SELECT * FROM hotel.reservation
WHERE hotel.customer.cno = hotel.reservation.cno)

Displaying only those customers from the customer table for which one or more reservations exist

Result

CNO | TITLE | NAME
3000 | Mrs | Porter
3100 | Mr | Brown
3200 | Company | Datasoft
3600 | Mrs | Smith
3900 | Mr | Howe
4100 | Mrs | Baker
4300 | Company | TOOLware
4400 | Mr | Jenkins

Use EXISTS if you only want the subquery to find out whether a row exists that fulfils a specific condition.

See also:

EXISTS Predicate (exists_predicate)


Joins: Information from Several Tables (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Joins: Information from Several Tables

In order to respond to some queries, the system must search several tables. The link between these tables is established on the basis of columns that appear in several tables. Statements such as this are called a “join.”

SELECT reservation.rno, customer.name, reservation.arrival, reservation.departure
FROM hotel.customer, hotel.reservation
WHERE customer.name = 'Porter'
AND customer.cno = reservation.cno

Displaying whether and when a reservation was made for the customer “Porter”

Result

RNO | NAME | ARRIVAL | DEPARTURE
100 | Porter | 2004-11-13 | 2004-11-15
110 | Porter | 2004-12-24 | 2005-01-06

The link between the two tables is established on the basis of the customer number, that is, only those rows that contain the name “Porter” and in which the customer numbers are identical are selected. =, <, <=, >, >=, and <> are possible operators in the WHERE clause.

The overall result row comprises the desired columns in the relevant table. If columns in two different tables have the same name, the table name must be specified in the statement before the column name; the two names are then linked by a period (.).

SELECT customer.name, reservation.rno, hotel.name hotel_name
FROM hotel.customer, hotel.reservation, hotel.hotel
WHERE customer.name = 'Porter'
AND customer.cno=reservation.cno
AND reservation.hno = hotel.hno

Displaying all the hotels in which the customer “Porter” has made a reservation. For this purpose, the customer, reservation, and hotel tables must be concatenated.

Result

NAME | RNO | HOTEL_NAME
Porter | 100 | Midtown
Porter | 110 | Beach

Outer Join

First, here is another example of a join:

SELECT hotel.name hotel_name, city.zip, city.name city_name
FROM hotel.hotel, hotel.city
WHERE city.state = 'CA' AND city.zip=hotel.zip

Displaying the cities in the state of CA for which hotels are specified in the hotel table

Result

HOTEL_NAME | ZIP | CITY_NAME
Long Beach | 90804 | Long Beach
Star | 90029 | Hollywood
Indian Horse | 92262 | Palm Springs

If you now want to display all city names, regardless of whether or not a hotel is specified for these individual cities, you can use an outer join.

An outer join is represented by the operator (+).

SELECT hotel.name hotel_name, city.zip, city.name city_name
FROM hotel.hotel, hotel.city
WHERE city.state = 'CA' AND city.zip=hotel.zip (+)

Displaying the cities in the state of CA for which hotels are specified in the hotel table

Result

HOTEL_NAME | ZIP | CITY_NAME
Long Beach | 90804 | Long Beach
Star | 90029 | Hollywood
Indian Horse | 92262 | Palm Springs
? | 90018 | Los Angeles
? | 92714 | Irvine
? | 95054 | Santa Clara

A list of all the cities in the state of CA is displayed. For those cities for which no hotel entries exist, the system assigns the hotel name a NULL value.

See also:

JOIN Predicate (join_predicate)


Set Operations: UNION, INTERSECT, EXCEPT (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Set Operations: UNION, INTERSECT, EXCEPT

A series of options are available for establishing a relationship between results from several results tables and for generating a new results table on the basis of this relationship.

UNION

The UNION statement enables you to create a union for the individual results tables from several SELECT statements.

In the simplest case, you can link together two results tables that have been created from the same base table.

You can also use the UNION statement to combine results tables that have been created from different tables. However, in this case you have to make sure that the data types of the relevant ith output columns are comparable. These data types do not have to be identical, since the maximum length is used, where applicable.

SELECT zip customer_zip FROM hotel.customer WHERE zip > '90000'

SELECT zip hotel_zip FROM hotel.hotel WHERE zip> '90000'

Displaying the zip codes greater than 90000

Results Tables

CUSTOMER_ZIP | HOTEL_ZIP
90018 | 90804
97213 | 90029
95054 | 92262
90018 |
92714 |

SELECT zip FROM hotel.customer WHERE zip > '90000'
UNION
SELECT zip FROM hotel.hotel WHERE zip > '90000'

Displaying all the zip codes from the customer and hotel tables that are greater than 90000

Result

ZIP

90018

90029

92262

90804

97213

92714

95054

Zip codes that occur several times are displayed once only, since the database system implicitly executes a DISTINCT.

If you want to display all zip codes by their frequency of occurrence, use UNION ALL.

SELECT hno hno_or_cno, name hotel_or_customer_name, zip
FROM hotel.hotel WHERE zip < '30000'
UNION
SELECT cno, name, zip
FROM hotel.customer WHERE zip < '30000'

Displaying all the cities/places in which either a hotel is located or one of the customers lives

Result

HNO_OR_CNO | HOTEL_OR_CUSTOMER_NAME | ZIP
3000 | Porter | 10580
30 | Regency | 20037
4300 | TOOLware | 20019
4400 | Jenkins | 20903
10 | Congress | 20005
3400 | Griffith | 20005
80 | Midtown | 10019
20 | Long Island | 11788
40 | Eight Avenue | 10019
70 | Empire State | 12203

INTERSECT

You can use INTERSECT to generate an intersection.

SELECT zip FROM hotel.customer WHERE zip < '30000'

INTERSECT

SELECT zip FROM hotel.hotel WHERE zip < '30000'

Displaying the zip codes that are used in both tables

Result

ZIP

20005

If you do not additionally specify ALL, an implicit DISTINCT is also executed here.

EXCEPT

You can use EXCEPT to deduct the results from one results table from those of another; the sequence of the SELECT statements is important here.

SELECT zip FROM hotel.hotel WHERE zip < '30000'

EXCEPT

SELECT zip FROM hotel.customer WHERE zip < '30000'

Displaying only those zip codes from the hotel table that do not exist in the customer table

Result

ZIP

12203

10019

20037

11788

Before the EXCEPT set operation becomes effective, a DISTINCT is implicitly executed.

If you also want to take into consideration the number of rows found in the individual results tables, use <UNION|INTERSECT|EXCEPT> ALL in each case.

See also:

QUERY Expression (query_expression)


Data Definition (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Definition

For a complete syntax description of the SQL statements for data definition, see Data Definition in the reference manual.

Below are just a few examples of key SQL statements for the data definition.

Prerequisites

You need the HOTEL Demo Schema for the SQL Tutorial.

To log on to the database instance DEMODB, start the SQL Studio query tool as the database administrator MONA with the password RED.

Examples

· Tables

· Constraints

· Primary Key

· Foreign Key Dependencies Between Tables

· View Tables

· Indexes

· Domains

· Database Procedures

· Database Functions

· Database Triggers

· Number Generators for Tables

· Number Generator for a Single Table Column


Tables (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Tables

Creating a Table

To create a table, use the CREATE TABLE statement.

CREATE TABLE
hotel.person
(pno       FIXED(6),
name      CHAR(20),
city      CHAR(20))

You specify the name of the table (person) after the keywords CREATE TABLE. Create the person table in the hotel schema.

In the list of column definitions, you have to specify the name and data type of each column. The list of column definitions is in parentheses.

· The person table contains columns with the following names: pno, name, city

· The columns have the following data types: pno FIXED(6) and name and city, each CHAR(20)

See also:

CREATE TABLE Statement (create_table_statement)

Column Name (column_name)

Data Type (data_type)

Data Integrity

The person table is a very simple table. The only input restriction for values in the columns in the person table is that the data types must be specified. In reality, additional entries, restrictions, and objects, such as constraints, primary keys, domain definitions, database procedures and database triggers are usually required to ensure data integrity.

See also:

Ensuring Data Integrity

Changing a Table

You can use the ALTER TABLE statement to change the table definition while the database is in operation.

ALTER TABLE hotel.person
  ADD (code FIXED(5), fon FIXED(8))

Columns for the telephone dialing code and number are added to the person table.

See also:

ADD Definition (add_definition)

ALTER TABLE hotel.person
  DROP (code)

The column for the telephone dialing code is dropped again from the customer table.

See also:

DROP Definition (drop_definition)

ALTER TABLE hotel.person
  COLUMN fon FIXED(10)

The column definition is changed in the customer table. The column is redefined only if it corresponds to the values already stored.

See also:

COLUMN Change Definition (column_change_definition)

Additional changes can be made to existing tables.

See also:

ALTER TABLE Statement (alter_table_statement)

Renaming a Table

To rename a table, use the RENAME TABLE statement.

RENAME TABLE hotel.person TO member

Rename the person table to member

See also:

RENAME TABLE Statement (rename_table_statement)

Dropping a Table

To drop a table, use the DROP TABLE statement.

DROP TABLE hotel.member

You can use this SQL statement to drop the table definition, the table contents, and all dependent objects (such as view tables and indexes). The table can be dropped by the table owner only.

See also:

DROP TABLE Statement (drop_table_statement)


Constraints (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Constraints

You can use “constraints” to restrict the domain of the data type in a column.

With just a few exceptions, you can formulate in a CONSTRAINT definition everything that also counts as a search condition. You can use the AND, OR, and NOT operators to link together several conditions. You can address as many columns as required. Note, however, that constraints reduce the speed of the database system when changes are made to entries in the table.

See also:

CONSTRAINT Definition (constraint_definition)

Creating a Constraint

You can specify a constraint when you define the table or add it to an existing table at a later stage.

Simple Constraints

You can formulate constraints that refer to one table column only.

You can use the CREATE TABLE statement to define constraints when you create a table.

...

1. If necessary, drop the city table.
DROP TABLE hotel.city

2. Create the city table as follows:
CREATE TABLE hotel.city
(zip CHAR(5) PRIMARY KEY CONSTRAINT zip_cons CHECK
SUBSTR(zip,1,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,2,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,3,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,4,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,5,1) BETWEEN '0' AND '9',
name CHAR(30) NOT NULL,
state CHAR(2) NOT NULL)

The city table is created with a simple constraint in the zip code column. This constraint ensures that only digits from 0 to 9 can be entered for the zip code; all other characters will be rejected.

Specifying NOT NULL has the effect that a value has to be assigned to a column. This column is then designated as mandatory.

When you define a constraint, you specify implicitly that the NULL value is not permitted as an input.

See also:

CREATE TABLE Statement (create_table_statement)

You can use the ALTER TABLE statement to add constraints to existing tables.

ALTER TABLE hotel.customer ADD CONSTRAINT zip_cons CHECK
SUBSTR(zip,1,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,2,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,3,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,4,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,5,1) BETWEEN '0' AND '9'

A simple constraint is added to the zip code column in the customer table. This constraint ensures that only digits from 0 to 9 can be entered for the zip code; all other characters will be rejected.

ALTER TABLE hotel.customer ADD CONSTRAINT cno_cons CHECK cno > 10

//

ALTER TABLE hotel.customer ADD CONSTRAINT title_cons CHECK title IN ('Mr', 'Mrs', 'Company')

Additional simple constraints are defined for the customer table. The customer number must be greater than 10; you are permitted to enter only one of the character sets Mr, Mrs, or Company in the title column.

Complex Constraints

In a complex constraint, you formulate conditions that refer to several columns in the table.

ALTER TABLE hotel.reservation ADD CONSTRAINT staying CHECK
departure > arrival

In the reservation table, check that the arrival date is before the departure date.

See also:

ALTER TABLE Statement (alter_table_statement)

ADD Definition (add_definition)

Changing a Constraint

You can use the ALTER TABLE statement to change existing constraints.

ALTER TABLE hotel.customer ALTER CONSTRAINT cno_cons CHECK cno > 0

For the customer table, the cno_cons constraint has changed. The customer number must be greater than 0.

See also:

ALTER Definition (alter_definition)

Evaluating System Tables, CONSTRAINTS

Dropping a Constraint

You can use the ALTER TABLE statement to drop a constraint.

ALTER TABLE hotel.reservation DROP CONSTRAINT staying

See also:

DROP Definition (drop_definition)


Primary Key (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Primary Key

For some applications, it is useful to uniquely identify the rows in a table by one or more columns so that you can process them in a specified sequence, for example. You can do this by assigning a “primary key.” The column names that are to create the table key are represented by the keywords PRIMARY KEY. The input values of the key columns defined in this way must not be a NULL value.

You can use the primary key to insert rows in a table in the same way as you insert rows in a base table when no primary key is defined. However, the system outputs an error message if you attempt to insert an existing value into the primary key column a second time, since the uniqueness of the column is ensured by defining the primary key.

A primary key can consist of multiple columns. However, it is unusual for a key to be constructed from more than five columns, since this makes it difficult for users to enter unique values. The arrangement of the columns behind the keywords PRIMARY KEY defines the key sequence.

See also:

Key Definition (key_definition)

Creating a Primary Key

You can specify a primary key when you define the table or add it to an existing table at a later stage.

Simple Primary Key

You can define primary keys that refer to one table column only.

You can use the CREATE TABLE statement to define primary keys when you create a table.

CREATE TABLE hotel.person
(pno FIXED(6) PRIMARY KEY,
name CHAR(20),
city CHAR(20))

or

CREATE TABLE hotel.person
(pno FIXED(6),
name CHAR(20),
city CHAR(20),
PRIMARY KEY (pno))

Both statements result in the following: it must be possible to uniquely identify the rows in the person table on the basis of the person number.

See also:

CREATE TABLE Statement (create_table_statement)

You can use the ALTER TABLE statement to add primary keys to existing tables.

...

1. Drop the person table.
DROP TABLE hotel.person

2. Create the person table as follows:
CREATE TABLE hotel.person
(pno FIXED(6),
name CHAR(20),
city CHAR(20))

    3.      Add a primary key:
ALTER TABLE hotel.person ADD PRIMARY KEY (pno)

It must be possible to uniquely identify the rows in the person table on the basis of the person number.

Primary Key in Several Columns

You can define a primary key in several columns in the table.

4. Drop the person table.
DROP TABLE hotel.person

5. Create the person table as follows:
CREATE TABLE hotel.person
(pno FIXED(6),
name CHAR(20),
city CHAR(20))

    6.      Add a primary key:
ALTER TABLE hotel.person ADD PRIMARY KEY (pno,name)

It must be possible to uniquely identify the rows in the person table on the basis of the person number and name.

See also:

ALTER TABLE Statement (alter_table_statement)

ADD Definition (add_definition)

Changing a Primary Key

You can use the ALTER TABLE statement to change existing primary keys.

ALTER TABLE hotel.person ALTER PRIMARY KEY (pno)

It must be possible to uniquely identify the rows in the person table on the basis of the person number.

See also:

ALTER Definition (alter_definition)

Dropping a Primary Key

You can use the ALTER TABLE statement to drop primary keys.

ALTER TABLE hotel.person DROP PRIMARY KEY

See also:

DROP Definition (drop_definition)


Foreign Key Dependencies Between Tables (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Foreign Key Dependencies Between Tables

You can define a dependency between two tables that affects the tables when changes are made to rows. This relationship is called a referential constraint (or a foreign key dependency).

See also:

Referential CONSTRAINT Definition (referential_constraint_definition)

Creating a Foreign Key

You can specify a foreign key (referential constraint) when you define the table or add it to an existing table at a later stage.

Simple Foreign Key

You can define foreign key dependencies that refer to only one primary key column in a table.

You can use the CREATE TABLE statement to define foreign keys when you create a table.

...

1. Drop the hotel table.
DROP TABLE hotel.hotel

2. Create the hotel table as follows:
CREATE TABLE hotel.hotel
(hno FIXED(4) PRIMARY KEY CONSTRAINT hno_cons CHECK hno > 0,
name CHAR(15) NOT NULL,
zip CHAR(5) CONSTRAINT zip_cons CHECK
SUBSTR(zip,1,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,2,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,3,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,4,1) BETWEEN '0' AND '9' AND
SUBSTR(zip,5,1) BETWEEN '0' AND '9',
address CHAR(25) NOT NULL,
FOREIGN KEY hotel_zip_in_city (zip) REFERENCES hotel.city ON DELETE RESTRICT)

You can link the city and hotel tables to one another on the basis of the zip code, since the zip code column in the city table is the primary key column. On the basis of the FOREIGN KEY syntax rule, the hotel table is assigned the foreign key (referential constraint) hotel_zip_in_city for the zip column

CITY Table

ZIP

NAME

STATE

HOTEL Table

HNO

NAME

ZIP

....

The name of the foreign key (referential constraint) hotel_zip_in_city was specified after the keywords FOREIGN KEY. If you do not specify the name, the database system itself assigns the following name: city_hotel, that is, the names of the tables involved are linked by an underscore.

By specifying the appropriate keyword after the keyword DELETE, you can define what you want to happen to dependent values when rows are deleted.

For example, if you want to delete rows from the city table only if no hotel entries are available for these cities, you can select from among the following options:

· ON DELETE RESTRICT: the system outputs a warning; the rows are not deleted from the city table.

· ON DELETE CASCADE: the relevant rows are deleted from the city and hotel tables.

· ON DELETE SET NULL: obsolete entries in the hotel table are assigned the NULL value.

· ON DELETE SET DEFAULT: obsolete entries in the hotel table are assigned the default value.

The foreign key hotel_zip_in_city prevents you from inserting or changing a row in the hotel table for which no city is available.

See also:

CREATE TABLE Statement (create_table_statement)

You can use the ALTER TABLE statement to add foreign keys to existing tables.

ALTER TABLE hotel.reservation ADD FOREIGN KEY reservation_cno_in_customer (cno) REFERENCES hotel.customer ON DELETE CASCADE

A foreign key was added to the customer number column in the reservation table. This column is a primary key column in the customer table.

Foreign Key in Several Columns

You can define a foreign key for several primary key columns.

ALTER TABLE hotel.reservation ADD FOREIGN KEY reservation_info_in_room (hno,type) REFERENCES hotel.room ON DELETE CASCADE

A foreign key was added to the hno and type columns in the reservation table. These columns are primary key columns in the room table.

See also:

ALTER TABLE Statement (alter_table_statement)

ADD Definition (add_definition)

Evaluating System Tables, FOREIGNKEYS, FOREIGNKEYCOLUMNS

Dropping a Foreign Key

You can use the ALTER TABLE statement to drop foreign keys.

ALTER TABLE hotel.reservation DROP FOREIGN KEY reservation_info_in_room

See also:

DROP Definition (drop_definition)


View Tables (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text View Tables

A view table is a view of one or more existing tables. Parts of these tables are hidden, and others remain visible.

Creating a View Table

To create a view table, use the CREATE VIEW statement.

CREATE VIEW hotel.customer_addr (cno, title, name, zip, city, state, address)
AS SELECT customer.cno, customer.title, customer.name, customer.zip,
city.name, city.state, customer.address
FROM hotel.customer, hotel.city
WHERE customer.zip = city.zip
The customer_addr view table is comprised of information from the customer and city tables.

When the tables have been filled with the data specified for the SQL tutorial (SQL Statements for the HOTEL Schema), you can get the following data from the customer_addr view table:

SELECT * FROM hotel.customer_addr ORDER BY cno

Result

CNO | TITLE | NAME | ZIP | CITY | STATE | ADDRESS
3000 | Mrs | Porter | 10580 | New York | NY | 1340 N.Ash Street, #3
3100 | Mr | Brown | 48226 | Detroit | MI | 1001 34th Str., APT.3
3200 | Company | Datasoft | 90018 | Los Angeles | CA | 486 Maple Str.
3300 | Mrs | Brian | 75243 | Dallas | TX | 500 Yellowstone Drive, #2
3400 | Mrs | Griffith | 20005 | Washington | DC | 3401 Elder Lane
3500 | Mr | Randolph | 60615 | Chicago | IL | 340 MAIN STREET, #7
3600 | Mrs | Smith | 75243 | Dallas | TX | 250 Curtis Street
3700 | Mr | Jackson | 45211 | Cincinnati | OH | 133 BROADWAY APT. 1
3800 | Mrs | Doe | 97213 | Portland | OR | 2000 Humboldt Str., #6
3900 | Mr | Howe | 75243 | Dallas | TX | 111 B Parkway, #23
4000 | Mr | Miller | 95054 | Santa Clara | CA | 27 5th Str., 76
4100 | Mrs | Baker | 90018 | Los Angeles | CA | 200 MAIN STREET, #94
4200 | Mr | Peters | 92714 | Irvine | CA | 700 S. Ash Str., APT.12
4300 | Company | TOOLware | 20019 | Washington | DC | 410 Mariposa Str., #10
4400 | Mr | Jenkins | 20903 | Silver Spring | MD | 55 A Parkway, #15

When you create a view table, you can rename and rearrange columns. You can link together several tables. To define a view table, you can use every SELECT statement that does not contain ORDER BY.

You can always use a view table name in SELECT statements and, in special cases, in INSERT, UPDATE, and DELETE statements.

See also:

CREATE VIEW Statement (create_view_statement)

Evaluating System Tables, VIEWS, VIEWDEFS, VIEWCOLUMNS

For more CREATE view example statements, see: Explanation of the Objects in the HOTEL Schema

Dropping a View Table

To drop a view table, use the DROP VIEW statement.

DROP VIEW hotel.customer_addr

You can use this SQL statement to drop the view definition; this does not affect the table contents.

See also:

DROP VIEW Statement (drop_view_statement)


Indexes (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Indexes

Since all columns in a table are handled in the same way, each column can be used as a search criterion. However, this does not mean that all search operations are equally efficient.

If you want to use a particular column to process search conditions, you should create an index for this column. This enables you to find the desired rows more quickly, since the database system attempts to use indexes to search for entries.

Creating an Index

To create an index, use the CREATE INDEX statement.

CREATE INDEX hotel.name_index ON hotel.customer (name)

You use this statement to create a single-column index with the name name_index in the hotel schema.

CREATE INDEX hotel.city_state ON hotel.city (state)

You use this statement to create a single-column index with the name city_state .

CREATE INDEX hotel.full_name_index ON hotel.customer (name,firstname)

You use this statement to create a two-column index with the name full_name_index .

If you want to create an index that (like the key) ensures uniqueness, you have to use the keyword UNIQUE.

CREATE UNIQUE INDEX address_index ON hotel.customer (firstname,name,address)

See also:

CREATE INDEX Statement (create_index_statement)

You can define an UNIQUE index at the same time as you define the table, using the CREATE TABLE statement.

...

1. If necessary, drop the person table.
DROP TABLE hotel.person

2. Create the person table.
CREATE TABLE hotel.person
(pno FIXED(6) PRIMARY KEY,
name CHAR(20) CONSTRAINT name_index UNIQUE,
city CHAR(20))

You use this statement to create a single-column UNIQUE index with the name name_index .

3. Drop the person table.
DROP TABLE hotel.person

4. Create the person table.
CREATE TABLE hotel.person
(pno FIXED(6) PRIMARY KEY,
name CHAR(20),
city CHAR(20),
CONSTRAINT address_index UNIQUE (name,city))

You use this statement to create a two-column UNIQUE index with the name address_index.

See also:

CREATE TABLE Statement (create_table_statement)

UNIQUE Definition (unique_definition)

Dropping an Index

To drop an index, use the DROP INDEX statement.

DROP INDEX hotel.full_name_index ON hotel.customer

You can use this SQL statement to drop the index definition and the data contained in the index; this does not affect the table contents.

See also:

DROP INDEX Statement (drop_index_statement)


Domains (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Domains

When you create a table, you can define a domain for each column.

CREATE TABLE hotel.customer
(cno FIXED(4) PRIMARY KEY CONSTRAINT cno_cons CHECK cno > 0,
title CHAR(7) CONSTRAINT title_cons CHECK title IN ('Mr','Mrs','Company'),
firstname CHAR(20),
name CHAR(20) NOT NULL,
...)

The customer number consists of four digits, the title is seven characters long, and the first and last names are each 10 characters long.

See also:

CREATE TABLE Statement (create_table_statement)

You can predefine these domains in a domain definition.

Creating a Domain

To create a domain, use the CREATE DOMAIN statement.

CREATE DOMAIN name_domain CHAR(20)

Names are to be 20 characters long.

CREATE DOMAIN birthday_domain DATE DEFAULT DATE
CONSTRAINT birthday_domain> '1880-01-01' AND birthday_domain <= DATE

In the domain definition birthday_domain for the birthday, the current date is selected as the DEFAULT value. The birth date is not to be before 01/01/1880.

In a domain definition, you can specify a DEFAULT value and/or a CONSTRAINT definition.

· The DEFAULT values must satisfy any existing restrictive conditions.

· No constraint name can be specified in the CONSTRAINT definition and the domain is used as the column name.

Using the Domain

...

1. If necessary, drop the person table.
DROP TABLE hotel.person

    2.      Create the person table.
CREATE TABLE hotel.person
(pno FIXED(6) PRIMARY KEY,
name name_domain,
city CHAR(20))

    3.      Add a birthday column with the domain birthday_domain .
ALTER TABLE person ADD birthday birthday_domain

The person table was created in accordance with the name_domain domain for names and with the birthday column with the domain definition birthday_domain .

See also:

CREATE DOMAIN Statement (create_domain_statement)

Evaluating System Tables, COLUMNS, DOMAINS, DOMAINCONSTRAINTS

Dropping a Domain

To drop a domain, use the DROP DOMAIN statement:

DROP DOMAIN name_domain

You can use this SQL statement to drop the domain definition. Table definitions that used this domain definition are not dropped.

See also:

DROP DOMAIN Statement (drop_domain_statement)


Database Procedures (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Database Procedures

Database procedures are programs that can be called up from an application program in the same way as an SQL statement. A database procedure can contain several SQL statements. A series of control structures are also available for the application programmer. You can program loops or branches, for example, within a database procedure.

You can define both input and output parameters in order to transfer individual values to a database procedure or to obtain results.

You can use database procedures, for example, to formulate complex integrity rules that check the permissibility of values. In database procedures, operations can be provided for application objects. Any changes to these rules or operations can be made at a central location, namely in the database procedure. This means that they do not have to be made individually in each application. The programs are more clearly organized and, as a result, more user friendly.

Using database structures also makes it easier to grant privileges. All you have to do is grant the call privilege; you do not need to grant privileges for the addressed database objects.

Creating a Database Procedure

To create a database procedure, use the CREATE DBPROC statement.

CREATE DBPROC hotel.avg_price (IN zip CHAR(5), OUT
avg_price FIXED(6,2)) AS
VAR sum FIXED(10,2); price FIXED(6,2); hotels
INTEGER;
TRY
SET sum = 0; SET hotels = 0;
DECLARE dbproccursor CURSOR FOR
SELECT price FROM hotel.room,hotel.hotel WHERE zip = :zip AND
room.hno = hotel.hno AND type = 'single';
WHILE $rc = 0 DO BEGIN
FETCH dbproccursor INTO :price;
SET sum = sum + price;
SET hotels = hotels + 1;
END;
CATCH
IF $rc <> 100 THEN STOP ($rc, 'unexpected error');
CLOSE dbproccursor;
IF hotels > 0 THEN SET avg_price = sum / hotels
ELSE STOP (100, 'no hotel found');

The database procedure avg_price determines the average price for single rooms in hotels that are located within the specified zip code range.

Explanation

· IN zip CHAR(5), OUT avg_price FIXED(6,2) : the input parameter is the zip code zip; the output parameter is the average price avg_price.

· The SQL statements (in this example, a SELECT statement) and control structures (in this example, a WHILE and an IF statement) that are required for executing the desired procedure are defined after the keyword AS.

· The variables required within the database procedure are defined after the keyword VAR.

· Error handling: If an SQL error occurs in the statement list between TRY and CATCH, the system branches directly to the statement that follows CATCH. The actual troubleshooting routine can be programmed in this statement.

· SET can be used to assign values to the sum and hotels variables.

· The DECLARE CURSORstatement is used to define the named result table dbproccursor .

· The tables in the SELECT statement must always be specified completely, that is, with the owner specified. Note that the zip code is transferred as the parameter: :zip.

· The WHILE statement enables statements to be repeated in response to certain conditions. The statement is executed as long as the search condition specified is met.

· The FETCH statement assigns the values from the current row of the result table dbproccursor to parameters.

· The $rc variable returns a numeric error code after the SELECT statement has been executed. The value 0 means that the SELECT statement was successfully executed.

· An IF statementfirst evaluates the search condition. If this is met, the statement specified in the THEN branch is executed. Otherwise, the statement in the ELSE branch (if defined) is executed.

· The CLOSE statement deletes the result table dbproccursor.

See also:

CREATE DBPROC[EDURE] Statement (create_dbproc_statement)

Routine (routine)

Evaluating System Tables, DBPROCEDURES

Calling Up a Database Procedure

To call up a database procedure, use the CALL statement.

When the hotel table with SQL Statements for the HOTEL Schema has been created and filled with data, you can try the following CALL statement:

CALL hotel.avg_price (20005, :avg_price)

Result

Out(1)

135

If the mode of a formal parameter in the database procedure is OUT, the corresponding expression must be a parameter specification. The CALL statement contains the parameter specification :avg_price.

See also:

CALL Statement (call_statement)

Dropping a Database Procedure

To drop a database procedure, use the DROP DBPROC statement.

DROP DBPROC hotel.avg_price

You can use this SQL statement to drop the database procedure definition.

See also:

DROP DBPROC[EDURE] Statement (drop_dbproc_statement)


Database Functions (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Database Functions

You can define user-specific database functions. In an SQL statement, you can then use these user-defined database functions in the same way as any other predefined functions.

A database function can contain several SQL statements. A series of control structures are also available for the application programmer.You can program loops or branches, for example, within a database function.

Database functions are specialized database procedures that contain any number of input parameters but only one output parameter. The output parameter represents the result of the database function.

Creating a Database Function

To create a database function, use the CREATE FUNCTION statement.

CREATE FUNCTION hotel.avgprice (zip CHAR(5)) RETURNS
FIXED(6,2) AS
VAR sum FIXED(10,2); price FIXED(6,2);
hotels INTEGER; avg_price FIXED(6,2);
TRY
SET sum = 0; SET hotels = 0;
DECLARE functionresult CURSOR FOR
SELECT price FROM hotel.room,hotel.hotel WHERE zip = :zip AND
room.hno = hotel.hno AND type = 'single';
WHILE $rc = 0 DO BEGIN
FETCH functionresult INTO :price;
SET sum = sum + price;
SET hotels = hotels + 1;
END;
CATCH
IF $rc <> 100 THEN STOP ($rc, 'unexpected error');
CLOSE functionresult;
IF hotels > 0 THEN RETURN sum/hotels
ELSE RETURN NULL;

The avgprice database function determines the average price for single rooms in hotels that are located within the specified zip code range.

Explanation

· The input parameter is the zip code zip; the data type of the output value is specified after the keyword RETURNS.

· The SQL statements (the SELECT statement, for example) and control structures (WHILE statement and an IF statement, for example) that are required for executing the desired function are defined after the keyword AS.

· The variables required within the database function are defined after the keyword VAR.

· Troubleshooting: if an SQL error occurs in the statement list between TRY and CATCH, the system branches directly to the statement that follows CATCH.The actual troubleshooting routine can be programmed in this statement.

· SET can be used to assign values to the sum and hotels variables.

· The DECLARE CURSORstatement is used to define the named result table functionresult .

· The tables in the SELECT statement must always be complete, that is, with the owner specified. Make sure that the zip code is transferred as the parameter: :zip.

· The WHILE statement enables statements to be repeated in response to certain conditions.The statement is executed as long as the specified search condition is true.

· The FETCHstatement assigns the values from the current row of the result table functionresult to parameters.

· The $rc variable returns a numeric error code after the SELECT statement has been executed. The value 0 means that the SELECT statement was successfully executed.

· An IF statement first evaluates the search condition. If this is fulfilled, the statement specified in the THEN branch is executed. Otherwise, the statement in the ELSE branch (if defined) is executed.

· The CLOSEstatement deletes the result table functionresult.

· The output parameter is defined after the keyword RETURN.

See also:

CREATE FUNCTION Statement (create_function_statement)

Routine (routine)

Evaluating System Tables, FUNCTIONS

Calling Up a Database Function

To call up a database function, follow the procedure for calling up a predefined function.

When the hotel table with SQL Statements for the HOTEL Schema has been created and filled with data, you can try the following SELECT statement:

SELECT hno, hotel.avgprice(zip) avgprice FROM hotel.hotel WHERE hno < 100

Result

HNO | AVGPRICE
10 | 135
20 | 70
30 | 45
40 | 87.5
50 | 105
60 | 120
70 | 115
80 | 87.5
90 | 90

See also:

Database Function Call (dbfunction_call)

Dropping a Database Function

To drop a database function, use the DROP FUNCTION statement.

DROP FUNCTION hotel.avgprice

You can use this SQL statement to drop the database function definition.

See also:

DROP FUNCTION Statement (drop_function_statement)


Database Triggers (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Database Triggers

Database triggers are programs that implicitly start when an INSERT, UPDATE, or DELETE statement for a base table is executed. A trigger can contain several SQL statements. A series of control structures are also available for the application programmer. You can program loops or branches, for example, within a trigger.

If, for example, you define for a base table a trigger that is triggered each time an INSERT statement is executed, the actions defined within the trigger are automatically executed each time a new entry is inserted in this table. You can make the execution of a trigger dependent on particular preconditions. You can also formulate UPDATE triggers for changing individual columns only.

You can use triggers to check that values are suitable before entering them in a table or to save values before changing them, for example. When programming a trigger, you can therefore access both the new and the old column values.

Once you have defined a trigger, you have to assign it to a base table or individual columns and to an action such as INSERT, UPDATE, or DELETE.

To define a trigger for tables, you have to be the owner of the table in question and have the relevant authorization for carrying out the activities defined within the trigger.

If execution of a trigger fails, you can use ROLLBACK to reset the associated INSERT, UPDATE, or DELETE statement.

A trigger can call other triggers implicitly and database procedures explicitly.

Creating a Database Trigger

To create a database trigger, use the CREATE TRIGGER statement.

CREATE TRIGGER hotel_update FOR hotel.hotel AFTER UPDATE EXECUTE
(TRY
IF NEW.hno <> OLD.hno
THEN UPDATE hotel.room SET hno = :NEW.hno WHERE hno = :OLD.hno;
CATCH
IF $rc <> 100
THEN STOP ($rc, 'unexpected error');)

The trigger ensures that the hotel number in the room table is also changed when a hotel number is changed in the hotel table.

Explanation

· The trigger event UPDATE is specified after the keyword AFTER. The UPDATE event causes the trigger to be executed for each change made to a row in the hotel table.

· The SQL statements and control structures (in this example, IF statements) that are required for executing the desired trigger are defined after the keyword EXECUTE.

· Troubleshooting: if an SQL error occurs in the statement list between TRY and CATCH, the system branches directly to the statement that follows CATCH. The actual troubleshooting routine can be programmed in this statement.

· You can use the new hotel number NEW.hno and the old hotel number OLD.hno.

· The $rc variable returns a numeric error code after the UPDATE statement has been executed. The value 0 means that the statement was successfully executed.

· An IF statement first evaluates the search condition. If this is fulfilled, the statement specified in the THEN branch is executed. Otherwise, the statement in the ELSE branch (if defined) is executed.

See also:

CREATE TRIGGER Statement (create_trigger_statement)

Routine (routine)

Evaluating System Tables, TRIGGERS

Executing a Database Trigger

The database trigger hotel_update is automatically started as soon as changes are made to the hotel number in the hotel table, using an UPDATE statement.

Dropping a Database Trigger

To drop a database trigger, use the DROP TRIGGER statement.

DROP TRIGGER hotel_update OF hotel

You can use this SQL statement to drop the trigger definition; this does not affect the table contents.

See also:

DROP TRIGGER Statement (drop_trigger_statement)


Number Generators for Tables (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Number Generators for Tables

You can use the CREATE SEQUENCE statement to generate a sequence, and thus, in turn, an implicit number generator (automatically-generated sequence of numbers).

This is commonly used for generating a primary key, for example.

Each time you access a sequence, you can determine the next available value of the number generator and use it. You can get the values of the number generator from the pseudo columns NEXTVAL and CURRVAL. These values are always integers.

· NEXTVAL shows the next available value generated by the number generator.

· CURRVAL shows the current value generated by the number generator within the database session.

Using INSERT and UPDATE statements, the current and next available sequence values can be entered in any column of a table if the data type of the column allows it. It is not possible, however, to define the next available or current value as the DEFAULT value of a column. Both values must always be specified explicitly.

Creating a Sequence

...

...

Use the CREATE SEQUENCE statement to create the sequence sequ .

Enter the sequence name and the first sequence value (START WITH <integer>, default value 1). Specify the increment by which the next value in the sequence is to be generated (INCREMENT BY <integer>, default value 1)

CREATE SEQUENCE hotel.sequ
START WITH 1
INCREMENT BY 1

See also:

CREATE SEQUENCE Statement (create_sequence_statement)

Using a Sequence

For the following example, create the tables pers1 and pers2 .

CREATE TABLE hotel.pers1
(pno FIXED(6),
firstname CHAR(20),
name CHAR(20))
//
CREATE TABLE hotel.pers2
(pno FIXED(6),
firstname CHAR(20),
name CHAR(20))

One Number Generator for Different Tables

You can use the number generator generated with the sequ sequence in your SQL statements. To do so, enter the keyword NEXTVAL after the sequence name.

If you want to use the number generator in different tables, specify this in the desired tables with <sequence_name>.NEXTVAL

INSERT INTO hotel.pers1 VALUES (hotel.sequ.NEXTVAL,'Mary','Jackson')

//

INSERT INTO hotel.pers2 VALUES (hotel.sequ.NEXTVAL,'Billy','Jackson')

//

INSERT INTO hotel.pers1 VALUES (hotel.sequ.NEXTVAL,'Lucy','Baker')

//

INSERT INTO hotel.pers2 VALUES (hotel.sequ.NEXTVAL,'Henry','Baker')

//

INSERT INTO hotel.pers1 VALUES (hotel.sequ.NEXTVAL,'Anna','Miller')

//

INSERT INTO hotel.pers2 VALUES (hotel.sequ.NEXTVAL,'Mike','Miller')

//

INSERT INTO hotel.pers1 VALUES (hotel.sequ.NEXTVAL,'Peggy','Miller')

//

SELECT * FROM hotel.pers1

Result

PNO | FIRSTNAME | NAME
1 | Mary | Jackson
3 | Lucy | Baker
5 | Anna | Miller
7 | Peggy | Miller

SELECT * FROM hotel.pers2

Result

PNO | FIRSTNAME | NAME
2 | Billy | Jackson
4 | Henry | Baker
6 | Mike | Miller

Displaying the Current Value of the Number Generator

You can use the DUAL table, which is automatically generated by the database system, to display the current value of the number generator. The DUAL table can be used by all database users. As the DUAL table has only one row, you can use it to display the value of the number generator using a SELECT statement.

SELECT hotel.sequ.CURRVAL FROM dual

Result

 | EXPRESSION1
1 | 7

If <sequence_name>.NEXTVAL has not been used in the current database session, <sequence_name>.CURRVAL cannot be utilized.

See also:

Specification of Values (extended_value_spec)

Using a Number Generator Value More Than Once

One of the ways to utilize a value from a number generator more than once is as follows:

Enter the current value of the number generator <sequence_name>.CURRVAL in your SQL statement.

INSERT INTO hotel.pers1 VALUES (hotel.sequ.NEXTVAL,'Mary','Ford')

//

INSERT INTO hotel.pers2 VALUES (hotel.sequ.CURRVAL,'Mary','Ford')

//

SELECT * FROM hotel.pers1

Result

PNO | FIRSTNAME | NAME
1 | Mary | Jackson
3 | Lucy | Baker
5 | Anna | Miller
7 | Peggy | Miller
8 | Mary | Ford

SELECT * FROM hotel.pers2

Result

PNO | FIRSTNAME | NAME
2 | Billy | Jackson
4 | Henry | Baker
6 | Mike | Miller
8 | Mary | Ford

See also:

Number Generator for a Single Table Column

Dropping a Sequence

To delete a number generator, use the DROP SEQUENCE statement.

DROP SEQUENCE hotel.sequ

See also:

DROP SEQUENCE Statement (drop_sequence_statement)


Number Generator for a Single Table Column (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Number Generator for a Single Table Column

You can use the DEFAULT specification SERIAL(n) to create a number generator (automatically generated sequence of numbers) for a table column.

This is commonly used for generating a primary key, for example.

Creating a Number Generator

...

Create the pers3 table with the DEFAULT specification SERIAL(n).

If you use the keyword SERIAL without specifying a number, the default value for the start of the number generator is 1. If you want to start the number generator with the number n, you have to enter the number n explicitly after the keyword SERIAL: SERIAL(n).

CREATE TABLE hotel.pers3
(pno FIXED(10) DEFAULT SERIAL PRIMARY KEY,
name CHAR (20))

or

CREATE TABLE hotel.pers3
(pno SERIAL PRIMARY KEY,
name CHAR (20))

As the data type SERIAL is displayed in the form of FIXED(10) DEFAULT SERIAL, both CREATE TABLE statements return the same definition for the pers3 table. The first value generated by the number generator is the number 1.

See also:

DEFAULT Specification (default_spec)

Data Type (data_type)

Using the Number Generator

You can use the number generator in the pno column in your application.

You do not need to enter a value for the SERIAL column in INSERT statements; this is generated by the number generator.

The first value generated by the number generator in the example above is a 1. The value in the SERIAL column increases by 1 with each additional insertion of a value into the table.

INSERT hotel.pers3 (name) VALUES ('Baker')
//
INSERT hotel.pers3 (name) VALUES ('Miller')
//
SELECT * FROM hotel.pers3

Result

PNO | NAME
1 | Baker
2 | Miller

A column with the DEFAULT specification SERIAL cannot be changed.

A column with the DEFAULT specification SERIAL can also be a foreign key column. Such columns are actually ideally suited to this purpose as their values cannot be changed and are only used in the application for the purposes specified in the application logic applied to the column.

Displaying the Current Value of the Number Generator

You can use the DUAL table, which is automatically generated by the database system, to display the current value of the number generator. The DUAL table can be used by all database users. As the DUAL table has only one row, you can use it to display the value of the number generator using a SELECT statement.

You can query the current value of the number generator using <table_name>.CURRVAL where <table_name> is the name of the table that contains the DEFAULT specification SERIAL.

SELECT hotel.pers3.CURRVAL FROM dual

Result

 | EXPRESSION1
1 | 2

See also:

Number Generators for Tables


Data Manipulation (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Manipulation

For a complete syntax description of the SQL statements for data query, see Data Manipulation in the reference manual.

Below are just a few examples of key SQL statements for data manipulation.

Prerequisites

You need the HOTEL Demo Schema for the SQL Tutorial.

To log on to the database instance DEMODB, start the SQL Studio query tool as the database administrator MONA with the password RED.

Examples

Inserting, Changing, and Deleting Rows


Inserting, Changing, and Deleting Rows (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Inserting, Changing, and Deleting Rows

SQL statements for data manipulation (inserting, changing, and deleting rows) are described in the following section.

Inserting Rows

To insert rows, use the INSERT statement.

INSERT INTO hotel.city VALUES ('10018','New York','NY')

or

INSERT INTO hotel.city (zip,name,state) VALUES ('10017','New York','NY')

Rows are inserted in the hotel table (INSERT). The values that are to be inserted after the keyword VALUES are specified in parentheses.

If you do not specify a column name, the order of the values must match the order of the definitions in the columns. Both orders must have the same length and data type. You can write undefined values as NULL.

You can also copy data from one table to another using a SELECT statement.

...

    1.      If necessary, drop the person table.
DROP TABLE hotel.person

    2.      Create the person table:
CREATE TABLE hotel.person
(pno FIXED(6,0) PRIMARY KEY,
name CHAR(20),
city CHAR(20))

3. Fill the table with values from the city table.
INSERT INTO hotel.person
SELECT zip, state, name FROM hotel.city WHERE zip < '20000'

The person table is filled with information from the city table. You can check this using the following SELECT statement, for example:

SELECT pno, name state, city FROM hotel.person

Result

PNO | STATE | CITY
10017 | NY | New York
10018 | NY | New York
10019 | NY | New York
10580 | NY | New York
11788 | NY | Long Island
12203 | NY | Albany

See also:

INSERT Statement (insert_statement)

Changing Rows

To change rows, use the UPDATE statement. Note that all the rows in the table are changed if the WHERE clause is missing from the UPDATE statement.

UPDATE hotel.person
SET name = 'CITY'
WHERE pno = '10019'

In the person table, the column value for name is changed (UPDATE...SET...); however, only for the row specified in the WHERE clause. You can check this using the following SELECT statement, for example:

SELECT pno, name, city FROM hotel.person

Result

PNO | NAME | CITY
10017 | NY | New York
10018 | NY | New York
10019 | CITY | New York
10580 | NY | New York
11788 | NY | Long Island
12203 | NY | Albany

See also:

UPDATE Statement (update_statement)

Deleting Rows

To delete rows, use the DELETE statement.

DELETE FROM hotel.person
WHERE name = 'NY'

In the person table, rows are deleted (DELETE FROM...), that is, all the rows with the entry NY as the name (WHERE...) are deleted. You can check this using the following SELECT statement, for example:

SELECT pno, name, city FROM hotel.person

Result

PNO | NAME | CITY
10019 | CITY | New York

See also:

DELETE Statement (delete_statement)


Authorization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Authorization

For a complete syntax description of the SQL statements for authorization, see Authorization in the reference manual. Find out about the user concept of the database system (User, Authentication and Authorizations).

The database administrator (SYSDBA user) is created when a database instance is created. The database system administrator can generate additional database users, including database administrators. All database administrators can create database users and grant privileges. This enables you to control data access for each individual user.

Below are just a few examples of key SQL statements for authorization.

Prerequisites

You need the HOTEL Demo Schema for the SQL Tutorial.

To log on to the database instance DEMODB, start the SQL Studio query tool as the database administrator MONA with the password RED.

Examples of Database Users

If the DEMODB database was created with the default values, the database system administrator has the name DBADMIN and password SECRET.

The database user MONA was created with the following CREATE USER statement:

CREATE USER mona PASSWORD red DBA NOT EXCLUSIVE

· The name of the database user (MONA) is specified after the keywords CREATE USER and the password (RED) after the keyword PASSWORD.

· The user class DBA (Database Administrator) is defined for the database user MONA.

· NOT EXCLUSIVE specifies that the database administrator MONA is permitted to open several database sessions at the same time.

In the DEMODB database instance, the HOTEL schema belongs to database user MONA. This schema contains the tables city, customer, hotel, room, and reservation, as well as any further database objects created by database administrator MONA: indexes, database procedures, view tables, and so on.

Examples

· Database Users and Their Privileges

· Roles


Database Users and Their Privileges (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Database Users and Their Privileges

Database administrators can create additional database users and grant privileges.

Creating Database Users

Open a database session for the database administrator MONA and use the CREATE USER statement to create additional database users.

CREATE USER david PASSWORD blue RESOURCE

The database administrator MONA has created the database user DAVID with the password BLUE. The database user class RESOURCE has been defined for this database user.

CREATE USER boris PASSWORD pink STANDARD

The database administrator MONA has created the database user BORIS with the password PINK. The database user class STANDARD has been defined for this database user.

See also:

CREATE USER Statement (create_user_statement)

Changing the Database User Class

Open a database session for the database administrator MONA and use the ALTER USER statement to change the database user class.

ALTER USER boris RESOURCE

The database user class RESOURCE is defined for the database user BORIS.

See also:

ALTER USER Statement (alter_user_statement)

Changing the Password

Use the ALTER PASSWORD statement to change the password of a database user.

· Log on as the database system administrator (default values: DBADMIN/SECRET).
ALTER PASSWORD boris red
The password of the database user BORIS is changed to RED.

You can also use the ALTER PASSWORD statement as follows:

· Log on as the database user BORIS (BORIS/RED).
ALTER PASSWORD red TO pink
The password of the database user BORIS is changed to PINK.

See also:

ALTER PASSWORD Statement (alter_password_statement)

Granting Privileges

Open a database session for the database administrator MONA and use the GRANT statement to grant privileges.

GRANT SELECT, UPDATE, DELETE, INSERT ON hotel.customer TO david

The database administrator MONA administers the customer table in the HOTEL schema. MONA decides that the RESOURCE user DAVID is to be entitled to maintain customer data but not to make any changes to the structure of the table.

GRANT SELECT ON hotel.customer TO PUBLIC

All of the database users in the system are to be granted read access to the data in the customer table. You can use the keyword PUBLIC to grant privileges to all database users.

Check the privileges granted, on the basis of the information in the TABLEPRIVILEGES system table, for example. Log on to the database instance DEMODB as user DAVID.

SELECT * FROM DOMAIN.TABLEPRIVILEGES
WHERE schemaname = 'HOTEL' AND tablename = 'CUSTOMER'

Result

SCHEMANAME | OWNER | TABLENAME | GRANTOR | GRANTEE | PRIVILEGE | IS_GRANTABLE
HOTEL | MONA | CUSTOMER | MONA | DAVID | SELECT | NO
HOTEL | MONA | CUSTOMER | MONA | DAVID | UPDATE | NO
HOTEL | MONA | CUSTOMER | MONA | DAVID | INSERT | NO
HOTEL | MONA | CUSTOMER | MONA | DAVID | DELETE | NO
HOTEL | MONA | CUSTOMER | MONA | PUBLIC | SELECT | NO

See also:

GRANT Statement (grant_statement)

Evaluating System Tables, TABLEPRIVILEGES

Revoking Privileges

Open a database session for the database administrator MONA and use the REVOKE statement to revoke privileges.

REVOKE DELETE ON customer FROM david

The RESOURCE user DAVID is not to be permitted to delete rows from the customer table.

See also:

REVOKE Statement (revoke_statement)

Dropping Database Users

To drop database users, use the DROP USER statement.

DROP USER boris

If no cascade option or the CASCADE option CASCADE is specified, all the synonyms and tables of the user to be dropped, as well as all indexes, privileges, view tables, and so on based on these objects, are dropped together with the database user.

See also:

DROP USER Statement (drop_user_statement)


Roles (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Roles

A role is a group of privileges that can be granted to database users, user groups, or to other roles.

While privileges always apply, roles must be explicitly activated for each individual database session. Every user to whom roles have been assigned can also define which of the roles should be active in each database session. This definition can be changed after a database session has been opened.

Creating a Role

Open a database session for the database administrator MONA and use the CREATE ROLE statement to create a role.

CREATE ROLE role_1

//

CREATE ROLE role_2

//

CREATE ROLE role_3

The roles ROLE_1, ROLE_2, and ROLE_3 are created.

See also:

CREATE ROLE Statement (create_role_statement)

Granting Privileges

Open a database session for the database administrator MONA and use the GRANT statement to grant privileges.

GRANT SELECT, UPDATE, INSERT ON hotel.city TO role_1

The database administrator MONA manages the city table and decides that the SELECT, UPDATE, and INSERT authorizations are granted to ROLE_1 for the city table.

GRANT DELETE ON hotel.city TO role_2

The DELETE authorization is granted to ROLE_2 for the city table.

GRANT DELETE, ALTER ON hotel.city TO role_3

The DELETE and ALTER authorizations are granted to ROLE_3 for the city table.

See also:

GRANT Statement (grant_statement)

Granting a Role

Create the database users DAVID and BORIS as described in Database Users and Their Privileges.

Open a database session for the database administrator MONA and use the GRANT statement to grant the desired roles to a different database user.

GRANT role_1 TO david

//

GRANT role_2 TO david

//

GRANT role_3 to boris

ROLE_1 and ROLE_2 are granted to the database user DAVID.

The role ROLE_3 is assigned to the database user BORIS.

Defining Which Roles Are to Be Used

Open a database session for the database administrator MONA. Use the ALTER USER statement to define which of the roles that are granted to a database user are to be used when a database session is opened.

ALTER USER david DEFAULT ROLE role_1

ALTER USER boris DEFAULT ROLE role_3

ROLE_1 is activated for database user DAVID when he opens a database session, for BORIS it is ROLE_3.

See also:

ALTER USER Statement (alter_user_statement)

During a database session, you can use the SET statement to activate additional roles granted to a database user.

Open a database session for the database user DAVID.

SET ROLE ALL

All roles (ROLE_1 and ROLE_2) are to be activated.

See also:

SET Statement (set_statement)

Revoking Privileges

Open a database session for the database administrator MONA and use the REVOKE statement to revoke privileges.

REVOKE DELETE ON hotel.city FROM ROLE_3

ROLE_3 revokes the DELETE privilege.

See also:

REVOKE Statement (revoke_statement)

Evaluating System Tables, ROLES, SESSION_ROLES, ROLEPRIVILEGES

Dropping Roles

Open a database session for the database administrator MONA and use the DROP ROLE statement to drop roles.

DROP ROLE ROLE_3

ROLE_3 is dropped.

See also:

DROP ROLE Statement (drop_role_statement)


Evaluating System Tables (Examples) (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Evaluating System Tables (Examples)

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Examples

There are example evaluations for the following system tables:

ACTIVECONFIGURATION

CACHESTATISTICS

COLUMNS

CONSTRAINTS

DATASTATISTICS

DATAVOLUMES

DBPROCEDURES

DBPROCPARAMS

DOMAINCONSTRAINTS

DOMAINS

FOREIGNKEYCOLUMNS

FOREIGNKEYS

FUNCTIONS

INDEXCOLUMNS

INDEXES

INSTANCE

LOCKS

LOGQUEUESTATISTICS

LOGSTATISTICS

MAPCHARSETS

ROLEPRIVILEGES

ROLES

SEQUENCES

SESSION_ROLES

SESSIONS

SYNONYMS

TABLEPRIVILEGES

TABLES

TRIGGERS

USERS

VERSION

VIEWCOLUMNS

VIEWDEFS

VIEWS

See also:

Database Terms

Definitions of the System Tables


Reference Manual (SAP Library - MaxDB Library)

 Entering content frame

Reference Manual

This document describes the syntax and semantics of SQL statements in the MaxDB database system.

An SQL statement carries out an operation on the database instance. SQL statements have been divided into groups according to the type of operation they perform as follows:

· Data Definition

· Authorization

· Data Manipulation

· Data Query

· Transactions

· Statistics

Overview Information

· SQL Statements: Overview

· Frequently Used Syntax Elements: Overview

· Functions: Overview

· Names: Overview

· Privileges: Overview

· Syntax List
The syntax notation used in this document is BNF.

· System Tables

Examples of SQL Statements

The examples in the reference manual are based on the HOTEL database schema described in the SQL tutorial.

· SQL Tutorial

· Variables and Examples

Information About the Database System

· Concepts of the Database System

· Glossary

· Technical Restrictions

· Restrictions for SQL Statements

· SQL Mode ORACLE


Data definition (SAP Library - MaxDB Library)

 Entering content frame

Data definition

The following sections contain an introduction to the data definition language (DDL) used by the database system.

SQL statements for data definition

CREATE TABLE statement | DROP TABLE statement | ALTER TABLE Statement RENAME TABLE statement RENAME COLUMN Statement EXISTS TABLE statement
CREATE SCHEMA Statement | RENAME SCHEMA statement | DROP SCHEMA statement
CREATE DOMAIN statement | DROP DOMAIN Statement |
CREATE SEQUENCE Statement | DROP SEQUENCE statement |
CREATE SYNONYM statement | DROP SYNONYM Statement | RENAME SYNONYM Statement
CREATE VIEW statement | DROP VIEW statement | RENAME VIEW statement
CREATE INDEX statement | DROP INDEX statement | ALTER INDEX statement RENAME INDEX statement
CREATE DBPROC[EDURE] Statement | DROP DBPROC[EDURE] Statement |
CREATE SYSTEM TRIGGER Statement | DROP SYSTEM TRIGGER Statement |
CREATE FUNCTION statement | DROP FUNCTION Statement |
CREATE TRIGGER statement | DROP TRIGGER statement |
COMMENT ON statement |  |

Examples

SQL Tutorial, Data Definition


Ensuring Data Integrity (SAP Library - MaxDB Library)

 Entering content frame

Ensuring Data Integrity

The database system provides you with the following tools to ensure data integrity.

· Integrity rules: integrity rules that refer to a table can also be specified (see CONSTRAINT definition).

· Key: a key comprising one or more columns can be defined for each table. The database system ensures that each key is unique. A key can also consist of columns of different data types (see key definition ).

· UNIQUE definition: the uniqueness of the values in other columns and column combinations can also be ensured by using other mechanisms (see UNIQUE definition for "alternate keys").

· NOT NULL: by specifying NOT NULL, you can ensure that the NULL value is not accepted in individual columns (see column definition).

· DEFAULT definition: you can define default values for each column (see DEFAULT specification).

· Referential integrity conditions: by specifying referential integrity conditions, you can declare deletion and existence dependencies between the rows in two tables (see referential CONSTRAINT definition).

· Database procedures and triggers: complex integrity rules that require access to further tables can be formulated with database procedures or triggers.


CREATE TABLE statement (SAP Library - MaxDB Library)

 Entering content frame

CREATE TABLE statement

A CREATE TABLE statement (create_table_statement) defines a base table. There are three syntactic options for creating a table.

Syntax

<create_table_statement> ::=
CREATE TABLE <table_name> (<column_definition>[,<table_description_element>,...])
[IGNORE ROLLBACK] [<sample_definition>]
| CREATE TABLE <table_name> [(<table_description_element>,...)]
[IGNORE ROLLBACK] [<sample_definition>] AS <query_expression> [<duplicates_clause> ]
| CREATE TABLE <table_name> LIKE <table_name> [IGNORE ROLLBACK]

<table_description_element> ::=
<column_definition>
| <constraint_definition>
| <key_definition>
| <referential_constraint_definition>
| <unique_definition>

Examples

SQL Tutorial, Tables, Primary Key, Constraints, Foreign Key Dependencies Between Tables, Indexes, Domains

Explanation

Executing a CREATE TABLE statement causes data that describes the table (or base table) to be stored in the database catalog. This data is called metadata.

A CREATE TABLE statement cannot contain more than one key definition.

If the name of the schema is not specified in the table name (table_name) , the current schema is assumed implicitly. The table name must not be identical to the name of an existing table in the schema.

The current user must have the CREATEIN privilege for the schema specified either implicitly or explicitly in the table name. The current user becomes the owner of the created table. The user obtains the INSERT, UPDATE, DELETE and SELECT privilege for this table. If the table is not a temporary table, the owner is also granted the INDEX, REFERENCES, and ALTER privilege.

See also:

Restrictions for SQL Statements

Schema Assignment of a Table

· The schema name is specified before the table name: temporary tables are identified by the schema TEMP before their name.
If a table belongs to a schema other than TEMP, the current user must have the CREATEIN privilege for the specified schema.

· The schema name is not specified: the table belongs to the current schema. This is either the schema that bears the name of the current user or the schema specified in the SET CURRENT SCHEMA statement.

CREATE TABLE … AS <query_expression> …

· If no QUERY expression (query_expression) is specified, the CREATE TABLE statement must contain at least one column definition (column_definition).

· If a query expression is specified, a base table is defined with the same structure as the result table defined by the QUERY expression.
If column definitions are specified, the column definition may only consist of a column name and the number of column definitions must be equal to the number of columns in the result table generated by the QUERY expression.
The data_type of the ith column in the base table is identical to that of the ith column in the result table generated by the QUERY expression.
The result table may also contain LONG columns.
If no column definitions are specified, the column names of the result table are used.
The rows of the result table are implicitly inserted in the generated base table. The DUPLICATES clause can be used to determine how key collisions are handled.
The QUERY expression is subject to certain restrictions that also apply to the INSERT statement.

LIKE <table_name>

If LIKE <table_name> is specified, an empty base table is created which, from the point of view of the current user, has the same structure as the source table, that is, it has all the columns with the same column names and definitions as the source table. This view does not necessarily have to be identical to the actual structure of the source table, since the user may not know all the columns because of privilege limitations.

The specified table must be either a base table, a view table, or a synonym. The user must have at least one privilege for this table.

The current user is the owner of the base table.

If all the key columns of the table specified after LIKE are contained in the base table, they form the key columns in this table. Otherwise, the database system implicitly inserts a key column SYSKEY CHAR(8) BYTE which then represents the key for the base table.

DEFAULT specifications or CONSTRAINT definitions for columns that are copied to the base table also apply to the new base table.

IGNORE ROLLBACK

IGNORE ROLLBACK is optional and can only be specified for temporary tables. Temporary tables with this characteristic are not affected by the transaction mechanism; i.e., changes affecting these tables are not reversed by rolling back a transaction.

SQL statements for changing table properties

· Adding and Deleting Columns; Changing Data Types; Changing the CONSTRAINT Definition: ALTER TABLE statement

· Renaming columns: RENAME COLUMN statement

· Renaming the table: RENAME TABLE statement


Column Definition (column_definition) (SAP Library - MaxDB Library)

 Entering content frame

Column Definition (column_definition)

A column definition (column_definition) defines a column in a table. The name and data type of each column are defined by the column name and data type. The column names must be unique within a base table.

Syntax

<column_definition> ::= <column_name> <data_type> [<column_attributes>]
| <column_name> <domain_name> [<column_attributes>]

Explanation

If the [PRIMARY] KEY column attribute is specified, the CREATE TABLE statement must not contain a key definition.

A column definition may only consist of a column name if a query expression is used in the CREATE TABLE statement.

<domain_name>

If a column name and domain name domain_name, in other words, (the name of a value range) are specified, the domain name must identify an existing domain. The data type and the length of the domain are assigned to the specified column. If the domain has a constraint_definition, the effect is the same as if the corresponding CONSTRAINT definition were specified in the column attribute of the column definition.

NOT NULL Columns

Columns, which are part of the key, or for which NOT NULL was defined, are called NOT NULL columns. A NULL value cannot be inserted in these columns.

· Mandatory columns: NOT NULL columns for which a DEFAULT specification has not been declared as a column attribute are called mandatory columns. Whenever rows are inserted, values must be specified for these columns.

· Optional columns: columns that are not mandatory are referred to as optional columns. A value does not have to be specified when a row is inserted in these columns. If a DEFAULT specification exists for the column, the default value is entered in the column. If there is no DEFAULT specification, a NULL value is entered in the column.

See also:

Memory Requirements of a Column Value as a Function of the Data Type

Restrictions for SQL Statements


Data Type (data_type) (SAP Library - MaxDB Library)

 Entering content frame

Data Type (data_type)

A column definition (column_definition) can contain both column_name and data types.

The following data types can be distinguished:

· NULL value

· Special NULL value

· Non-NULL value
Character String, LONG Column, Number, Date Value, Time Value, Time Stamp Value, BOOLEAN

Non-NULL values can be specified using the syntax element data_type .

Syntax

<data_type> ::=
CHAR[ACTER] [(<unsigned_integer>)] [ASCII | BYTE | UNICODE]
| VARCHAR [(<unsigned_integer>)] [ASCII | BYTE | UNICODE]
| LONG [VARCHAR] [ASCII | BYTE | UNICODE]
| BOOLEAN
| FIXED (<unsigned_integer> [,<unsigned_integer>])
| FLOAT (<unsigned_integer>)
| INT[EGER] | SMALLINT
| DATE | TIME | TIMESTAMP

A code attribute can also be specified for the following character strings (ASCII, BYTE, or UNICODE) as part of a column_definition if necessary: CHAR[ACTER], VARCHAR, LONG[VARCHAR]

Examples

SQL Tutorial, Tables, Number Generator for a Single Column of a Table

Explanation

In addition to the data types defined above, the following data types are also permitted in a column definition. The table below also indicates the way these are mapped to the above-mentioned data types.

Data Type | Is Mapped To
BINARY(p) | FIXED(p)
DEC[IMAL](p,s) | FIXED(p,s)
DEC[IMAL](p) | FIXED(p)
DEC[IMAL] | FIXED(5)
DOUBLE PRECISION | FLOAT(38)
FLOAT | FLOAT(16)
FLOAT(39..64) | FLOAT(38)
LONG VARCHAR | LONG
NUMERIC(p,s) | FIXED(p,s)
NUMERIC(p) | FIXED(p)
NUMERIC | FIXED(5)
REAL(p) | FLOAT(p)
REAL | FLOAT(16)
SERIAL | FIXED(10) DEFAULT SERIAL
SERIAL(p) | FIXED(10) DEFAULT SERIAL(p)

Memory Requirements of a Column Value According to Data Type

Note that, in the column definition (column_definition), the memory requirement of a column value depends on the data type. You can get a rough idea of the memory requirement using the following table. Please note that these values are intended as guidance values and are applicable in most cases but may vary depending on your system configuration.

Data Type | Memory Requirements of a Column Value in Bytes for Data Type
FIXED(p,s) | (p+1) DIV 2 + 2
FLOAT(p) | (p+1) DIV 2 + 2
BOOLEAN | 2
DATE | 9
TIME | 9
TIMESTAMP | 21
LONG | 9
CHAR(n); n<=30 | n+1
CHAR(n); 30<n<=1023; key column | n+1
CHAR(n); 30<n<=254; no key column | n+2
CHAR(n); 254<n; no key column | n+3
CHAR(n) UNICODE; n<=15 | 2*n+1
CHAR(n) UNICODE; 15<n<=511; key column | 2*n+1
CHAR(n) UNICODE; 15<n<=127; no key column | 2*n+2
CHAR(n) UNICODE; 127<n; no key column | 2*n+3
VARCHAR(n); n<=1023; key column | n+1
VARCHAR(n); n<=254; no key column | n+2
VARCHAR(n); 254<n; no key column | n+3
VARCHAR(n) UNICODE; n<=511; key column | 2*n+1
VARCHAR(n) UNICODE; n<=127; no key column | 2*n+2
VARCHAR(n) UNICODE; 127<n; no key column | 2*n+3


CHAR[ACTER] (SAP Library - MaxDB Library)

 Entering content frame

CHAR[ACTER]

The CHAR[ACTER] data type defines an alphanumeric column. Specifying the length attribute n is optional. If no other length attribute is specified, then n=1.

CHAR[ACTER] [(n)]: 0<n<=8000
CHAR[ACTER] [(n)] UNICODE: 0<n<=4000

The database system determines, in accordance with n, whether the values in the column are stored with a fixed or variable length. If you want to store the values in a variable length regardless of the value of n, you must use VARCHAR.

The data type CHAR[ACTER] is specified in column definition, with a code attribute, if required.


VARCHAR (SAP Library - MaxDB Library)

 Entering content frame

VARCHAR

The data type VARCHAR defines an alphanumeric column. Specifying the length attribute n is optional. If no other length attribute is specified, then n=1.

VARCHAR [(n)]: 0<n<=8000
VARCHAR [(n)] UNICODE: 0<n<=4000

Use VARCHAR (n) if the values in the column are to be stored with a variable length, irrespective of n.

The data type VARCHAR is specified in the column definition, with a code attribute, if required.


LONG[VARCHAR] (SAP Library - MaxDB Library)

 Entering content frame

LONG[VARCHAR]

The LONG [VARCHAR] data type is used to define an alphanumeric column of any length (not for temporary tables). The LONG data type (also known as BLOB, Binary Large Object) is specified in the column definition, where necessary with a code attribute.

· LONG [VARCHAR] [ASCII | BYTE]: A maximum of 2 GB of characters can be written in a LONG column.

· LONG[VARCHAR] UNICODE: A maximum of 2 GB bytes can be written in a LONG column.

Explanation

You can only use a few functions on a LONG column: DECODE, LENGTH and SUBSTR.

LONG columns cannot be compared to one another. The contents of LONG columns cannot be compared to character strings or other data types.

LONG columns can only contain as a column attribute NOT NULL or a DEFAULT specification.

LONG columns can be used in the following SQL statements and syntax elements:

· INSERT Statement

· UPDATE Statement

· NULL Value

· Selected Columns


Code Attribute (SAP Library - MaxDB Library)

 Entering content frame

Code Attribute

For column values with the following data types, a code attribute can be entered as part of a column definition, if required: CHAR[ACTER], VARCHAR, LONG[VARCHAR].

A code attribute defines the sort sequence to be used for comparing values.

Code Attribute | Column Values
No code attribute | The column values have the code attribute defined in the database system.
ASCII | The column values are stored in ASCII code.
BYTE | The column values are stored in a code, that is, the column values are not converted by the database system.
UNICODE | The application data in a table column is stored in UNICODE.

If you do not specify a code attribute, the code defined in the database system is used. The code can be defined for specific users or globally using the following options:

· The code can be defined for specific users using appropriate SQL statements (for more information, see: CREATE/ALTER USER Statement or CREATE/ALTER USERGROUP Statement).

· The code can be defined globally during the installation of the database system using the special database parameter DEFAULT_CODE.

The code defined for a user overrides the code specified globally in the database system.


BOOLEAN (SAP Library - MaxDB Library)

 Entering content frame

BOOLEAN

The BOOLEAN data type is defined for the column. A BOOLEAN value can only have one of the two states TRUE or FALSE, or the NULL value. A BOOLEAN value can be compared only with other BOOLEAN values.

The BOOLEAN data type is specified when the column is defined.


FIXED (SAP Library - MaxDB Library)

 Entering content frame

FIXED

The data type FIXED (p,s) defines a fixed point number (fixed_point_literal). A column is defined that has a fixed point number with precision p and s number of decimal places (0<p<=38, s<=p). If no s is specified, it is assumed that the decimal places are 0.

The data type FIXED is specified when columns are defined .


FLOAT (SAP Library - MaxDB Library)

 Entering content frame

FLOAT

The data type FLOAT (p) defines a floating point number (floating_point_literal). A column is defined that has a floating point number with precision p (0<p<=38).

The data type FLOAT is specified when columns are defined .


INT[EGER] (SAP Library - MaxDB Library)

 Entering content frame

INT[EGER]

The data type INT[EGER] is the same as the data type FIXED(10.0). In contrast to data type FIXED(10.0), however, only values between -2147483648 and 2147483647 are permitted for the data type INT[EGER].

The data type INT[EGER] is specified when columns are defined .


SMALLINT (SAP Library - MaxDB Library)

 Entering content frame

SMALLINT

The data type SMALLINT is the same as FIXED (5.0). Its permitted values are between -32768 and 32767.

The data type SMALLINT is specified when columns are defined .


DATE (Date Value) (SAP Library - MaxDB Library)

 Entering content frame

DATE (Date Value)

The DATE data type defines an alphanumeric column in which date values can be stored.

A date value is a special character string. A date value can be compared to other date values and to character strings with the code attributes ASCII and UNICODE.

The data type DATE is specified when columns are defined.

See also:

Date and Time Format (datetimeformat)


TIME (Time Value) (SAP Library - MaxDB Library)

 Entering content frame

TIME (Time Value)

The TIME data type defines an alphanumeric column, in which time values can be stored.

A time value is a special character string and can be compared with other time values and to character strings with the code attributes ASCII and UNICODE.

The data type TIME is specified when columns are defined .

See also:

Date and Time Format (datetimeformat)


TIMESTAMP (Time Stamp Value) (SAP Library - MaxDB Library)

 Entering content frame

TIMESTAMP (Time Stamp Value)

The TIMESTAMP data type defines an alphanumeric column, in which time values can be stored.

A time stamp value is a special character string . A time stamp consists of a date value and time value and a microsecond specification.

A time stamp value can be compared to other time stamp values and to character strings with the code attributes ASCII and UNICODE.

The data type TIMESTAMP is specified when columns are defined .

See also:

Date and Time Format (datetimeformat)


NULL Value (SAP Library - MaxDB Library)

 Entering content frame

NULL Value

The data type NULL value (unspecified value) is a special value. Its relationship to any other value is always unknown.


Special NULL value (SAP Library - MaxDB Library)

 Entering content frame

Special NULL value

A special NULL value is a special data type and is the result of arithmetic operations that lead to an overflow or a division by 0.

The special NULL value is only permitted for output columns and for columns in the ORDER clause. If an overflow occurs in an arithmetic operation or a division by 0 at another point, the SQL statement is abnormally terminated.

The comparison of a special NULL value with any value is always undefined.

As far as sorting is concerned, the special NULL value is greater than all non-NULL values, but less than the NULL value.


Number (SAP Library - MaxDB Library)

 Entering content frame

Number

A number is a special data type. There are fixed point and floating point numbers:

· Fixed point number

A fixed point number is described by the number of significant digits and the scale. The maximum number of significant digits is 38.

Examples: FIXED , INT[EGER] , SMALLINT

· Floating point number

A floating point number consists of a mantissa and an exponent. The mantissa may have up to 38 significant digits. The valid range of values for floating point numbers consists of the intervals from ‑9. 9999999999999999999999999999999999999E +62 to ‑1E-64 and from +1E-64 to +9. 9999999999999999999999999999999999999E +62 and the value 0.0.

Example: FLOAT

All numbers can be compared to one another.


Character String (SAP Library - MaxDB Library)

 Entering content frame

Character String

A character string is a data type that consists of a series of alphanumeric characters.

Examples: CHAR[ACTER], VARCHAR, DATE, TIME, TIMESTAMP

In a column definition, a code attribute can be entered for the data types CHAR[ACTER] and VARCHAR.

The following comparison options exist for the data types CHAR[ACTER] and VARCHAR:

Character strings with the same code attribute | These character strings can be compared to one another.
Character strings with the code attributes ASCII or UNICODE | These character strings are comparable with the character strings of code attributes ASCII and UNICODE, and with data, time, and timestamp values.


Column Attributes (column_attributes) (SAP Library - MaxDB Library)

 Entering content frame

Column Attributes (column_attributes)

A column definition can contain the column name (column_name) and column attributes (column_attributes).

Syntax

<column_attributes> ::= [<key_or_not_null_spec>] [<default_spec>] [UNIQUE] [<constraint_definition>]
[REFERENCES <referenced_table> [(<referenced_column>)] [<delete_rule>]]

<key_or_not_null_spec> ::= [PRIMARY] KEY | NOT NULL [WITH DEFAULT]

<referenced_table> ::= <table_name>

<referenced_column> ::= <column_name>

Explanation

A CONSTRAINT definition constraint_definition defines a condition that all column values in the column defined by the column definition column_definition must fulfill.

Specifying [REFERENCES <referenced_table> [(<referenced_column>)] [<delete_rule>]has the same effect as specifying the referential CONSTRAINT definition FOREIGN KEY [<referential_constraint_name>] (<referencing_column>) REFERENCES <referenced_table> [(<referenced_column>,...)][<delete_rule>]

referenced_table

referenced_column

referenced table

referenced column

LONG data type: you may only specify NOT NULL or a DEFAULT specification as a column attribute for LONG columns.

UNIQUE

The UNIQUE column attribute determines the uniqueness of column values (see also CREATE INDEX statement).

[PRIMARY] KEY

The [PRIMARY] KEY and UNIQUE column attributes must not be used together in a column definition.

If the [PRIMARY] KEY column attribute is specified, the CREATE TABLE statement must not contain a key definition.

If the KEY column attribute is specified, this column is part of the key of a table and is called the key column. The database system ensures that the key values in a table are unique. To improve performance, the key should start with key columns which can assume many different values and which are to be used frequently in conditions with the "=" operator.

See also:

Restrictions for SQL Statements

If a table is defined without a key column, the database system implicitly creates a key column SYSKEY CHAR(8) BYTE. This column is not visible with a SELECT *. However, it can be specified explicitly and has then the same function as a key column. The SYSKEY column can be used to obtain unique keys generated by the database system. The keys are in ascending order, thus reflecting the order of insertion in the table. The key values in the SYSKEY column are only unique within a table; that is, the SYSKEY column in two different tables may contain the same values. If a unique key is desired across the entire database system, a key column of the data type CHAR(8) BYTE with the DEFAULT specification STAMP can be defined.

NOT NULL

· NOT NULL must not be used together with the DEFAULT specification NULL.

· NOT NULL WITH DEFAULT defines a default value that is dependent on the data type of the column. NOT NULL WITH DEFAULT must not be used with any of the DEFAULT specifications.

Column Data Type | DEFAULT Value
CHAR (n); VARCHAR (n) | ' '
CHAR(n) BYTE; VARCHAR(n) BYTE | X'00'
FIXED(p,s), INT, SMALLINT, FLOAT(p) | 0
DATE | DATE
TIME | TIME
TIMESTAMP | TIMESTAMP
BOOLEAN | FALSE


CONSTRAINT definition (SAP Library - MaxDB Library)

 Entering content frame

CONSTRAINT definition

A CONSTRAINT definition (constraint_definition) defines an integrity condition that must be fulfilled by all the rows in one table.

Syntax

<constraint_definition> ::= CHECK <search_condition>
| CONSTRAINT <search_condition>
| CONSTRAINT <constraint_name> CHECK <search_condition>

Examples

SQL Tutorial, Constraints

Explanation

A CONSTRAINT definition defines an integrity condition that must be fulfilled by all the column values in the columns defined by the column definition with CONSTRAINT definition.

The CONSTRAINT definition in a column is checked when a row is inserted and a column changed that occurs in the CONSTRAINT definition. If the CONSTRAINT definition is violated, the INSERT or UPDATE statement fails.

When you define a constraint, you specify implicitly that the NULL value is not permitted as an input.

The search condition (search_condition) of the CONSTRAINT definition must not contain a subquery and must only contain column names in the form column_name.

<constraint_name>

· No constraint name specified:
The database system assigns a constraint name that is unique for the table in question.

· Constraint name specified:
The constraint name must be different to all other constraint names for this table.

<search_condition>

The number of columns in a search condition plays a role.

· The search condition contains only one column name in the table:
When the table is created (CREATE TABLE statement), you can check whether an additional DEFAULT value specified as a column attribute fulfills the search condition. If it is not true, the CREATE TABLE statement fails.

· The search condition contains more than one column name in the table:
When the table is created (CREATE TABLE statement), it is not possible to decide whether DEFAULT values of the table columns fulfill the search condition. In this case, an attempt to insert DEFAULT values in the table when an INSERT or UPDATE statement is executed may fail.

See also:

Ensuring Data Integrity


Referential CONSTRAINT Definition (referential_constraint_definition)

A referential CONSTRAINT definition (referential_constraint_definition) defines an integrity condition that must be satisfied by all the rows in two tables. The resultant dependency between two tables affects changes to the rows contained in them.

Syntax

<referential_constraint_definition> ::=
FOREIGN KEY [<referential_constraint_name>] (<referencing_column>,...)
REFERENCES <referenced_table> [(<referenced_column>,...)] [<delete_rule>]

<referencing_column> ::= <column_name>
<referenced_table> ::= <table_name>
<referenced_column> ::= <column_name>

referenced_table referenced_column | Reference table, referenced column (table/column that is to be addressed)
referencing_column | Referencing column (column that establishes the link to the column that is to be addressed)

Examples

SQL Tutorial, Foreign Key Dependencies Between Tables

Explanation

A referential CONSTRAINT definition can be used in a CREATE TABLE statement or ALTER TABLE statement (ADD definition). The table specified in the corresponding statement (table_name) is referred to in the following sections as the referencing table.

Name of a Referential Constraint (referential_constraint_name)

The name of a referential constraint can be specified after the keywords FOREIGN KEY.

· If the name of a referential constraint is specified, it must be different from all other names of referential constraints for the referencing table.

· If no referential constraint name is specified, the database system assigns a unique name (based on the referencing table).

Referencing Columns (referencing_column)

The referencing columns (referencing_column)are specified in the referential CONSTRAINT definition. The referencing columns must denote columns in the referencing table and must all be different. They are also called foreign key columns.

Referenced Columns (referenced_column)

· If no referencing columns are specified, the result is the same as if the key columns in the referenced table (referenced_table)were specified in the defined sequence.

· If referenced columns are specified that are not the key in the referencing table, the referenced table must have a UNIQUE definition whose column names and sequence match those of the referenced columns.

Relationship Between Referenced and Referencing Columns:

· The number of referenced columns must be equal to the number of referencing columns.

· The nth referencing column corresponds to the nth referenced column.

· The data type and the length of each referencing column must match the data type and length of the corresponding referenced column.

The referencing table and the referenced table must be base tables, but not temporary base tables.

The current user must have the ALTER privilege for the referencing table and the REFERENCE privilege for the referenced table.

Inserting and Modifying Rows in the Referenced Table

The following restrictions apply when rows in the referencing table are added or modified:

Let Z be an inserted or modified row. Rows can only be inserted or modified if one of the following conditions is fulfilled for each associated referenced table (referenced_table):

· Z is a matching row.

· Z contains a NULL value in one of the referencing columns (referencing_column).

· The referential CONSTRAINT definition defines the DELETE rule ON DEFAULT SET DEFAULT, and Z contains the DEFAULT value in each referencing column.

When an INSERT or UPDATE statement is applied to a referencing table, the database system uses a blocking behavior for the referenced table that corresponds to isolation level 1, irrespective of the isolation level defined for the current session.
When a DELETE statement is applied to a referenced table, the database system uses a locking behavior that corresponds to isolation level 3.

Matching Row

A row in the referencing table is called a matching row of a row in the referenced table (referenced_table) if the values of the corresponding referencing columns (referencing_column)and referenced columns (referenced_column) are identical.

A referential CONSTRAINT definition defines a 1:n relationship between two tables. This means that more than one matching row can exist for each row in the referenced table.

A row in the referenced table in a referenced column cannot be changed if at least one matching row exists.

CASCADE Dependency

A table T* is CASCADE dependent on table T if a series of referential CONSTRAINT definitions R1, R2, ..., Rn (n>=1) exist where:

· T* is the referencing table of R1

· T is the referenced table (referenced_table) of Rn

· All referential CONSTRAINT definitions use CASCADE.

· For i=1,...,n-1, n>1 is the referenced table of Ri is equal to the referencing table of Ri+1

Let R1 and R2 be two different referential CONSTRAINT definitions with the same referencing table S. T1 denotes the referenced table of R1, T2 denotes the referenced table of R2.

If T1 and T2 are identical, or if a table T exists so that T1 and T2 are CASCADE dependent on T, then R1 and R2 must both specify either CASCADE or RESTRICT.

There are different sequences of referential CONSTRAINT definitions that link the tables S and T. A DELETE statement on table T results in an action in table S. In order to ensure that the result of the DELETE statement does not depend on which of the two sequences of referential CONSTRAINT definitions is processed, the above restriction was selected for R1 and R2.

Reference Cycle

A reference cycle is a sequence of referential CONSTRAINT definitions R1, R2,...,Rn where n>1, to which the following conditions apply:

· For i=1,...,n-1 the referenced table (referenced_table) of Ri is equal to the referencing table of Ri+1.

· The referenced table of Rn is the referencing table of R1.

A reference cycle in which all of the referential CONSTRAINT definitions specify CASCADE is not allowed.

A reference cycle in which one referential CONSTRAINT definition does not specify CASCADE and all other referential CONSTRAINT definitions specify CASCADE is not allowed.

Self-Referencing CONSTRAINT Definition

A referential CONSTRAINT definition is self-referencing if the referenced (referenced_table) and referencing tables are identical.
With self-referencing referential CONSTRAINT definitions, the order in which a DELETE statement is processed can be important.

Specifying CASCADE: all of the rows affected by the DELETE statement are first deleted irrespective of the referential CONSTRAINT conditions. All matching rows in the rows that have just been deleted are then also deleted. As a result, all of the matching rows in the previous deletion operation are deleted, etc.

Specifying SET NULL or SET DEFAULT: all of the rows affected by the DELETE statement are first deleted irrespective of the referential CONSTRAINT conditions. Following this, SET NULL or SET DEFAULT is applied to the matching row.

See also:

Ensuring Data Integrity


Key definition (SAP Library - MaxDB Library)

 Entering content frame

Key definition

A key definition in a CREATE TABLE statement or an ALTER TABLE statement defines the key in a base table. The key definition is introduced by the keywords PRIMARY KEY.

Syntax

<key_definition> ::= PRIMARY KEY (<column_name>,...)

Examples

SQL Tutorial, Primary Key

Explanation

The column name column_name must identify a column in the base table. The specified column names are key columns in the table.

A key column must not identify a column of the data type LONG and is always a NOT NULL column. The database system ensures that no key column has a NULL value and that no two rows of the table have the same values in all key columns.

See also:

Restrictions for SQL Statements


UNIQUE Definition (unique_definition) (SAP Library - MaxDB Library)

 Entering content frame

UNIQUE Definition (unique_definition)

A UNIQUE definition (unique_definition) in the CREATE TABLE statement defines the uniqueness of column value combinations.

Syntax

<unique_definition> ::= [CONSTRAINT <index_name>] UNIQUE (<column_name>,...)

Examples

SQL Tutorial, Indexes

Explanation

Specifying a UNIQUE definition in a CREATE TABLE statement has the same effect as specifying the CREATE TABLE statement without a UNIQUE definition, but with a CREATE INDEX statement with UNIQUE.

· Index name specified: The generated index is stored under this name in the database catalog.

· No index name: The database system assigns a unique index name to the index.


DROP TABLE statement (SAP Library - MaxDB Library)

 Entering content frame

DROP TABLE statement

A DROP TABLE statement (drop_table_statement) drops a base table.

Syntax

<drop_table_statement> ::= DROP TABLE <table_name> [<cascade_option>]

Examples

SQL Tutorial, Tables

Explanation

If the name of the schema is not specified in the table name, the current schema is accepted/used. The table name must be the name of an existing base table. The current user must be the owner of the base table or have the DROPIN privilege for the schema to which the table to be dropped belongs.

All of the metadata and rows in the base table are dropped, along with the view tables, indexes, privileges, synonyms, and referential CONSTRAINT definitions derived from the base table.

If all of the data that is linked to this base table by means of a referential CONSTRAINT definition with a DELETE rule is processed according to the specified DELETE rule, a DELETE statement must first be executed for this base table, followed by the DROP TABLE statement.

<cascade_option>

If no CASCADE option is specified, the DROP TABLE statement is executed independently of the dependencies.

· RESTRICT: The DROP TABLE statement fails if view tables or synonyms are based on the specified table.

· CASCADE: The DROP TABLE statement is executed independently of the dependencies.


ALTER TABLE statement (SAP Library - MaxDB Library)

 Entering content frame

ALTER TABLE statement

An OLD TABLE statement (old_table_statement) changes the properties of a base table.

Syntax

<alter_table_statement> ::=
ALTER TABLE <table_name> <add_definition>
| ALTER TABLE <table_name> <alter_definition>
| ALTER TABLE <table_name> <column_change_definition>
| ALTER TABLE <table_name> <drop_definition>
| ALTER TABLE <table_name> <modify_definition>
| ALTER TABLE <table_name> <referential_constraint_definition>
| ALTER TABLE <table_name> <sample_definition>

Examples

SQL Tutorial, Tables, Primary Key, Constraints, Foreign Key Dependencies Between Tables

Explanation

If the name of the schema is not specified in the table name, the current schema is accepted/used. The table name must be the name of an existing base table. The table must not be a temporary base table. The current user must have the OLD privilege for the specified table.

ADD Definition | Defining additional table properties.
OLD Definition | Changing a CONSTRAINT or key definition.
COLUMN Change Definition | Changes column properties
DROP Definition | Deleting table properties
MODIFY Definition | Changing data types and column attributes
Referential CONSTRAINT Definition | Defining a new referential constraint
SAMPLE Definition | Defining a number of rows which the database system is to take into account when it determines table statistics


ADD Definition (add_definition) (SAP Library - MaxDB Library)

 Entering content frame

ADD Definition (add_definition)

You can define additional table properties by specifying an ADD definition (add_definition) in the ALTER TABLE statement.

Syntax

<add_definition> ::= ADD <column_definition>,...
| ADD (<column_definition>,...)
| ADD <constraint_definition>
| ADD <key_definition>
| ADD <referential_constraint_definition>

Examples

SQL Tutorial, Tables, Primary Key, Constraints, Foreign Key Dependencies Between Tables

Adding a column definition: ADD <column_definition>

By specifying column definitions (column_definition), you can extend the table specified in the ALTER TABLE statement to include these columns... These specifications must not exceed the maximum number of columns allowed and the maximum length of a row.

The memory requirements for each column are increased by one character (for normal memory requirements, see Memory requirements of a column value as a function of the data type), if the length described is less than 31 characters and the column does not have the data type VARCHAR.

All the rows of the newly defined columns contain the NULL value if a default value has not been defined by a DEFAULT specification for these columns. If the NULL value impairs a CONSTRAINT definition of the table, the ALTER TABLE statement fails.

If you insert LONG columns, you cannot specify a DEFAULT specification. If you want to define a default value for a LONG column, you can define the LONG column using ADD definition and then use the MODIFY definition to define a default value.

In every other respect, specifying a column definition has the same effect as specifying a column definition in a CREATE TABLE statement.

· If view tables are defined for the specified table, and if alias names are defined for one of these view tables, and if the view tables reference the columns in the table with *, the ALTER TABLE statement will fail.

· If view tables are defined for the specified table, and if no alias names are defined, and if the view tables reference the columns in the table with *, this view table contains the columns added to the base table by the ADD definition.

Adding a CONSTANT definition: ADD <constant definition>

All the rows in the table must fulfill the condition defined by the search condition of the CONSTRAINT definition.

Adding a key definition: ADD <key definition>

A key is defined for the table specified in the ALTER TABLE statement. At execution time, the table must only contain the key column SYSKEY generated by the database system. The columns specified in the key definition must be columns in the table and fulfill the key properties (none of the columns must contain NULL values; no two rows must contain the same values in all of the columns defined in the key definition). The new key is stored in the metadata of the table. The key column SYSKEY is omitted. This is an extremely lengthy procedure for tables with a large number of rows, since extensive copy operations are carried out.

If a primary key is defined for the table specified in the OLD TABLE statement and this key has exactly the same structure as an existing index, this index (the existing index) is deleted.

Inserting a Referential CONSTRAINT Definition: ADD <referential_constraint_definition>

An integrity condition is defined for the table specified in the ALTER TABLE statement. The columns specified in the referential CONSTRAINT definition must be columns in the table. All of the rows in the table must satisfy the integrity condition defined by the referential CONSTRAINT definition.


ALTER Definition (alter_definition) (SAP Library - MaxDB Library)

 Entering content frame

ALTER Definition (alter_definition)

By specifying an ALTER definition (alter_definition) in the ALTER TABLE statement, you can change a CONSTRAINT definition or a key definition.

Syntax

<alter_definition> ::=
ALTER CONSTRAINT <constraint_name> CHECK <search_condition>
| ALTER <key_definition>

Examples

SQ-Tutorial, Primary Key, Constraints

Explanation

Changing the CONSTRAINT Definition: ALTER CONSTRAINT <constraint_name>

The constraint name must identify a CONSTRAINT definition in the table. If the specified search condition is not violated by any row in the table, it replaces the existing search condition of the CONSTRAINT definition. Otherwise, the ALTER TABLE statement fails.

Changing the Key Definition: ALTER <key_definition>

The key specified by the key definition replaces the current key in the table. The columns specified in the key definition must identify columns in the table and have the key property. No key column can therefore have a NULL value and no two rows in the table may have the same values in all key columns. If a column of the key to be replaced is a referenced_column of a referential CONSTRAINT definition, the ALTER TABLE statement fails.

If a column of the key to be replaced is a referenced_column of a referential CONSTRAINT definition, the ALTER TABLE statement fails.

This may take more time, particularly with longer tables, as a large amount of copying needs to be done.


COLUMN Change Definition (column_change_definition) (SAP Library - MaxDB Library)

 Entering content frame

COLUMN Change Definition (column_change_definition)

You can modify the properties of a column by specifying a COLUMN change definition in the ALTER TABLE statement.

Syntax

<column_change_definition> ::=
COLUMN <column_name> ADD <default_spec>
| COLUMN <column_name> ALTER <default_spec>
| COLUMN <column_name> DEFAULT NULL
| COLUMN <column_name> DROP DEFAULT
| COLUMN <column_name> NOT NULL

Examples

SQL Tutorial, Tables

Explanation

ADD <default_spec>

The column must not contain a DEFAULT specification before the ALTER TABLE statement is executed with ADD <default_spec>. ADD <default spec> assigns a DEFAULT value to the column.

ALTER <default spec>

ALTER <default spec> changes the DEFAULT value assigned to the column. All of the rows that contain the old default value in the column remain unaltered.

DEFAULT NULL

DEFAULT NULL allows a NULL value for the column. The system does not check whether a NULL value violates existing CONSTRAINT definitions in the table. For this reason, inserting the NULL value can fail when an INSERT or UPDATE statement is executed.

DROP DEFAULT

DROP DEFAULT drops the DEFAULT specification of the column. If the column is the foreign key column of a referential CONSTRAINT definition with the DELETE RULE ON DELETE SET DEFAULT, the ALTER TABLE statement will fail.

NOT NULL

NOT NULL can only be specified if the column does not contain NULL values. You cannot add a NULL value to the column once the ALTER TABLE statement has been successfully executed.


DROP definition (SAP Library - MaxDB Library)

 Entering content frame

DROP definition

You can delete table properties by specifying a DROP definition in the ALTER TABLE statement.

Syntax

<drop_definition> ::= DROP <column_name>,... [<cascade_option>] [RELEASE SPACE]
| DROP (<column_name>,...) [<cascade_option>] [RELEASE SPACE]
| DROP CONSTRAINT <constraint_name>
| DROP FOREIGN KEY <referential_constraint_name>
| DROP PRIMARY KEY

Examples

SQL Tutorial, Tables, Constraints, Foreign Key Dependencies Between Tables, Primary Key

Explanation

DROP <column_name>

You can use DROP <column_name> or DROP (<column_name>,... .) to drop columns.

Each column name must be a column of the table identified by the ALTER TABLE statement. The column must be neither a key column nor a foreign key column of a referential CONSTRAINT definition of the table.

The columns are marked as dropped in the metadata of the table. A DROP definition does not automatically reduce the memory requirements of the underlying table. RELEASE SPACE forces the column values of the dropped columns to be dropped in every row in the table. This may take more time, particularly with longer tables, as a large amount of copying needs to be done.

Any privileges and comments for the columns to be dropped are dropped as well.

If one of the columns to be dropped occurs as a selected column in a view definition, the specified column in the view table is dropped.
If this view table is used in the FROM clause of another view table, the described procedure is applied recursively to this view table.

Existing indexes referring to columns to be dropped are also dropped. The storage locations for the dropped indexes are released.

All CONSTRAINT definitions that contain one of the dropped columns are dropped.

<cascade_option>

· If one of the columns to be dropped occurs in the QUERY specification of a view definition, and if no CASCADE option or the CASCADE option CASCADE is specified in the DROP definition, the view definition is dropped with all the view tables, privileges, and synonyms that depend on it.

· If one of the columns to be dropped occurs in the QUERY specification of a view definition, and if the CASCADE condition RESTRICT is specified in the DROP definition, the ALTER TABLE statement fails.

DROP CONSTRAINT <constraint_name>

You can use DROP CONSTRAINT <constraint_name> to drop a constraint.

The constraint name must identify a CONSTRAINT definition in the table. This definition is then deleted from the metadata of the table.

DROP FOREIGN KEY <referential_constraint_name>

You can use DROP FOREIGN KEY <referential_constraint_name> to drop a foreign key.

If DROP FOREIGN KEY was specified, the referential CONSTRAINT definition identified by the name of the referential constraint referential_constraint_name is dropped.

DROP PRIMARY KEY

You can use DROP PRIMARY KEY to delete a key.

· The table must have a key defined by the user.

· The table must not contain more than 1023 columns.

· The maximum permissible length of a row must not exceed 8088 bytes.

· The key columns must not be referenced columns (referenced_column) of a referential CONSTRAINT definition.

The key is replaced by the key column SYSKEY generated by the database system. This may take more time, particularly with longer tables, as a large amount of copying needs to be done.


MODIFY Definition (modify_definition) (SAP Library - MaxDB Library)

 Entering content frame

MODIFY Definition (modify_definition)

You can modify data types and column attributes by specifying a MODIFY definition (modify_definition) in the ALTER TABLE statement.

Syntax

<modify_definition> ::= MODIFY (<modify_column_definition>,...)

<modify_column_definition> ::=
<column_name> <data_type> <column_attributes>
| <column_name> <data_type>
| <column_name> <column_attributes>

Explanation

The parentheses are not necessary if the MODIFY definition only contains one column_name.

Each column name must be a column of the base table specified in the ALTER TABLE statement.

If a column identified by column_name is contained in a CONSTRAINT definition for the table, this column must also define a legal search condition once the data type has been modified.

<data_type>

If no DEFAULT specification is specified and a DEFAULT specification is defined for the corresponding column, this must be compatible with the data_type.

· Code attribute ASCII: The corresponding column must have the data type DATE, TIME, or TIMESTAMP or the code attribute ASCII or UNICODE before it is modified.

· Code attribute UNICODE: A transformation from UNICODE to ASCII must be possible for the relevant column.

· Code attribute BYTE: The corresponding column must have the data type DATE, TIME, or TIMESTAMP or the code attribute ASCII or BYTE before it is modified.

Data type CHAR(n), VARCHAR(n): The corresponding column must have the data type CHAR(n), VARCHAR(n), DATE, TIME, or TIMESTAMP. In this case, the table must not contain a row in which the column has a value with a length greater than n.
If a column had the code attribute UNICODE before the ALTER TABLE statement was executed, and the new code attribute is not UNICODE, transformation to the new code attribute is always possible.

Data type DATE: The corresponding column must have the data type CHAR(n), VARCHAR(n), or DATE. This column must contain a date value in any of the date formats supported by the database system in all rows of the table.

Data type FIXED(n,m): The corresponding column must have the data type FIXED(n,m), FLOAT, INT, or SMALLINT. In this case, the table must not contain a row that has a value with more than (n - m) integral or m fractional digits in the column.

Data type FLOAT(n): The corresponding column must have the data type FIXED(n,m), FLOAT(n), INT, or SMALLINT.

Data type INT: The corresponding column must have the data type FIXED(n,m), FLOAT(n), INT, or SMALLINT. In this case, the table must only contain rows containing integral values between -2147483648 and 2147483647 in the column.

Data type SMALLINT: The corresponding column must have the data type FIXED(n,m), FLOAT(n), INT, or SMALLINT. In this case, the table must only contain rows containing integral values between -32768 and 32767 in the column.

Data type TIME: The corresponding column must have the data type CHAR(n), VARCHAR(n), or TIME. This column must contain a time value in any of the time formats supported by the database system in all rows of the table.

Data type TIMESTAMP: The corresponding column must have the data type CHAR(n), VARCHAR(n), or TIMESTAMP. This column must contain a timestamp value in any of the timestamp formats supported by the database system in all rows of the table.

Column attribute NULL: a NULL value can be entered in the corresponding column with a subsequent INSERT or UPDATE statement.

<column_attributes>

The following column attributes only are allowed:

· NULL
NULL value

· NOT NULL
If NOT NULL is specified, no rows in the table may contain a NULL value in the corresponding column. A NULL value can no longer be inserted into the column after being modified.

· DEFAULT specification
The DEFAULT specification DEFAULT SERIAL is not permitted.
If a DEFAULT specification is specified, it replaces an existing DEFAULT specification in the corresponding column. The new DEFAULT specification only affects subsequent INSERT statements and does not affect rows already existing in the table.

Additional Information

Depending on the type of modification, the MODIFY definition may result in the table having to be recopied and/or indexes rebuilt. Runtime will be considerably long in such cases.

If a table is recopied and the table contains columns marked as deleted, these columns are removed from the database catalog and from the table rows, thus reducing the space requirement for the table.


RENAME TABLE statement (SAP Library - MaxDB Library)

 Entering content frame

RENAME TABLE statement

A RENAME TABLE statement (rename_table_statement) changes the name of a base table.

Syntax

<rename_table_statement> ::=
RENAME TABLE <old_table_name> TO <new_table_name>

<old_table_name> ::= <table_name>
<new_table_name> ::= <table_name>

Examples

SQL Tutorial, Tables

Explanation

If a schema name is not specified in the table name, the current schema is assumed implicitly. The old table name must identify a base table that is not a temporary table.

The current user must have the CREATEIN privilege for the schema identified by new_table_name .

The new table name must not already be assigned to a base or view table or a private synonym in the schema identified by new_table_name .

The old_table_name table is assigned the name specified in the new_table_name. All of the properties of the table (e.g. privileges, indexes) remain unchanged. The definitions of view tables based on the old table name are adapted to the new name.


RENAME COLUMN Statement (rename_column_statement) (SAP Library - MaxDB Library)

 Entering content frame

RENAME COLUMN Statement (rename_column_statement)

A RENAME COLUMN statement (rename_column_statement) changes the name of a table column.

Syntax

<rename_column_statement> ::=
RENAME COLUMN <table_name>.<column_name> TO <column_name>

Explanation

The specified table must be a base or view table.

If a schema is not specified in the table name, the current schema is assumed implicitly.

The specified table column is given a new name. If the column name of a view table (that was defined with this table) was derived from the column name of the base table, the old column name in the view table is replaced by the new name. If the new column name is identical with an existing column name of the view table, the RENAME COLUMN statement fails.


EXISTS TABLE Statement (exists_table_statement) (SAP Library - MaxDB Library)

 Entering content frame

EXISTS TABLE Statement (exists_table_statement)

An EXISTS TABLE statement (exists_table_statement) indicates whether or not a table exists.

Syntax

<exists_table_statement> ::= EXISTS TABLE <table_name>

Explanation

The specified table must be a base table, view table, or a synonym.

The existence or non-existence of the specified table is indicated by the return code 0 or by the error message -4004 UNKNOWN TABLE NAME.

A table exists for a user only if the user has a privilege on this table.


CREATE SCHEMA Statement (create_schema_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE SCHEMA Statement (create_schema_statement)

The CREATE SCHEMA statement (create_schema_statement) defines a schema.

Syntax

<create_schema_statement> ::= CREATE SCHEMA <schema_name_clause> [<schema_element>...]

<schema_name_clause> ::=
<schema_name>
| <schema_name> AUTHORIZATION <schema_authorization_identifier>

<schema_authorization_identifier> ::= <identifier>

<schema_element> ::=
<create_table_statement>
| <create_view_statement>
| <create_dbproc_statement>
| <create_function_statement>
| <create_sequence_statement>

Explanation

The current user must be a database administrator.

The specified schema name (schema_name) must differ from the names of all existing schemas, database users, and roles.

CREATE SCHEMA <schema_name>

A schema with the name schema_name is created. The current user (a database administrator) becomes the owner of this schema.

CREATE SCHEMA <schema_name> AUTHORIZATION <schema_authorization_identifier>

A schema with the name schema_name is created. The user specified by schema_authorization_identifier must exist and be a database administrator. This database administrator becomes the owner of the schema. The owner has the CREATEIN and DROPIN privileges for the generated schema and can therefore at any time add database objects to the schema or delete objects.


RENAME SCHEMA Statement (rename_schema_statement) (SAP Library - MaxDB Library)

 Entering content frame

RENAME SCHEMA Statement (rename_schema_statement)

The RENAME SCHEMA statement (rename_schema_statement) changes the name of a schema.

Syntax

<rename_schema_statement> ::= RENAME SCHEMA <schema_name> TO <new_schema_name>

<new_schema_name> ::= <schema_name>

Explanation

The schema to be changed must already exist and cannot identify a user. The schema name must identify a schema whose owner is the current database user.

The new_schema_name name must not be identical with the name of an existing database user, user group, schema or role.

The database system automatically adjusts the objects dependent on the schema to be modified to the new schema name.


DROP SCHEMA Statement (drop_schema_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP SCHEMA Statement (drop_schema_statement)

The DROP SCHEMA statement (drop_schema_statement) drops a schema.

Syntax

<drop_schema_statement> ::= DROP SCHEMA <schema_name> [<cascade_option>]

Explanation

The current user must be the owner of the schema that is to be dropped.

The metadata of the specified schema is dropped from the database catalog.

If no CASCADE option or the CASCADE option CASCADE was specified, all the database objects that belong to the schema to be dropped are also dropped.

If the CASCADE option RESTRICT was specified and objects still exist that belong to the schema, the DROP SCHEMA statement fails.


CREATE DOMAIN statement (SAP Library - MaxDB Library)

 Entering content frame

CREATE DOMAIN statement

A CREATE DOMAIN statement (create_domain_statement) defines a value range (domain).

Syntax

<create_domain_statement> ::= CREATE DOMAIN <domain_name> <data_type> [<default_spec>] [<constraint_definition>]

Examples

SQL Tutorial, Domains

Explanation

The CONSTRAINT definition (constraint_definition)must not contain a constraint name.

The CREATE DOMAIN statement can be executed by all database administrators.

If the domain name is specified without the schema name, the schema with the name of the current user is assigned to the range. If you specify the domain name with a schema, the schema name must be the same as the name of the current user. In this case, the current user becomes the owner of the range.

The name of the domain must be different from all other domain names of the current user.

If a domain is generated with a CONSTRAINT definition, the domain name is included in the search condition as a column name.


DROP DOMAIN Statement (drop_domain_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP DOMAIN Statement (drop_domain_statement)

A DROP DOMAIN statement (drop_domain_statement) drops the definition of a domain.

Syntax

<drop_domain_statement> ::= DROP DOMAIN <domain_name>

Examples

SQL Tutorial, Domains

Explanation

The domain name must identify an existing domain. The domain must be contained in the current user’s schema.

The metadata of the domain is dropped from the catalog. Dropping a domain has no effect on tables in which this domain was used to define columns.


CREATE SEQUENCE Statement (create_sequence_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE SEQUENCE Statement (create_sequence_statement)

The CREATE SEQUENCE statement (create_sequence_statement) defines a database object that supplies integer values (number generator). In the following description, this object is referred to as a sequence.

Syntax

<create_sequence_statement> ::= CREATE SEQUENCE [<schema_name>.]<sequence_name>
[INCREMENT BY <integer>] [START WITH <integer>]
[MAXVALUE <integer> | NOMAXVALUE] [MINVALUE <integer> | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE <unsigned_integer> | NOCACHE]
[ORDER | NOORDER]

Examples

SQL Tutorial, Number Generators for Tables

Explanation

The optional specifications after the sequence_name can be made in any order.

The current user must be a RESOURCE user or database administrator (DBA user) and becomes the owner of the sequence. If no schema_name is specified, the current schema is used.

The sequence is assigned to the schema that has been determined implicitly or specified explicitly. The current user must have the CREATEIN privilege for this schema. The sequence name must be different from the names of all sequences that already exist in the schema.

The integer values generated by the sequence can be used to assign key values.

INCREMENT BY

Defines the difference between the next sequence value and the last value assigned. A negative value for INCREMENT BY generates a descending sequence. If no value is assigned, the value 1 is used.

START WITH

Defines the first sequence value. If no value is specified, the value for MAXVALUE or –1 is used for descending sequences and the value for MINVALUE or 1 for ascending sequences.

MINVALUE | MAXVALUE

· MINVALUE: Defines the smallest value generated by the sequence. If no value is defined for MINVALUE, when INCREMENT BY has a negative value the smallest integer value that can be represented with 38 digits is used, and when INCREMENT BY has a positive value the value 1 is used.

· MAXVALUE: Defines the largest value generated by the sequence. If no value is defined for MAXVALUE, when INCREMENT BY has a negative value the value -1 is used, and when INCREMENT BY has a positive value the largest integer value that can be represented with 38 digits is used.

CYCLE | NOCYCLE

If neither CYCLE nor NOCYCLE is specified, NOCYCLE is assumed.

· CYCLE: MINVALUE is produced for ascending sequences after MAXVALUE has been assigned. MAXVALUE is produced for ascending sequences after MINVALUE has been assigned.

· NOCYCLE: a request for a sequence value fails if the end of the sequence has already been reached, that is, if MAXVALUE has been assigned for ascending sequences or MINVALUE for descending sequences.

CACHE | NOCACHE

If neither CACHE nor NOCACHE is specified, CACHE 20 is assumed.

· CACHE: Access to the sequence can be accelerated because the defined number of sequence values is already held in the memory.

· NOCACHE: There are no predefined sequence values.

ORDER | NOORDER

Specifying ORDER or NOORDER has no effect whatsoever.

Sequence values can be specified using CURRVAL and NEXTVAL (Specification of Values). In this way, you can request or increase the current counter value.


DROP SEQUENCE statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP SEQUENCE statement)

A DROP SEQUENCE statement drops a number generator (sequence).

Syntax

<drop_sequence_statement> ::= DROP SEQUENCE [<schema_name>.]<sequence_name>

Examples

SQL Tutorial, Number Generators for Tables

Explanation

The current user must be the owner of the sequence or have the DROPIN privilege for the schema to which the sequence to be dropped is assigned.

The metadata of the sequence is removed from the database catalog.


CREATE SYNONYM Statement (create_synonym_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE SYNONYM Statement (create_synonym_statement)

The CREATE SYNONYM statement (create_synonym_statement) defines a synonym (alternative name) for a table name.

Syntax

<create_synonym_statement> ::=
CREATE [PUBLIC] SYNONYM [<schema_name>.]<synonym_name> FOR <table_name>

Explanation

The table name table_name must not denote a temporary base table. The user must have a privilege for the specified table. Only the name of the current user is permitted as the schema name.

The synonym name can be specified anywhere instead of the table name. This has the same effect as specifying the table name for which the synonym was defined.

PUBLIC

If PUBLIC is specified, the synonym name must not be identical to the name of a synonym defined with PUBLIC. A synonym is generated that can be accessed by all users.

If PUBLIC is not specified, a private synonym is generated that is only known by the current user. In this case, the synonym name must not be identical to the name of an existing base table, view table, or a private synonym of the current user. If a synonym with the same name and the PUBLIC attribute exists, it cannot be accessed by the current user until the private synonym has been dropped.


DROP SYNONYM Statement (drop_synonym_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP SYNONYM Statement (drop_synonym_statement)

The DROP SYNONYM statement (drop_synonym_statement) drops a synonym (alternative name) of a table name.

Syntax

<drop_synonym_statement> ::=
DROP [PUBLIC] SYNONYM [<schema_name>.]<synonym_name>

Explanation

The specified synonym name must identify an existing synonym of the current user. Only the name of the current user is permitted as the schema name.

If PUBLIC is specified, the synonym identified by the synonym name must be defined as PUBLIC.

The synonym definition is removed from the set of table name synonyms available to the user.


RENAME SYNONYM Statement (rename_synonym_statement) (SAP Library - MaxDB Library)

 Entering content frame

RENAME SYNONYM Statement (rename_synonym_statement)

The RENAME SYNONYM statement (rename_synonym_statement) changes the name of a synonym.

Syntax

<rename_synonym_statement> ::=
RENAME [PUBLIC] SYNONYM <old_synonym_name> TO <new_synonym_name>

<old_synonym_name> ::= <synonym_name>
<new_synonym_name> ::= <synonym_name>

Explanation

The old synonym name old_synonym_name must have been generated by the current user.

If PUBLIC is specified, the old synonym must be defined as PUBLIC.

A table of the current user with the new synonym name must not exist already.


CREATE VIEW Statement (create_view_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE VIEW Statement (create_view_statement)

The CREATE VIEW statement (create_view_statement) defines a view table.

View Table

A view table is a view of an existing table: parts of the table are hidden and other parts remain visible. You can use VIEW tables to truncate longer SELECT statements. You can use view tables to hide unimportant or confidential data.

A view table never actually exists physically but is formed from the rows of the underlying base table(s) when the view table is specified in an SQL statement.

Syntax

<create_view_statement> ::=
CREATE [OR REPLACE] VIEW <table_name> [(<alias_name>,...)] AS <query_expression> [WITH CHECK OPTION]

Examples

SQL Tutorial, View Tables

Explanation

If no schema is specified in the table_name, the current schema is assumed implicitly. The view table name must not be identical with the name of a table already existing in the schema.

When the CREATE VIEW statement is executed, metadata describing the view table is stored in the database catalog.

The view table is always identical to the table you would obtain as the result of the QUERY expression query_expression. The QUERY expression must not contain a parameter specification. The QUERY expression must not reference a temporary table or a results table name.

The table expressions of the QUERY specification in the QUERY expression of the CREATE VIEW statement must not contain a QUERY expression.

If a column selected by the QUERY statement is of the data type LONG, the FROM clause must contain precisely one table name with precisely one underlying base table.

Join View Table

A join view table is a view table where the FROM clause contains more than one table or one join table.

Complex View Table

A view table is a complex view table if it satisfies one of the following conditions:

· The definition of the view table contains DISTINCT or GROUP BY or HAVING.

· The CREATE VIEW statement contains EXCEPT, INTERSECT, or UNION.

· The in the QUERY expression of the CREATE VIEW statement contained search condition contains a subquery.

· The CREATE VIEW statement contains an outer join, that is an OUTER JOIN indicator outer_join_indicator in a JOIN predicate of the search condition.

Updateable View Table

A view table is deemed updateable if it is not a complex view table and if it is not based on a complex view table.

Updateable Join View Table

An updateable join view table is an updateable view table for which the following conditions must also be fulfilled:

· Each base table on which the view table is based must have a key defined by the user.

· Referential CONSTRAINT definitions must exist between the base tables on which the view table is based.

· Exactly one of the underlying base tables for the view table must exist that is not a referenced_table of a referential CONSTRAINT definition for a different base table of the view table. The table must be the key table of the view table.

· For each underlying base table of the view table, there must be a sequence of referential CONSTRAINT definitions enabling the respective base table to be accessed from the key table.

· The referential CONSTRAINT definitions must be reflected as a JOIN predicate in the search condition of the CREATE VIEW statement. In other words, the condition "key column = foreign key column" must exist for every column in each referential CONSTRAINT definition.

· The CREATE VIEW statement must contain either the primary key or foreign key column from each referential CONSTRAINT definition as the selected column, but cannot contain both.

· The view table must be defined with WITH CHECK OPTION.

For more information, see Updateable Join View Table.

Privileges

The user must have the SELECT privilege for all columns occurring in the view definition. The user is the owner of the view table and has the SELECT privilege for this at the very least. The user may assign the SELECT privilege to others for any columns in the view table derived from columns for which he or she is authorized to do this.

The user only has the INSERT, UPDATE and DELETE privileges if he or she has the relevant privileges for the underlying tables of the view table and join view table and if the view table and the join view table are updateable. The user may only grant these privileges to others if he or she is authorized to allocate the relevant privilege for all of the underlying tables of the view table and join view table.

See also:

INSERT/UPDATE/DELETE Privilege for Owners of the View Table

Privilege Specification (priv_spec)

OR REPLACE

If OR REPLACE is not specified, the table name cannot be identical to the table_name of an existing view table.

If OR REPLACE is specified however, the table name may be identical to the name of an existing view table. In this case, the new definition for the existing view table replaces the existing definition. The database system then attempts to adapt privileges granted for the existing view table to the new view definition. The privileges for the view table usually remain unchanged. Privileges are only removed implicitly if conflicts occur that cannot be resolved by the database system. If there are major discrepancies between the two view definitions, the CREATE VIEW statement may fail in cases where the CREATE VIEW statement for the view table that is based on the existing view table can no longer be executed for the new view definition without an error occurring.

Alias Names (alias_name)

The column names of the view table must be unique. If this is not the case in the results table generated by the QUERY expression, alias names must be specified that define the column names in the VIEW table. The number of alias names must be equal to the number of columns in the results table generated by the QUERY expression. If no alias names are specified, the column names of the results table generated by the QUERY expression are transferred for the view table. The column descriptions for the view table are taken from the corresponding columns in the query expression. The FROM clause of the QUERY expression can contain one or more tables.

WITH CHECK OPTION

If the create view statement contains a WITH CHECK OPTION, the owner of the view table must have been granted the INSERT, UPDATE, or DELETE privilege for the view table.

If the WITH CHECK OPTION is specified and an insert or update statement is issued for the view table, rows can only be created that can subsequently be selected via the view table. In other words, the search condition for the view table must be fulfilled for the resulting rows.

The CHECK OPTION is inherited. This means that, if a view table V has been defined with the WITH CHECK OPTION and V occurs in the from clause of an updateable view table V1, only those rows that can be selected using V may be inserted or altered using V1.


INSERT/UPDATE/DELETE Privilege for Owners of View Tables (SAP Library - MaxDB Library)

 Entering content frame

INSERT/UPDATE/DELETE Privilege for Owners of View Tables

Since view tables only represent views on the data available in base tables, there are certain aspects that should be noted when privileges are allocated for view tables.

INSERT privilege for the owner of the view table

The owner of a view table has the INSERT privilege, which means that, if the following conditions are satisfied, he or she can specify the view table in the INSERT statement as the table in which data is to be inserted:

· The view table is an updateable view table .

· The owner of the view table has the INSERT privilege for all tables in the FROM clause of the CREATE VIEW statement.

· The selected columns of the CREATE VIEW statement consist only of table columns table_columns or column names column_name, but not of expressions with more than one column name.

· The CREATE VIEW statement contains every mandatory column from all tables of the FROM clause as the selected column.

UPDATE privilege for the owner of the view table

The owner of the view table has the UPDATE privilege for a column in the view table, which means that, if the following conditions are satisfied, he or she can specify the column in an UPDATE statement as the column to be updated:

· The view table is an updateable view table.

· The owner of the view table has the UPDATE privilege for the table columns table_columns or the column name column_name that defines the column.

· The column is defined by the specification of table columns or by means of a column name, but not by an expression with more than one column name.

DELETE privilege for the owner of the view table

The owner of the view table has the DELETE privilege for the view table, which means that, if the following conditions are satisfied, he or she can specify the view table in the DELETE statement as the table from which entries are to be deleted:

· The view table is an updateable view table.

· The owner of the view table has the DELETE privilege for all tables in the FROM clause of the CREATE VIEW statement.

See also:

Privilege Specification (priv_spec)


Updateable Join View Table (SAP Library - MaxDB Library)

 Entering content frame

Updateable Join View Table

Updateable join view tables are extremely important. For this reason, more detailed information is provided here to supplement the general definition .

Without limiting the generality, it is assumed that the definition of the join view table V in the FROM clause contains the base tables T1,...,Tn (n>1).

· Let Ti and Tj be two base tables selected by V.
Let Rij be a referential CONSTRAINT definition of Ti and Tj, in which Ti is the referencing table and Tj the referenced table (referenced_table).
Let PKj1,...,PKjm be the key columns of Tj.
Let FKi1,...,FKim be the corresponding foreign key columns of Ti.
The referential CONSTRAINT definition is relevant to V if the JOIN predicate (PKj1=FKi1 AND ... AND PKjm=FKjm) is part of the search condition for V.

· Let Ti and Tj be two base tables selected by V and Rij a referential CONSTRAINT definition of Ti and Tj that is relevant for V.
Ti is the predecessor of Tj (Ti<Tj) if Rij is the only referential CONSTRAINT definition of Ti and Tj that is relevant for V.

· Let Rij be a referential CONSTRAINT definition that is relevant for V.
Rij defines a 1:1 relationship between Ti and Tj if the foreign key columns of Rij make up the key columns of Tj.

· Let Rij be a referential CONSTRAINT definition that is relevant to V and s a key column of Tj or a foreign key column of this referential CONSTRAINT definition of Ti. The column s can be derived from V if exactly one of the following conditions is satisfied:
- s is a selected column of V.
- A key column or a foreign key column s' of a referential CONSTRAINT definition that is relevant to V exists that can be derived from V and the JOIN predicate s=s' is part of the search condition of V.

· A column v of V corresponds to a column s of an underlying base table T if one of the following conditions is satisfied
- v is the ith column of V and s is the ith selected column of V.
- v corresponds to a key column PK of Tj in a referential CONSTRAINT definition Rij that is relevant to V and s is the foreign key column of Ti that is assigned to PK.
- v corresponds to a foreign key column FK of Ti of a referential CONSTRAINT definition Rij that is relevant to V and s is the key column of Tj that is assigned to FK.

A join view table V is updateable if the following conditions are satisfied:

· Each base table Ti (1 <= i <= n) has a key defined by the user.

· The database system must be able to determine a processing sequence for the underlying base tables; an order Ti1,...,Tin of the tables T1,...,Tn must exist such that j < k can be deduced from Tij<Tik. The columns of V from which the key columns of Ti1 can be derived make up the key of V. Ti1 is called the key table of V. The order of the tables does not have to be unique.

· Starting with a row in the key table of V, it must be possible to assign each underlying base table exactly one row; that is, there is a sequence of tables Ti1,...,Tij for each table Tij (1 <= j <= n) such that Ti1 < .. < Tij.
This sequence is unique for each base table referred to by V.

· It must be possible to derive the key columns and foreign key columns of all referential CONSTRAINT definitions relevant to V from the columns of V.

· The join predicates needed to recognize the relevance of a referential CONSTRAINT definition must be specified in parts of the search condition defined with the WITH CHECK OPTION. If the view definition contains base tables only, this means that the view table must be defined with WITH CHECK OPTION. If a view table V is derived from a view table V' and if V' was defined with WITH CHECK OPTION, then V inherits the CHECK OPTION for the part of the qualification passed on by V'.


DROP VIEW Statement (drop_view_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP VIEW Statement (drop_view_statement)

The DROP VIEW statement (drop_view_statement) drops a view table.

Syntax

<drop_view_statement> ::= DROP VIEW <table_name> [<cascade_option>]

Examples

SQL Tutorial, View Tables

Explanation

The table name must identify an existing view table.

The user must be the owner of the specified view table or have the DROPIN privilege for the schema to which the view table is assigned.

The metadata of the view table and all dependent synonyms, view tables, and privileges are dropped. The tables on which the view table was created remain unaffected.

<cascade_option>

If no CASCADE option is specified, the view table is dropped together with all the view tables, privileges, and synonyms that are dependent on it.

· If the CASCADE option RESTRICT is specified and other view tables or synonyms based on this view table exist, the drop view statement fails.

· If the CASCADE option CASCADE is specified, the view table is dropped together with all the view tables, privileges, and synonyms that are dependent on it.


RENAME VIEW Statement (rename_view_statement) (SAP Library - MaxDB Library)

 Entering content frame

RENAME VIEW Statement (rename_view_statement)

The RENAME VIEW statement (rename_view_statement) changes the name of a view table.

Syntax

<rename_view_statement> ::= RENAME VIEW <old_table_name> TO <new_table_name>

<old_table_name> ::= <table_name>
<new_table_name> ::= <table_name

Explanation

If a schema name is not specified in the table name, the current schema is assumed implicitly. The table old_table_name must be a view table. The current user must be the owner of the view table and must have the CREATEIN privilege for the schema identified by new_table_name .

The new table name must not already be assigned to a base or view table or a private synonym in the schema identified by new_table_name .

The CREATE VIEW statement of the old_table_name view table is adapted to the new name. The result of this adaptation can be retrieved from the table DOMAIN.VIEWDEFS.

The definitions of view tables based on the old_table_name are adapted to the new name.


CREATE INDEX Statement (create_index_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE INDEX Statement (create_index_statement)

The CREATE INDEX statement (create_index_statement) creates an index of a base table.

Syntax

<create_index_statement> ::=
CREATE [UNIQUE] INDEX <index_name> ON <table_name> (<index_spec>)

<index_spec> ::=
<column_name> [ASC|DESC],...
| <dbfunction_name> (<column_name>,...) [ASC|DESC]

Examples

SQL Tutorial, Indexes

Explanation

Indexes provide access to the table data via non-key columns. Maintaining these indexes, however, can be quite complex in the case of an INSERT, UPDATE, or DELETE statement.

Specifying a database function name defines a function index. These indexes can accelerate queries that contain the database function in their search condition, or that sort by database function.

If no database function name is entered, the index is generated using the specified columns of the table. In this case, the secondary key consists of the specified columns of the table, in the specified order.

· If a schema is not specified in the table name, the current schema is accepted implicitly.

· The specified table must be an existing base table, and not a temporary table. The index name must not be identical with an existing index name of the table.

· The column defined by the column name must be a column in the specified table. This column must not be a LONG column. All of the column name pairs must be different.

· The current user must have the INDEX privilege for the columns.

· The database function identified by the database function name must fulfill the following conditions:
The current user must have the EXECUTE privilege for the database function.
The database function must not contain any SQL statements.
The type of the specified column names must be compatible with the type of the function parameters.
The result of the database function must be deterministic, that is, repeated execution of the function with the same parameters always produces the same result.

· Restrictions for SQL Statements

UNIQUE

If UNIQUE is specified, the database system ensures that no two rows of the specified table have the same values in the indexed columns. In this way, if two rows both contain the NULL value for all columns of an index, the two index values are not considered to be identical. If at least one column does not contain the NULL value, two rows that have the same value in all non-NULL columns are considered to be identical.

ASC | DESC

The index values are stored in ascending or descending order. If the specification of ASC or DESC is omitted, ASC is implicitly assumed.

See also:

UNIQUE Definition (unique_definition)


DROP INDEX statement (SAP Library - MaxDB Library)

 Entering content frame

DROP INDEX statement

The DROP INDEX statement (drop_index_statement) drops an index of a base table. The metadata of the index is dropped from the database catalog. The storage space occupied by the index is released.

Syntax

<drop_index_statement> ::= DROP INDEX <index_name> [ON <table_name>]

Examples

SQL Tutorial, Indexes

Explanation

If a schema name is not specified in the table name, the current schema is assumed implicitly.

The specified index must exist and the specified table name must be the name of an existing base table.

ON <table_name>is not necessary if the index name identifies an index unambiguously.

The current user must be the owner of the specified table or have the INDEX privilege for it.


ALTER INDEX Statement (alter_index_statement) (SAP Library - MaxDB Library)

 Entering content frame

ALTER INDEX Statement (alter_index_statement)

The ALTER INDEX statement (alter_index_statement) determines how an index is used in data queries.

Syntax

<alter_index_statement> ::= ALTER INDEX <index_name> [ON <table_name>] ENABLE
| ALTER INDEX <index_name> [ON <table_name>] DISABLE
| ALTER INDEX <index_name> [ON <table_name>] INIT USAGE

Explanation

If a schema is not specified in the table name, the current schema is assumed implicitly.

When a CREATE INDEX statement is executed, an index is generated across the specified columns. This index is modified accordingly for all subsequent SQL statements for manipulating data (INSERT statement, UPDATE statement, DELETE statement). With all other SQL statements in which individual rows in a table are specified, the database system can use this index to speed up the search for these rows.

ALTER INDEX … DISABLE

The index can no longer be used for this search, however it continues to be changed when the SQL statements INSERT, UPDATE, or DELETE are used.

ALTER INDEX … ENABLE

The index can be used for the search again.

ALTER INDEX … INIT USAGE

The INDEX_USED column in the system table DOMAIN.INDEXES is initialized with 0, in other words, the mechanism that counts how often an index is used is restarted.


RENAME INDEX Statement (rename_index_statement) (SAP Library - MaxDB Library)

 Entering content frame

RENAME INDEX Statement (rename_index_statement)

The RENAME INDEX statement (rename_index_statement) changes the name of an index.

Syntax

<rename_index_statement> ::= RENAME INDEX <old_index_name> [ON <table_name>] TO <new_index_name>

<old_index_name> ::= <index_name>
<new_index_name> ::= <index_name>

Explanation

If a schema name is not specified in the table name, the current schema is assumed implicitly.

The specified table name must be the name of an existing base table.

The index identified by the old_index_name must exist. ON <table name> is not necessary if this index is unique.

The current user must be the owner of the specified table or have the INDEX privilege for it.

The new index name must not be identical to an existing index name for the table.


CREATE DBPROC[EDURE] Statement (create_dbproc_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE DBPROC[EDURE] Statement (create_dbproc_statement)

The CREATE DBPROC[EDURE] statement (create_dbproc_statement) defines a database procedure.

Syntax

<create_dbproc_statement> ::= CREATE DBPROC[EDURE] <dbproc_name> [(<formal_parameter>,..)] [RETURNS CURSOR] AS <routine>

<formal_parameter> ::=
IN <argument> <data_type>
| OUT <argument> <data_type>
| INOUT <argument> <data_type>

<argument> ::= <identifier>

Examples

SQL Tutorial, Database Procedures

Explanation

If no schema is specified in the database procedure name, the current schema is assumed implicitly.

The database procedure is assigned to the schema that has been determined implicitly or specified explicitly. The current user must have the CREATEIN privilege for this schema. The procedure name must be different from the names of the database procedures already existing in the schema.

The current user is the owner of a database procedure. He or she has the EXECUTE privilege to execute the database procedure.

Parameters

When an application invokes the database procedure with the CALL statement, it exchanges data using parameters defined by means of formal parameters formal_parameter . A formal parameter of the database procedure usually corresponds to a variable in the application.

IN | OUT | INOUT

The parameter mode (IN | OUT | INOUT) specifies the direction in which data is transferred when the procedure is invoked.

· IN: Defines an input parameter, i.e. the value of the variable transferred to the database procedure when the procedure is invoked.

· OUT: Defines an output parameter. This means the value of the formal parameter is transferred from the database procedure to the variable after the procedure has been terminated.

· INOUT: Defines an input/output parameter that combines the IN and OUT functions.

Argument

By specifying an argument , you assign a name to a formal parameter of the database procedure. This parameter name can then be used as a variable in expressions and assignments in the database procedure.

Data Type

BOOLEAN, CHAR[ACTER], DATE, FIXED, FLOAT, INT[EGER], NUMBER, REAL, SMALLINT, TIME, TIMESTAMP, and VARCHAR only can be used for the data_type of a formal parameter in a database procedure.

RETURNS CURSOR

If RETURNS CURSOR is specified, a database procedure is defined that returns a results table when called.

The name of this table is defined using the system variable $CURSOR. A statement must therefore be contained in the database procedure that generates a results table with the result set name $CURSOR.

The value of $CURSOR is already assigned by most programming language embeddings, but can also be explicitly assigned in the database procedure.

CREATE DBPROC hotels_of_town (IN zip CHAR(5))
RETURNS CURSOR AS
$CURSOR = 'HOTEL_CURSOR';
DECLARE :$CURSOR CURSOR FOR
SELECT * FROM hotel.hotel WHERE zip = :zip;

See also:

CREATE SYSTEM TRIGGER Statement

CREATE TRIGGER Statement


Routine (routine) (SAP Library - MaxDB Library)

 Entering content frame

Routine (routine)

The part of the CREATE DBPROC[EDURE] statement, CREATE TRIGGER statement, CREATE SYSTEM TRIGGER statement or CREATE FUNCTION statement described as the routine is the implementation of the database procedure, trigger or the database function. It comprises optional variable declarations and statements.

Syntax

<routine> ::= [<local variables>] <statement_list>;

<local_variables> ::= VAR
<local_variable_list>;
<local_variable_list> ::= <local_variable>
| <local_variable_list>; <local_variable>
<local_variable> ::= <variable_name> <data_type>
<variable_name> ::= <identifier>

<statement_list> ::= <statement> | <statement_list> ; <statement>

Control Structures, Statements and SQL Statements (statement)

<statement> ::= BEGIN <statement_list> END
| BREAK | CONTINUE | CONTINUE EXECUTE
| <if_statement>
| <while_statement>
| <assignment_statement>
| <case_statement>
| RETURN [<expression>]
| STOP (<expression> [,<expression>] )
| TRY <statement_list>; CATCH <statement>
| <routine_sql_statement>

<if_statement> ::= IF <search_condition> THEN <statement> [ELSE <statement>]
<while_statement> ::= WHILE <search_condition> DO <statement>
<assignment_statement> ::= [SET] <variable_name> = <expression>
<case_statement> ::= <simple_case_statement> | <searched_case_statement>

<routine_sql_statement> ::=
<call_statement>
| <close_statement>
| <create_table_temp>
| <declare_cursor_statement>
| <delete_statement>
| <drop_table_temp>
| <fetch_statement>
| <insert_statement>
| <lock_statement>
| <recursive_declare_cursor_statement>
| <select_statement>
| <single_select_statement>
| <subtrans_statement>
| <update_statement>

<create_table_temp> :: = <! <create_table_statement>for creating temporary tables, that is, the table_name in the CREATE TABLE statement must have the format TEMP.<identifier> !>

<drop_table_temp> ::= DROP TABLE TEMP.<identifier>

Examples

SQL Tutorial

· Database Procedures

· Database Functions

· Database Triggers

Explanation

The statements concerning database procedures below also apply for triggers and database functions.

Variables

Local variables of the database procedure must be declared explicitly by specifying a data type before they are used. Only BOOLEAN, CHAR[ACTER], DATE, FIXED, FLOAT, INT[EGER], NUMBER, REAL, SMALLINT, TIME, TIMESTAMP, and VARCHAR are permitted as data types. Once they have been declared, these variables can be used in any SQL or other statements.

Each database procedure contains the variables $RC, $ERRMSG, and $COUNT implicitly.

The $RC variable returns a numeric error code after an SQL statement has been executed. The value 0 means that the SQL statement was successfully executed.

In parallel with $RC, the $ERRMSG variable returns an explanation of the error containing a maximum of 80 characters.

The number of lines processed in an SQL statement is indicated by the $COUNT variable. For a QUERY statement, this variable can have the value -1, which means that an unknown number of records, but at least one, comprises the result of the QUERY statement. For a DELETE statement, this variable can have the value -1, which means that an unknown number of records has been deleted, possibly 0 records.

Variables can be assigned a value using the assignment_statement.

Control Structures

The IF statement if_statement first evaluates the search condition. If this is met, the statement specified in the THEN branch is executed. Otherwise, the statement in the ELSE branch (if defined) is executed.

The WHILE statement while_statement enables statements to be repeated in response to certain conditions. The statement is executed as long as the search condition specified is met. The condition is checked, in particular, before the statement is executed for the first time. This means the statement may not be executed at all. By specifying BREAK, you can exit the loop straight away without the condition being checked. If CONTINUE is specified in the loop, the condition is revaluated immediately and the loop is processed again, or exited, depending on the result.

The CASE statement case_statement allows the conditional execution of a statement, dependent on search conditions or the equality of operands. There are simple and general CASE statements.

RETURN

CREATE DBPROC and CREATE TRIGGER statement: Specifying RETURN enables you to exit the surrounding database procedure immediately without causing errors.

CREATE FUNCTION statement: Specifying RETURN <expression> enables you to exit the database function when the <expression> function value is specified.

Troubleshooting

If an SQL error occurs in the statement list between TRY and CATCH, the system branches directly to the statement that follows CATCH. The actual troubleshooting routine can be programmed in this statement. If CONTINUE EXECUTE is executed here, the system jumps directly to the point after the statement that triggered the error.

The database procedure is interrupted immediately whenever the STOP function is invoked. The value of the first parameter of the STOP function is the return or error message received by the application as the result of the database procedure call. An error text can also be returned.

SQL Statements (routine_sql_statement)

Tables in SQL statements routine_sql_statementof the database procedure must always be complete. In other words, the schema must be specified. For SELECT statements, a complete specification of the table name in the FROM clause is sufficient.

Restrictions

The statement_list cannot contain more than 255 SQL statements.

The length of an SQL statement routine_sql_statement must not exceed approximately 8 KB.


General CASE Statement (searched_case_statement) (SAP Library - MaxDB Library)

 Entering content frame

General CASE Statement (searched_case_statement)

The general CASE statement (searched_case_statement) is a syntax element that is used in a routine to define a database procedure (see CREATE DBPROC[EDURE] Statement), a database function (see CREATE FUNCTION Statement), or a trigger (see CREATE TRIGGER Statement).

Syntax

<searched_case_statement> ::= CASE
<searched_case_when_clause>...
[<case_else_clause>]
END [CASE]

<searched_case_when_clause> ::= WHEN <search_condition> THEN <statement>;
<case_else_clause> ::= ELSE <statement>;

Explanation

A case_statement allows the conditional execution of a statement depending on search conditions or equality of operands.

For a general CASE statement, the first fulfilled search condition is determined, the associated statement executed, and the CASE statement then ended.

CASE
WHEN digit = 0 THEN toCHAR = 'zero';
WHEN digit = 1 THEN toCHAR = 'one';
WHEN digit = 2 THEN toCHAR = 'two';
WHEN digit = 3 THEN toCHAR = 'three';
WHEN digit = 4 THEN toCHAR = 'four';
WHEN digit = 5 THEN toCHAR = 'five';
WHEN digit = 6 THEN toCHAR = 'six';
WHEN digit = 7 THEN toCHAR = 'seven';
WHEN digit = 8 THEN toCHAR = 'eight';
WHEN digit = 9 THEN toCHAR = 'nine';
ELSE STOP(-29000, 'no digit');
END CASE

If no matching literal or fulfilled search condition exists in a CASE statement, the statement in the ELSE branch is executed.

If there is no ELSE branch, the runtime error -28901 is returned.

See also:

Simple CASE Statement (simple_case_statement)


Simple CASE Statement (simple_case_statement) (SAP Library - MaxDB Library)

 Entering content frame

Simple CASE Statement (simple_case_statement)

The simple CASE statement (simple_case_statement) is a syntax element that can be used in a routine to define a database procedure (see CREATE DBPROC[EDURE] statement), a database function (CREATE FUNCTION statement) or a trigger (see CREATE TRIGGER statement).

Syntax

<simple_case_statement> ::= CASE <expression>
<simple_case_when_clause>...
[<case_else_clause>]
END [CASE]

<simple_case_when_clause> ::= WHEN <literal>[, ...] THEN <statement>;
<case_else_clause> ::= ELSE <statement>;

Explanation

A case_statement allows the conditional execution of a statement depending on search conditions or equality of operands.

In the case of a simple_case_statement, the expression is compared with the literals. If the expression matches a literal, the associated statement is executed and the CASE statement ends.

CASE digit
WHEN 0 THEN toCHAR = 'zero';
WHEN 1 THEN toCHAR = 'one';
WHEN 2 THEN toCHAR = 'two';
WHEN 3 THEN toCHAR = 'three';
WHEN 4 THEN toCHAR = 'four';
WHEN 5 THEN toCHAR = 'five';
WHEN 6 THEN toCHAR = 'six';
WHEN 7 THEN toCHAR = 'seven';
WHEN 8 THEN toCHAR = 'eight';
WHEN 9 THEN toCHAR = 'nine';
ELSE STOP(-29000, 'no digit');
END CASE

If no matching literal or fulfilled search condition exists in a CASE statement, the statement in the ELSE branch is executed.

If there is no ELSE branch, the runtime error -28901 is returned.

See also:

General CASE Statement (searched_case_statement)


DROP DBPROC[EDURE] Statement (drop_dbproc_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP DBPROC[EDURE] Statement (drop_dbproc_statement)

The DROP DBPROC[EDURE] statement (drop_dbproc_statement) deletes a database procedure.

Syntax

<drop_dbproc_statement> ::= DROP DBPROC[EDURE] <dbproc_name>

Examples

SQL Tutorial, Database Procedures

Explanation

If no schema is specified in the database procedure name, the current schema is assumed implicitly.

The current user must be the owner of the database procedure or have the DROPIN privilege for the schema to which the database procedure is assigned.

Metadata for the database procedure is deleted.


CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement)

The CREATE SYSTEM TRIGGER statement (create_system_trigger_statement) defines a trigger for restart.

Syntax

<create_system_trigger> ::=
CREATE SYSTEM TRIGGER [<schema_name>.]<trigger_name> AFTER RESTART EXECUTE (<routine>)

Explanation

A system trigger is a special database procedure performed implicitly during a restart. This is executed at a point when, though the database instance has been fully started, connections are still not possible.

If a schema is not specified before the trigger name, the current schema is implicitly assumed. The trigger is assigned to the schema that has been determined implicitly or specified explicitly.

The current user must be a database administrator. He or she becomes the owner of the system trigger.

The current user must have the CREATEIN privilege for this schema. The trigger name must be different from the names of all the trigger names already existing in the schema.

If more than one system trigger is defined in the database, these are executed in a random order.

<routine>

If STOP results in an error number other than null, restart fails. The database instance is only possible in such cases if the system triggers are deactivated (ENABLE_SYSTEM_TRIGGERS database parameter).


DROP SYSTEM TRIGGER Statement (drop_system_trigger_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP SYSTEM TRIGGER Statement (drop_system_trigger_statement)

The DROP SYSTEM TRIGGER statement (drop_system_trigger_statement) deletes a system trigger.

Syntax

<drop_system_trigger_statement> ::= DROP SYSTEM TRIGGER [<schema_name>.]<trigger_name>

Explanation

If a schema is not specified before the trigger name, the current schema is implicitly assumed.

The current user must be the owner of the system trigger.

Metadata for the system trigger is deleted.


CREATE FUNCTION Statement (create_function_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE FUNCTION Statement (create_function_statement)

The CREATE FUNCTION statement (create_function_statement) defines a database function.

Syntax

<create_function_statement> ::= CREATE [PUBLIC] FUNCTION <dbfunction_name> [(<formal_parameter1>,..)] RETURNS <data_type> [DETERMINISTIC] AS <routine>

<formal_parameter1> ::= <argument1> <data_type>
<argument1> ::= <identifier>

Examples

SQL Tutorial, Database Functions

Explanation

If a schema is not specified in the database function name, the current schema is implicitly assumed.

The database function is assigned to the schema that has been determined implicitly or specified explicitly. The current user must have the CREATEIN privilege for this schema. The function name must differ from the names of the database functions already existing in the schema.

The current user is the owner of a database function. This user has the EXECUTE privilege to execute the database function and assign this authorization to other users.

If a results table is created in the database function, its name must be different to the results table of the SQL statement it is called by.

Argument

By specifying an argument argument1 , you assign a name to a formal parameter of the database function. This parameter name can then be used as a variable in expressions and assignments in the database function.

Data Type

Only BOOLEAN, CHAR[ACTER], DATE, FIXED, FLOAT, INT[EGER], NUMBER, REAL, SMALLINT, TIME, TIMESTAMP, and VARCHAR can be used as the data type data_type for a formal parameter of a database function.

Data types are normally defined with both length and precision. However, if you specify VARCHAR or NUMBER without length or precision, the database system derives these properties automatically depending on the context of the function call.

PUBLIC

By specifying PUBLIC, you generate a global database function that can be called without specifying a schema name. In this case, the function name must not contain a schema name and must not be the same as the name of another global database function.

RETURNS

Only BOOLEAN, CHAR[ACTER], DATE, DEC[IMAL], DOUBLE, FLOAT, INT[EGER], NUMBER, NUMERIC, REAL, SMALLINT,TIME, TIMESTAMP, and VARCHAR can be used as the data type of the return code.

DETERMINISTIC

Specifying DETERMINISTIC ensures that the function exhibits a deterministic behavior. This means that the same values are always returned for the same input values.

Specifying DETERMINISTIC is absolutely necessary if you want to use the function to generate a function index.


DROP FUNCTION Statement (drop_function_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP FUNCTION Statement (drop_function_statement)

The DROP FUNCTION statement (drop_function_statement) drops a database function.

Syntax

<drop_function_statement> ::= DROP [PUBLIC] FUNCTION <dbfunction_name>

Examples

SQL Tutorial, Database Functions

Explanation

If a schema is not specified in the database function name, the current schema is implicitly assumed.

The current user must be the owner of the database function or have the DROPIN privilege for the schema to which the database function is assigned.

The metadata of the database function is dropped.

PUBLIC

To drop a database function that was created with the property PUBLIC, you have to use the DROP PUBLIC FUNCTION statement for the function.


CREATE TRIGGER Statement (create_trigger_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE TRIGGER Statement (create_trigger_statement)

The CREATE TRIGGER statement (create_trigger_statement) defines a trigger for a base table.

Syntax

<create_trigger_statement> ::= CREATE TRIGGER <trigger_name> FOR <table_name>
AFTER <trigger_event>,... EXECUTE (<routine>) [WHENEVER <search_condition> ]

<trigger_event> :: =
INSERT
| UPDATE [(<column_list>)]
| DELETE
<column_list> ::= <column_name> | <column_list>,<column_name>

Examples

SQL Tutorial Database Trigger

Explanation

A trigger is a special type of database procedure that is assigned to a base table. A trigger cannot be executed explicitly. Instead, it is executed automatically by the database system when defined events trigger_event occur in the table.

If a schema is not specified in the table name, the current schema is accepted implicitly.

The table name must identify an existing table in the schema. The current user must be the owner of the specified table.

<trigger_event>

The trigger_event defines which event sets off the trigger. This trigger is called whenever the triggering event takes place, as long as no faults occur.

INSERT: The INSERT trigger event causes the trigger to be executed whenever a row is inserted in the table.

UPDATE: The UPDATE event causes the trigger to be executed whenever a row in the table is modified. If a column_list is specified, the trigger is only called if one of the columns in the column list is modified. You can specify IGNORE TRIGGER to ignore the UPDATE trigger event with UPDATE statements.

DELETE: The DELETE trigger event causes the trigger to be executed whenever a row is deleted from the table.

A maximum of one trigger may be defined for each trigger event in each table.

<routine>

Please note the following information regarding the trigger routine.

Each INSERT trigger implicitly has the corresponding variable NEW.<column_name> for each column in the table. When the trigger is executed, this variable has the value of the corresponding column in the inserted row. It is only permissible to specify NEW for SQL statements specified in routine_sql_statements. Specifying NEW for other statements causes an error to occur.

Each UPDATE trigger implicitly has a corresponding variable NEW.<column name> and OLD.<column name> for each column in the table. When the trigger is executed, the OLD.<column_name> variable has the value of the corresponding column in front of and NEW.<column_name> after the row is changed. Specifying NEW and OLD is optional.

Each DELETE trigger implicitly has a corresponding variable OLD.<column_name> for each column in the table. When the trigger is executed, this variable has the value of the corresponding column in the deleted row. You can only specify OLD for SQL statements specified in routine_sql_statements. Specifying OLD for other statements causes an error to occur.

A colon must always be used with NEW and :OLD in SQL statements statement used in triggers specified as routine_sql_statements
(For example: UPDATE hotel.room SET hno = :NEW.hno WHERE hno = :OLD.hno).

In SQL statements used in triggers, which are not routine_sql_statements NEW and OLD must always be used without a colon (For example: IF NEW.hno <> OLD.hno).

If, on STOP, the trigger ends an error number other than zero, the entire SQL statement that set off the trigger fails.

The SUBTRANS statement is not allowed in a trigger.

If a WHENEVER statement is specified, the trigger is only executed as long as the search condition is fulfilled. The condition cannot contain a subquery nor any set functions.

See also:

CREATE SYSTEM TRIGGER Statement

CREATE DBPROC[EDURE] Statement (create_dbproc_statement)


DROP TRIGGER statement (SAP Library - MaxDB Library)

 Entering content frame

DROP TRIGGER statement

The DROP TRIGGER statement (drop_trigger_statement) drops a trigger for a table.

Syntax

<drop_trigger_statement> ::= DROP TRIGGER <trigger_name> OF <table_name>

Examples

SQL Tutorial Database Trigger

Explanation

If a schema is not specified in the table name, the current schema is accepted implicitly.

The table name must identify an existing table in the schema. The current user must be the owner of the specified table.

The specified trigger name must identify an existing trigger of the table.

The metadata of the trigger is dropped.


COMMENT ON Statement (comment_on_statement) (SAP Library - MaxDB Library)

 Entering content frame

COMMENT ON Statement (comment_on_statement)

The COMMENT ON statement (comment_on_statement) alters or drops a comment for a database object stored in the database catalog.

Syntax

<comment_on_statement> ::= COMMENT ON <object_spec> IS <comment>

<object_spec> ::= see explanation
<comment> ::= <string_literal> | <parameter_name>

Explanation

Comments can be specified for the following database objects:

<object_spec> ::= | Explanation
COLUMN <table_name>.<column_name> | The column must exist in the specified table. The current user must be the owner of the table. The comment for this column can be requested by selecting the system table DOMAIN.COLUMNS.
DBPROC[EDURE] <dbproc_name> | dbproc_name must identify an existing database procedure, the owner of which is the current user. A comment is stored for the DB procedure. The comment can be requested by selecting the system table DOMAIN.DBPROCEDURES.
DOMAIN <domain_name> | domain_name must specify a domain for the current user. The comment for this domain can be requested by selecting the system table DOMAIN.DOMAINS.
FOREIGN KEY <table_name>.<referential_constraint_name> | referential_constraint_name must specify a referential CONSTRAINT definition for the specified table. The current user must be the owner of the table. The comment for this referential CONSTRAINT definition can be requested by selecting the system table DOMAIN.FOREIGNKEYS.
INDEX <index_name> ON <table_name> | index_name must specify an index of the specified table. The current user must be the owner of the table. The comment for this index can be requested by selecting the system table DOMAIN.INDEXES.
SEQUENCE <sequence_name> | An existing sequence must be specified using sequence_name. The current user must be the owner of the sequence. The comment for this sequence can be requested by selecting the system table DOMAIN.SEQUENCES.
[PUBLIC] SYNONYM <synonym_name> | synonym_name must specify a synonym of the current user. If PUBLIC is specified, the synonym must have the PUBLIC attribute. The comment for this synonym can be requested by selecting the system table DOMAIN.SYNONYMS.
TABLE <table_name> | The specified table must identify a base or view table of the current user that is not a temporary table. The current user must be the owner of the table. The comment for this table can be requested by selecting the system table DOMAIN.TABLES.
TRIGGER <table_name>.<trigger_name> | The specified trigger name must identify a trigger of the specified table. The current user must be the owner of the table. A comment is stored for the trigger and can be requested by selecting the system table DOMAIN.TRIGGERS.
USER <user_name> | The specified user must identify an existing user whose owner is the current user. The comment for this user can be requested by selecting the system table DOMAIN.USERS.
USERGROUP <usergroup_name> | The specified user group must identify an existing user group whose owner is the current user. The comment for this usergroup can be requested by selecting the system table DOMAIN.USERS.
<parameter_name> | The corresponding variable must contain one of the values listed in the table. The values must be encapsulated in inverted commas. Example: 'COLUMN <table_name>.<column_name>'


Authorization (SAP Library - MaxDB Library)

 Entering content frame

Authorization

SQL statements for authorization

CREATE USER statement | DROP USER Statement | ALTER USER Statement RENAME USER statement GRANT USER statement
CREATE USERGROUP statement | DROP USERGROUP statement | ALTER USER Statement RENAME USERGROUP statement GRANT USERGROUP Statement
CREATE ROLE Statement | DROP ROLE Statement |
ALTER PASSWORD statement | GRANT Statement | REVOKE statement

Examples

SQL Tutorial, Authorization


CREATE USER Statement (create_user_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE USER Statement (create_user_statement)

The CREATE USER statement (create_user_statement) defines a database user. The existence and properties of the database user are recorded in the database catalog in the form of metadata.

Syntax

<create_user_statement> ::=
CREATE USER <user_name> PASSWORD <password>
[<user_mode>]
[TIMEOUT <unsigned_integer>]
[COSTWARNING <unsigned_integer>]
[COSTLIMIT <unsigned_integer>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]
| CREATE USER <user_name> PASSWORD <password> LIKE <source_user>
| CREATE USER <user_name> PASSWORD <password> USERGROUP <usergroup_name>

<user_mode> ::= DBA | RESOURCE | STANDARD
<connect_mode> ::= ENABLE CONNECT | DISABLE CONNECT
<source_user> ::= <user_name>

Examples

SQL Tutorial, Database Users and Their Privileges

Explanation

The current user must be a database administrator (DBA user). He or she becomes the owner of the created user.

The specified user name must not be identical to the name of an existing user, user group, role or schema.

The password must be specified when a database session is started. It ensures that only authorized users can access the database system.

Any unsigned_integer specified must be greater than 0.

There is no restriction to the amount of disk space available to the user for storing his or her private and temporary tables (in the context of sizes specified for the data volumes during installation).

Database user class

When a database user is created, the database user class DBA, RESOURCE, or STANDARD of the defined user is determined using user_mode. The database user class specifies the operations that the defined user can execute.

If no database user class is specified, the STANDARD class is assumed implicitly.

The database user classes are arranged in hierarchies as follows:

· The RESOURCE user class encompasses all rights of STANDARD users.

· The DBA user class encompasses all the rights of RESOURCE users.

· The database system administrator (SYSDBA user) can generate database users of database user classes DBA, RESOURCE and STANDARD. He or she has owner rights over all users. The database system administrator has the same function and rights as a DBA user.

TIMEOUT

The timeout value is specified in seconds and must be between 30 and 32400.

Only the database system administrator (SYSDBA user) can define users with the timeout value 0.

COSTWARNING/COSTLIMIT

COSTWARNING and COSTLIMIT limit costs by preventing users from executing query statements or insert statements in the form of INSERT...SELECT... beyond a specified degree of complexity.

Before these SQL statements are executed, the costs expected to result from this statement are estimated. This SELECT costs estimate can be output with the EXPLAIN statement. In interactive mode, the estimated SELECT cost value is compared with the COSTWARNING and COSTLIMIT values specified for the user.

The COSTWARNING and COSTLIMIT values are ignored with query statements or insert statements of the form INSERT...SELECT... that are embedded in a programming language.

· COSTWARNING: specifies the estimated SELECT cost value beyond which the user receives a warning. In this case, the user is asked whether he or she really wants to execute the SQL statement.

· COSTLIMIT: specifies the estimated SELECT cost value beyond which the SQL statement is not executed.

The COSTLIMIT value must be greater than the COSTWARNING value.

EXCLUSIVE

If the EXCLUSIVE condition is not specified, NOT EXCLUSIVE is assumed implicitly.

· EXCLUSIVE: prevents the user from opening two different database sessions simultaneously.

· NOT EXCLUSIVE: Allows the user to open several database sessions simultaneously.

DEFAULTCODE ASCII, DEFAULTCODE UNICODE

The value of the special database parameter DEFAULT_CODE is overridden with the code attribute specified in DEFAULTCODE for objects of the specified user.

LIKE

The current user must have owner authorization over the source_user .

If the source user is not a member of a usergroup, the new user receives the same user class and values for PERMLIMIT, TEMPLIMIT, TIMEOUT, COSTWARNING, COSTLIMIT, and EXCLUSIVE as the source user. The new user receives all privileges granted to the source user by other users.

If the source user is a member of a user group, a new member is created in this user group with the new user name.

USERGROUP

The user issuing the SQL statement must be the owner of the specified user group. The new user then becomes a member of this usergroup.

See also:

CREATE USERGROUP Statement (create_usergroup_statement)

ENABLE CONNECT, DISABLE CONNECT

You use connect_mode to define whether a user can open database sessions.

If CONNECT mode is not specified, ENABLE CONNECT is implicitly assumed. ENABLE and DISABLE cannot both be specified at the same time.

· ENABLE CONNECT: The user can open database sessions.

· DISABLE CONNECT: The user cannot open database sessions.


CREATE USERGROUP Statement (create_usergroup_statement) (SAP Library - MaxDB Library)

 Entering content frame

CREATE USERGROUP Statement (create_usergroup_statement)

The CREATE USERGROUP statement (create_usergroup_statement) defines a user group.

Syntax

<create_usergroup_statement> ::=
CREATE USERGROUP <usergroup_name>
[<usergroup_mode>]
[TIMEOUT <unsigned_integer>]
[COSTWARNING <unsigned_integer>]
[COSTLIMIT <unsigned_integer>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<usergroup_mode> ::= RESOURCE | STANDARD
<connect_mode> ::= ENABLE CONNECT | DISABLE CONNECT

Explanation

The current database user must be a database administrator (DBA user).

The specified user group name must not be identical to the name of an existing database user, user group, or role.

You can use the CREATE USER statement to define multiple users who are to belong to this user group. All private objects created by members of the usergroup are identified by the usergroup name. The owner of a private object is the group, not the user who created the object. Each user can work with any private object of the group, as if this user were the owner of the object. Privileges can only be granted or revoked from the group. A privilege cannot be granted or revoked from a single member of the group.

Any unsigned_integer specified must be greater than 0.

There is no restriction to the amount of disk space available to the user for storing his or her private and temporary tables (in the context of sizes specified for the data volumes during installation).

Database user class

When a user group is created, the database user class RESOURCE or STANDARD is defined for this user group using usergroup_mode.

If no database user group class is specified, the STANDARD class is assumed implicitly.

The database user class RESOURCE encompasses all the rights of STANDARD users.

TIMEOUT

The timeout value is specified in seconds and must be between 30 and 32400.

Only the database system administrator (SYSDBA user) can define users with the timeout value 0.

COSTWARNING/COSTLIMIT

COSTWARNING and COSTLIMIT limit costs by preventing users in this user group from executing query statements or insert statements in the form of INSERT...SELECT... beyond a specified degree of complexity and that are therefore cost-intensive.

Before these SQL statements are executed, the costs expected to result from this statement are estimated. This SELECT costs estimate can be output with the EXPLAIN statement. In interactive mode, the estimated SELECT cost value is compared with the COSTWARNING and COSTLIMIT values specified for the user.

The COSTWARNING and COSTLIMIT values are ignored with query statements or insert statements of the form INSERT...SELECT... that are embedded in a programming language.

· COSTWARNING: specifies the estimated SELECT cost value beyond which the user receives a warning. In this case, the user is asked whether he or she really wants to execute the SQL statement.

· COSTLIMIT: specifies the estimated SELECT cost value beyond which the SQL statement is not executed.

The COSTLIMIT value must be greater than the COSTWARNING value.

EXCLUSIVE

If the EXCLUSIVE condition is not specified, NOT EXCLUSIVE is assumed implicitly.

· EXCLUSIVE: Prevents users in this user group from opening two different database sessions simultaneously.

· NOT EXCLUSIVE: Allows the user to open several database sessions simultaneously.

DEFAULTCODE ASCII, DEFAULTCODE UNICODE

The value of the special database parameter DEFAULT_CODE is overridden with the code attribute specified in DEFAULTCODE for objects of the specified user.

ENABLE CONNECT, DISABLE CONNECT

You use connect_mode to define whether members of the user group defined later will be able to open database sessions. This is only valid however if CONNECT mode is not specified in the CREATE USER statement for the relevant group member.

If CONNECT mode is not specified, ENABLE CONNECT is implicitly assumed. ENABLE and DISABLE cannot both be specified at the same time.

· ENABLE CONNECT : Members of the user group can open database sessions.

· DISABLE CONNECT : Members of the user group cannot open database sessions.


DROP USER Statement (drop_user_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP USER Statement (drop_user_statement)

The DROP USER statement (drop_user_statement) deletes a database user definition. The metadata for the database user to be dropped is deleted from the database catalog.

Syntax

<drop_user_statement> ::= DROP USER <user_name> [<cascade_option>]

Examples

SQL Tutorial, Database Users and Their Privileges

Explanation

The current database user must have owner authorization over the database user that is to be dropped.

The specified database user cannot be logged on to the database system when the DROP USER statement is executed.

Dropping a user of the database user class DBA does not affect any database users created by this user. The database administrator (SYSDBA user) becomes the new owner of these database users.

<cascade_option>

· If no CASCAde option is specified, or the CASCADE option is specified in CASCADE, all schemas, synonyms and tables of the user to be dropped, including indexes, privileges, view tables and so on based on these objects, are deleted along with the user.

· If RESTRICT specified as CASCADE option and the database user to be dropped does not belong to a user group, but is the owner of synonyms or tables, the DROP USER statement will fail.

All database objects that the database user being dropped has created in schemas, which he or she does not own, are retained. The owner of the schema in question becomes the new owner of these objects.


DROP USERGROUP Statement (drop_usergroup_statement) (SAP Library - MaxDB Library)

 Entering content frame

DROP USERGROUP Statement (drop_usergroup_statement)

The DROP USERGROUP statement (drop_usergroup_statement) drops a user group definition. The metadata of the user group to be dropped is dropped from the database catalog.

Syntax

<drop_usergroup_statement> ::= DROP USERGROUP <usergroup_name> [<cascade_option>]

Explanation

The current database user must have owner authorization over the user group to be dropped.

The database users in this user group must not be logged on to the database system when the DROP USERGROUP statement is executed.

<cascade_option>

· If the user group to be dropped is the owner of synonyms or tables, and if the CASCADE option RESTRICT was specified, the DROP USERGROUP statement fails.

· If no cascade option or the cascade option CASCADE was specified, all the synonyms and tables of the user group to be dropped, as well as all indexes, privileges, view tables, and so on based on these objects, are dropped together with the user group.


ALTER USER Statement (alter_user_statement) (SAP Library - MaxDB Library)

 Entering content frame

ALTER USER Statement (alter_user_statement)

The ALTER USER statement (alter_user_statement) changes the properties assigned to a database user.

Syntax

<alter_user_statement> ::= ALTER USER <user_name> [<user_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<user_mode> ::= DBA | RESOURCE | STANDARD
<connect_mode> ::= ENABLE CONNECT | DISABLE CONNECT

Examples

SQL Tutorial, Database Users and Their Privileges, Roles

Explanation

At least one of the optional clauses must be specified.

The user name specified must denote a defined user who is not a member of a user group.

The current user must have right of ownership for the user for whom properties are to be changed.

The specified user cannot be logged on to the database system when the ALTER USER statement is executed.

Database user class

You can use user_mode to specify the database user class for the database user. The database user class specifies the operations that the defined user can execute.

· DBA: This specification means that the database user class DBA is to be assigned to the specified database user. Only the database system administrator (SYSDBA user) can assign this database user class.

· RESOURCE: This specification means that the database user RESOURCE is to be assigned to the specified database user. If the user had previously been assigned the database user class DBA, the right of ownership/authorization for all users that this user has created is withdrawn for this user. The database system administrator (SYSDBA user) becomes the new owner.

· STANDARD: This specification means that the current database user class is withdrawn for this database user and that he or she loses the right to create his or her own base tables. All base tables created by the user are dropped.

· No Database User Class: If a database user class has not been specified, the user class of the database user remains unchanged.

NULL

If the NULL value is specified, the value defined previously is canceled.

DEFAULT ROLE

DEFAULT ROLE defines which of the roles assigned to the user is activated automatically when a database session is opened.

· ALL: All roles assigned to the user are activated when a session is opened. EXCEPT can be used to exclude specified roles from activation.

· NONE: None of the roles are active when a database session for the user is opened.

· Role name specified: The roles specified here must exist and be assigned to the user. They are activated automatically when a database session for a user is opened.

TIMEOUT, COSTWARNING, COSTLIMIT, [NOT] EXCLUSIVE, DEFAULTCODE, ENABLE | DISABLE CONNECT

You can find an explanation of these options in the description for the CREATE USER statement (create_user_statement).


ALTER USER GROUP Statement (alter_usergroup_statement) (SAP Library - MaxDB Library)

 Entering content frame

ALTER USER GROUP Statement (alter_usergroup_statement)

The ALTER USER GROUP statement (alter_usergroup_statement) changes the properties assigned to a user group.

Syntax

<alter_usergroup_statement> ::= ALTER USERGROUP <usergroup_name> [<usergroup_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<usergroup_mode> ::= RESOURCE | STANDARD
<connect_mode> ::= ENABLE CONNECT | DISABLE CONNECT

Explanation

At least one of the optional clauses must be specified.

The specified user group must be a defined user group.

The current database user must have the right of ownership for the user group for which the properties are to be changed.

The members of the specified user group must not be logged onto the database system when the ALTER USERGROUP statement is executed.

Database User Class of User Group

You use usergroup_mode to specify a database user class for this user group.

· RESOURCE: specifies that the user group is to be assigned to the database user class RESOURCE.

· STANDARD: specifies that the user group is having its current database user class withdrawn and losing the right to hold its own data. All base tables created by the user group are deleted.

· No Database User Class: If a database user class has not been specified, the database user class of the user group remains unchanged.

NULL

If the NULL value is specified, the value defined previously is canceled.

DEFAULT ROLE

DEFAULT ROLE defines which of the roles assigned to the user group is activated automatically when a session is opened by a group member.

· ALL: All roles assigned to the user group are activated when a session is opened. EXCEPT can be used to exclude specified roles from activation.

· NONE: None of the roles is activated when a session is opened by a member of the user group.

· Role name specified: The roles specified here must exist and be assigned to the user group. They are automatically activated when a session is opened for a group member.

ENABLE CONNECT, DISABLE CONNECT

You use connect_mode to define whether all members of the user group are allowed to open database sessions.

If CONNECT mode is not specified, ENABLE CONNECT is implicitly assumed. ENABLE and DISABLE cannot both be specified at the same time.

· ENABLE CONNECT: All members of the user group can open database sessions.

· DISABLE CONNECT: No member of the user group can open a database session. You can enable the individual members to open database sessions again using the ALTER USER statement.

TIMEOUT, COSTWARNING, COSTLIMIT, [NOT] EXCLUSIVE, DEFAULTCODE

You can find an explanation of these options in the description for the CREATE USER GROUP.


RENAME USER statement (SAP Library - MaxDB Library)

 Entering content frame

RENAME USER statement

The RENAME USER statement (rename_user_statement) changes the name of a database user.

Syntax

<rename_user_statement> ::= RENAME USER <user_name> TO <new_user_name>

<new_user_name> ::= <user_name>

Explanation

The database user that you want to modify must exist. The user name must identify a database user whose owner is the current user.

The new user name (new_user_name)must not be identical to the name of an existing database user, user group, schema, or role.

The database user you want to modify must not be logged on to the database system when the RENAME USER statement is executed. This does not apply when the database system administrator (SYSDBA user) changes its name.

When the database system administrator changes its name, then the current transaction is implicitly ended by a COMMIT instruction. After the database system administrator has been successfully changed, a COMMIT instruction is implicitly executed.

The database system automatically adapts the objects that are dependent on the database user to be modified to the new user name.


RENAME USERGROUP Statement (rename_usergroup_statement) (SAP Library - MaxDB Library)

 Entering content frame

RENAME USERGROUP Statement (rename_usergroup_statement)

The RENAME USERGROUP statement (rename_usergroup_statement) changes the name of a user group.

Syntax

<rename_usergroup_statement> ::= RENAME USERGROUP <usergroup_name> TO <new_usergroup_name>

<new_usergroup_name> ::= <usergroup_name>

Explanation

The user group to be modified must exist. The name of the usergroup must identify a usergroup for which the current database user has the owner privilege.

The new user group name (new_usergroup_name)must not be identical to that of an existing database user, user group, or role.

The members of this user group must not be logged onto the database system when the RENAME USERGROUP statement is executed.

The database system automatically adapts the objects that are dependent on the modified user group to the new user group name.


GRANT USER Statement (grant_user_statement) (SAP Library - MaxDB Library)

 Entering content frame

GRANT USER Statement (grant_user_statement)

The GRANT USER statement (grant_user_statement) grants another database user the owner privilege that the database system administrator (SYSDBA user) or a database administrator (DBA user) has over a database user.

Syntax

<grant_user_statement> ::= GRANT USER <granted_users> [FROM <user_name>] TO <user_name>

<granted_users> ::= <user_name>,...| *

Explanation

The current user must be a database administrator (DBA user).

The user names specified after the FROM and TO keywords must be different and must identify DBA users. If FROM <user_name> is not specified, the current database user is assumed implicitly.

The database users specified after the GRANT USER keywords must exist and must not be a member of a user group. They must have the user class RESOURCE user or STANDARD user. The FROM user must have the owner privilege for these database users. If * is specified, the GRANT USER statement affects all database users for which the FROM user has the owner privilege.

The FROM user grants the TO user the owner authorization which the FROM user has over the specified database users. These rights are revoked from the FROM user. In particular, the TO user is granted the right to drop any specified database user and to alter the user class and other properties of this user.


GRANT USERGROUP Statement (grant_usergroup_statement) (SAP Library - MaxDB Library)

 Entering content frame

GRANT USERGROUP Statement (grant_usergroup_statement)

The GRANT USER GROUP statement (grant_usergroup_statement) grants another user the owner privilege that the database system administrator (SYSDBA user) or a database administrator (DBA user) has over a user group.

Syntax

<grant_usergroup_statement> ::= GRANT USERGROUP <granted_usergroups> [FROM <user_name>] TO <user_name>

<granted_usergroups> ::= <usergroup_name>,...| *

Explanation

The current user must be a DBA user.

The user names specified after the FROM and TO keywords must be different and must identify DBA users. If FROM <user name>is not specified, the current user is assumed implicitly.

The user group name must identify a user group for which the FROM user possesses owner rights. All user groups for which the FROM user has owner rights are indicated by an asterisk *.

The FROM user grants the TO user the owner rights that the FROM user has over the specified user groups. These rights are revoked from the FROM user. In particular, the TO user is granted the right to drop any user group, to alter the user class and properties of this user group, and to drop or create group members.


ALTER PASSWORD Statement (SAP Library - MaxDB Library)

 Entering content frame

ALTER PASSWORD Statement

The ALTER PASSWORD statement (alter_password_statement) is required to alter a user's password.

Syntax

<alter_password_statement> ::= ALTER PASSWORD <old_password> TO <new_password>
| ALTER PASSWORD <user_name> <new_password>

<old_password> ::= <password>
<new_password> ::= <password>

Examples

SQL Tutorial, Database Users and Their Privileges

Explanation

You change the password for the current user using ALTER PASSWORD <old_password> TO <new_password>. The old password must be the same as the password stored in the database catalog for the current user.

If you want to change a password for a user using the user_name , the current user must be the database system administrator (SYSDBA).

The new password must be specified in the CONNECT statement when the user next opens a database session.


CREATE ROLE statement (SAP Library - MaxDB Library)

 Entering content frame

CREATE ROLE statement

The CREATE ROLE statement (create_role_statement) defines a role.

Syntax

<create_role_statement> ::= CREATE ROLE <role_name> [IDENTIFIED BY <password>]

Examples

SQL Tutorial, Roles

Explanation

The current database user must be a database administrator (DBA user).

The role name must not be the same as the name of an existing role, database user, or user group.


DROP ROLE statement (SAP Library - MaxDB Library)

 Entering content frame

DROP ROLE statement

The DROP ROLE statement (drop_role_statement) drops a role.

Syntax

<drop_role_statement> ::= DROP ROLE <role_name>

Examples

SQL Tutorial, Roles

Explanation

The current database user must be the owner of the role.

The metadata of the role to be dropped is dropped from the database catalog.


GRANT statement (SAP Library - MaxDB Library)

 Entering content frame

GRANT statement

The GRANT statement (grant_statement) grants privileges for tables, individual columns, roles, and schemas, the SELECT privilege for sequences, and the execution privilege (EXECUTE privilege) for database procedures or database functions.

Syntax

<grant_statement> ::= GRANT <priv_spec>,... TO <grantee>,... [WITH GRANT OPTION]
| GRANT <schema_priv_spec> TO <grantee>,...
| GRANT EXECUTE ON <dbproc_name> TO <grantee>,...
| GRANT EXECUTE ON <dbfunction_name> TO <grantee>,...
| GRANT SELECT ON <sequence_name> TO <grantee>,... [WITH GRANT OPTION]

<grantee> ::= <user_name> | <usergroup_name> | <role_name> | PUBLIC

Examples

SQL Tutorial, Database Users and Their Privileges, Roles

Explanation

The privileges in the privilege specification (priv_spec or schema_priv_spec) are granted to the database users, user groups, and roles specified in the grantee list.

<grantee>

The owner of an object for which privileges are granted is not allowed to be contained in the grantee list. A database user in the grantee list must not denote a member of a user group.

<role_name>

If a role is granted to a database user or user group, it extends the set of roles which can be activated for this database user or user group. The database user activates the role either with the SET statement or by including the role in the set of roles automatically activated when a session was opened with the ALTER USER statement or ALTER USERGROUP statement.

A cycle may not be created when a role is assigned to a role, that is

· a role may not be assigned to itself.

· if a role R1 is assigned to a role R2, R2 may not be assigned to R1.

· if a role R1 is assigned to a role R2 and R2 is assigned to a role R3, R3 may not be assigned to either R2 or R1.

· and so on.

PUBLIC

The listed privileges are granted to all database users, both to current ones and to any created later.

A role cannot be assigned to PUBLIC.

WITH GRANT OPTION

Users or user groups identified as grantees are allowed to pass on their privileges to other users. The current user must have the relevant authorization to pass on these privileges.

The WITH GRANT OPTION cannot be specified if grantee identifies a role.

GRANT <schema_priv_spec>

GRANT CREATEIN ON is used to grant the user identified by grantee authorization to create database objects in the specified schema.

GRANT DROPIN ON is used to grant the user identified by grantee authorization to drop database objects from the specified schema.

GRANT EXECUTE ON

GRANT EXECUTE ON allows the user identified by grantee to execute the specified database procedure or database function. The current user must be the owner of the database procedure or database function.

GRANT SELECT ON

GRANT SELECT ON allows the user identified by grantee to use the specified sequence.


REVOKE statement (SAP Library - MaxDB Library)

 Entering content frame

REVOKE statement

The REVOKE statement (revoke_statement) revokes privileges.

Syntax

<revoke_statement> ::= REVOKE <priv_spec>,... FROM <grantee>,... [<cascade_option>]
| REVOKE <schema_priv_spec> FROM <grantee>,...
| REVOKE EXECUTE ON <dbproc_name> FROM <grantee>,...
| REVOKE EXECUTE ON <dbfunction_name> FROM <grantee>,...
| REVOKE SELECT ON <sequence_name> FROM <grantee>,... [<cascade_option>]

<grantee> ::= <user_name> | <usergroup_name> | <role_name> | PUBLIC

Examples

SQL Tutorial, Database Users and Their Privileges, Roles

Explanation

The owner of a table or schema can revoke the privileges granted for this table or schema for any database user.

If a database user is not the owner of the table or schema, he may only revoke the privileges he has granted.

If the SELECT privilege was granted for a table without specifying any column names, REVOKE SELECT (<column_name>,...)can be used to revoke the SELECT privilege for the specified columns. The SELECT privilege for table columns that have not been specified remains unchanged. The same is true for the UPDATE, REFERENCES, and SELUPD privileges.

<grantee>

The owner of an object for which privileges are granted is not allowed to be contained in the grantee list. A database user in the grantee list must not denote a member of a user group.

PUBLIC

The listed privileges are revoked for all database users, both for current ones and for any created later.

The REVOKE statement can cascade, that is, revoking a privilege from one user can result in this privilege being revoked from other users who have received the privilege from the user in question.

Let U1, U2, and U3 be users.
U1 grants U2 the privilege set P WITH GRANT OPTION.
U1 grants U3 the privilege set P' (P'<=P).

If U1 revokes the privilege set P'' (P''<=P) from user U2, the privilege set (P'*P'') is revoked implicitly from user U3.

· Whenever the SELECT privilege is revoked from the owner of a view table for a column that does not occur in the table_expression of the view definition (CREATE VIEW statement) as a selected column, the column defined by select_column is dropped from the view table.
If this view table is used in the FROM clause of another view table, the described procedure is applied recursively to this view table.

· If the SELECT privilege is revoked from the owner of a view table for a column or table occurring in the table_expression of the view definition, the view table is dropped, along with all view tables, privileges, and synonyms that are dependent on this view table, if no CASCADE option or the cascade option CASCADE is specified. The REVOKE statement will fail if the CASCADE option RESTRICT is specified.

<schema_priv_spec>

REVOKE CREATEIN ON is used to revoke from the user identified by grantee authorization to create database objects in the specified schema. Database objects that the user specified in grantee has already created in the specified schema are not revoked.

REVOKE DROPIN ON is used to revoke from the user identified by grantee authorization to drop database objects from the specified schema.

EXECUTE ON

If REVOKE EXECUTE is specified, the authorization to execute the database procedure or database function is revoked from the user identified by grantee. The authorization for execution can only be revoked by the owner of the database procedure or database function.

SELECT ON

If REVOKE SELECT is specified, the authorization to use the specified sequence is revoked from the user identified by grantee. This REVOKE statement can also cascade.

See also:

Privileges: Overview


Data Manipulation (SAP Library - MaxDB Library)

 Entering content frame

Data Manipulation

The following is an introduction to the data manipulation language (DML) used by the database system.

Every SQL statement that manipulates data implicitly sets an exclusive lock for each inserted, updated, or deleted row (for more information, see Locks).

SQL statements for data manipulation

INSERT statement | UPDATE statement | DELETE statement
NEXT STAMP statement | CALL statement |


INSERT Statement (insert_statement) (SAP Library - MaxDB Library)

 Entering content frame

INSERT Statement (insert_statement)

The INSERT statement (insert_statement) creates new rows in a table.

Syntax

<insert_statement> ::=
INSERT [INTO] <table_name> [(<column_name>,...)] VALUES (<insert_expression>,...) [<duplicates_clause>] [NOWAIT]
| INSERT [INTO] <table_name> [(<column_name>,...)] <query_expression> [<duplicates_clause>] [NOWAIT]
| INSERT [INTO] <table_name> SET <set_insert_clause>,... [<duplicates_clause>] [NOWAIT]

<insert_expression> ::= <extended_expression> | <subquery>
<extended_expression> ::= <expression> | DEFAULT | STAMP

<set_insert_clause> ::= <column_name> = <extended_value_spec>

Examples

SQL Tutorial, Inserting, Changing and Deleting Rows

Explanation

The table name must identify an existing base table, view table, or a synonym.

The user must have the INSERT privilege for the table identified by the table name. If the table name identifies a view table, it may be the case that the owner of the view table has not been granted the INSERT privilege as the view table is not updateable.

<column_name>, <set_insert_clause>

If column names column_name or a SET INSERT clause set_insert_clause are specified, all column names must be columns in the specified table. If the table was defined without a key (the SYSKEY column has been created internally by the database), the SYSKEY column cannot appear in the column names sequence or in a SET INSERT clause. A column cannot occur more than once in a sequence of column names or in more than one SET INSERT clause.

A specified column (identified by column name or the column name in the set_insert_clause) is a target column. Target columns can be specified in any order.

· If you specify neither a column name nor a SET INSERT clause, the effect is the same as if you specify a sequence of columns containing all table columns in the sequence in the CREATE TABLE statement or CREATE VIEW statement. In such cases, all table columns defined by the user are target columns.

· The number of insert_expression expressions must be equal to the number of target columns. The ith expression is assigned to the ith column name.

· You can specify both an extended_expression and subquery at the same time.

· You can also specify one or more subqueries.

· The subqueries you specify may return no more than one results row.

· The number of selected columns specified in the query_expression must be the same as the number of target columns.

· All mandatory columns of the table identified by the table name must be target columns.

· If the table name identifies a view table, rows are inserted into the view table’s underlying base table(s). In such cases, the target columns of the table name specified correspond to the columns of the view table’s underlying base tables. The term ‘target column’ always refers to the corresponding column in the base table in the following.

<extended_expression>

You specify an extended_expression using an expression or the DEFAULT or STAMP keywords.

· expression
An expression in an INSERT statement may not contain a column specification .
In an expression, the value specified by a parameter specification is the value of the parameter identified by the specification. If you specify an indicator parameter and this has a negative value, the value defined by the parameter specification is a NULL value.

· DEFAULT keyword
DEFAULT denotes the value used as the DEFAULT for the column.

· STAMP key word
The database system is capable of generating unique values. These comprise a series of consecutive numbers starting at X'000000000001'. Values are assigned in ascending order. There is no guarantee that the sequence of values will be uninterrupted. The STAMP key word returns the next value generated by the database system.
This can be used in the INSERT statement or the UPDATE statement, though only on columns of the CHAR(n) BYTE data type where n>=8.
If the user wants to find out the generated value before it is applied to a column, the SQL statement NEXT STAMP statement must be used.

NOWAIT

If you specify NOWAIT, the system does not wait for the lock to be released where a lock collision occurs, but returns an error message immediately.

Related Information

· Data Type of the Target Column and Data Type of the Value to be Inserted

· Join View Table, QUERY Expression, CONSTRAINT Definition, Trigger in INSERT Statement


Data Type of the Target Column and Inserted Value (SAP Library - MaxDB Library)

 Entering content frame

Data Type of the Target Column and Inserted Value

Assume that C is a target column and v a value that is not equal to the NULL value.

v is to be inserted in C by means of an INSERT statement.
v is to be used to modify C with an UPDATE statement.

Target column C

Required value for v

Numeric column

Number within the permissible range of C.

INSERT statement: if v is the result of a QUERY expression, decimal places are rounded off if necessary.

UPDATE statement: if v is the result of an expression that does not comprise one single numeric literal, decimal places are rounded off if necessary.

Alphanumeric column with the code attribute ASCII, UNICODE

Character string whose length is not greater than the length attribute of C. Subsequent blanks are ignored when the length of v is calculated. If the length of v is shorter than the length attribute of C, then v is lengthened by the corresponding number of blanks.

Alphanumeric column with the code attribute BYTE

Hexadecimal character string whose length is not greater than the length attribute of C. Subsequent binary zeros are ignored when the length of v is calculated. If the length of v is shorter than the length attribute of C, then v is lengthened by the corresponding number of binary zeros.

Data type DATE

Date value in the current date format.

Data type TIME

Time value in the current time format.

Data type TIMESTAMP

Timestamp value in the current timestamp format.

Data type BOOLEAN

One of the values TRUE or FALSE (BOOLEAN)


Join View Table, QUERY Expression, CONSTRAINT Definition, Trigger in INSERT Statement

 Entering content frame

Background documentation Join View Table, QUERY Expression, CONSTRAINT Definition, Trigger in INSERT Statement

Join view table in an INSERT statement

· If the table name in an INSERT statement does not identify a join view table and if a row containing the key of the row to be inserted already exists, the result will depend on the DUPLICATES clause. The INSERT statement will fail if no DUPLICATES clause is specified.

· If the table name identifies a join view table, a row is inserted into each base table on which the view table is based. If the key table of the view table already contains a row with the key of the row to be inserted, the INSERT statement will fail. If any row in a base table, which is not the key table of the view table, already contains the key of the row to be inserted, the INSERT statement will fail if the row to be inserted does not match the existing row.

QUERY expression in an INSERT statement

· If a QUERY expression is specified in the INSERT statement, the specified table must not be a join view table.
The QUERY expression defines a result table whose ith column is assigned to the ith target column. A row is formed from each row in the result table and inserted in the base table. Each of these rows is composed as follows:
Each base table column that is a target column of the INSERT statement contains the value of the corresponding column in the current result table row.

· If a QUERY expression is not specified in the INSERT statement, exactly one row is inserted in the specified table. The inserted row is composed as follows: Each base table column that is a target column of the INSERT statement contains the value assigned to the respective target column.

The following still applies to the inserted row(s):

· All columns of the base table that are not target columns of the INSERT statement and for which a DEFAULT specification exists contain the DEFAULT value (DEFAULT).

· All columns of the base table that are not target columns of the INSERT statement and for which no DEFAULT specification exists contain the NULL value .

CONSTRAINT definition in an INSERT statement

If CONSTRAINT definitions exist for base tables in which rows are to be inserted with the INSERT statement, each row that is to be inserted is checked to determine whether it fulfills the CONSTRAINT definition. The INSERT statement fails if this is not the case for at least one row.

If at least one of the base tables in which rows are to be inserted with the INSERT statement is the referencing table of a referential CONSTRAINT definition, the database system checks each row to be inserted to determine whether the foreign key resulting from the row exists as a key or as a value of an index defined with UNIQUE in the corresponding referenced table (referenced_table). The INSERT statement fails if this is not the case for at least one row.

Trigger in an INSERT statement

If triggers that are to be executed after an INSERT statement were defined for base tables in which rows are to be inserted with the INSERT statement, they are executed accordingly. The INSERT statement will fail if one of these triggers fails.


UPDATE Statement (update_statement) (SAP Library - MaxDB Library)

 Entering content frame

UPDATE Statement (update_statement)

The UPDATE statement (update_statement) changes column values in table rows.

Syntax

<update_statement> ::=
UPDATE [OF] <table_name> [<reference_name>] SET <set_update_clause>,... [KEY <key_spec>,...] [WHERE <search_condition>] [IGNORE TRIGGER] [NOWAIT]
| UPDATE [OF] <table_name> [<reference_name>] (<column_name>,...) VALUES (<extended_value_spec>,...) [KEY <key_spec>,...] [WHERE <search_condition>] [IGNORE TRIGGER] [NOWAIT]
| UPDATE [OF] <table_name> [<reference_name>] SET <set_update_clause>,... WHERE CURRENT OF <result_table_name> [NOWAIT]
| UPDATE [OF] <table_name> [<reference_name>] (<column_name>,...) VALUES (<extended_value_spec>,...) WHERE CURRENT OF <result_table_name> [NOWAIT]

<set_update_clause> ::= <column_name> = <extended_expression>
| <column_name>,... = (<extended_expression>,...)
| (<column_name>,...) = (<extended_expression>,...)
| <column_name> = <subquery>
| (<column_name>,...) = <subquery>

Examples

SQL Tutorial, Inserting, Changing and Deleting Rows

Explanation

The table name must identify an existing base table, view table, or synonym.

Columns whose values are to be updated are known as target columns. You can specify one or more target columns plus new values for these columns after you specify the table name and, if required, the reference name.

· All target columns must identify columns in the table specified, and each target column may only be listed once.

· The number of specified values extended_value_spec must be identical to the number of target columns. The ith value specification is assigned to the ith target column.

· The current user must possess the UPDATE privilege for each target column in the specified table.
If the table name identifies a view table, it is possible that even the owner of the view table may not be able to update column values as the view table is not updateable.

· If the table specified is a view table, only column values from rows in the underlying base tables for the view table are updated. The target columns of the table specified correspond to the columns in the underlying base tables of the view table in such cases. The term “target column” always refers to the corresponding column in the base table in the following.

See also:

Data Type of the Target Column and Data Type of the Value to be Inserted

Which rows are updated?

You set which rows in the table are to be updated by specifying one of the following:

· Optional sequence of key specification and optional search condition
Key specification and no search condition: A row with the specified key values already exists. The corresponding values are then assigned to the target columns in this row. No rows are updated if a row with the specified key values does not exist.
Key specification and a search condition: A row containing the specified key values exists. The search condition is applied to this row. If the search condition is satisfied, the corresponding values are assigned to the target columns in this row. No rows are updated if a row with the specified key values does not exist or if a search condition is applied to a row and not fulfilled.
No key specification and a search condition: The search condition is applied to each row in the specified table. The corresponding values are assigned to the target columns for all rows that satisfy the search condition.

· When using CURRENT OF so that the cursor position in the result_table_name is specified: If the cursor is not positioned on a row in the results table, no rows are updated.

· If none of the above are specified, all rows in the table specified are updated.

· If no row is found that satisfies the conditions defined by the optional clauses, the following message appears: 100 row not found.

Values in key columns that have been defined by a user in a CREATE TABLE statement or ALTER TABLE statement can also be updated. If the implicitly-created key column SYSKEY exists, this cannot be updated.

If the table name specifies a join view table, columns may exist that can only be updated together with other columns.

Determining the Column Combination for a Column in a Join View Table

To determine the combination of columns for a given column v in a join view table, proceed as follows:

...

1. Define the base table Tj containing the column to which v corresponds.

2. Define the unique table sequence Ti1...Tik that contains Tj.

3. Define last table Ti1 in this sequence that has a 1:1 relationship with the key table.

4. The columns in the join view table corresponding to the foreign key columns of Ti1 in the referential CONSTRAINT definition between Ti1 and Ti1+1 relevant for the join view table, are elements of the column combination.

5. All columns of the join view table corresponding to columns of the tables Ti1+1...Tik are elements of the column combination.

To update the column value for the relevant column, a value must be specified for each column in the column combination. This applies for all target columns that fulfill one of the following conditions:

· The target columns are located in a base table that is not a key table of the join view table and does not have a 1:1 relationship with the join view table key table.

· The target columns are foreign key columns of a referential CONSTRAINT definition that is relevant for the join view table.

SET <set_update_clause>

The expression in a SET UPDATE clause set_update_clause cannot contain a set function .

The subquery must produce a results table with no more than one row. The number of columns must be equal to the number of target columns specified.

IGNORE TRIGGER

You specify IGNORE TRIGGER to ensure that no UPDATE-trigger is executed by the UPDATE statement. This prevents endless recursion if updated rows are updated again in the trigger.

CURRENT OF

If CURRENT OF is specified, the table name in the FROM clause of the QUERY statement used to construct the result_table_name, must be identical to the table name in the UPDATE statement.

If CURRENT OF is specified and the cursor is positioned on a row in the results table, the corresponding values are assigned to the target columns of the corresponding row. This is the row in the table specified in the FROM clause of the query statement used to form the row of the results table. It is essential that the results table was specified using FOR UPDATE. It is impossible to predict whether or not the updated values in the corresponding row are visible the next time this row in the results table is accessed.

NOWAIT

If you specify NOWAIT, the system does not wait for the lock to be released where a lock collision occurs, but returns an error message immediately.

Reasons for an UPDATE Statement Failure

If CONSTRAINT definitions exist for base tables in which rows were updated using the UPDATE statement, each updated row is checked against the CONSTRAINT definitions. The UPDATE statement fails if this is not the case for one or more of the modified rows.

For each row in which the value of foreign key columns has been updated with the UPDATE statement, the database system checks whether each resulting foreign key exists as a key or as a value of an index defined with UNIQUE in the corresponding referenced_table. The UPDATE statement fails if this is the case for one or more of the modified rows.

For each row in which the value of a referenced_column of a referential CONSTRAINT definition is to be updated using the update statement, the database system checks whether there are rows in the corresponding foreign key table that contain the current column values as foreign keys. The UPDATE statement fails if this is the case for one or more rows.

If triggers are defined for base tables in which rows are to be updated with the UPDATE statement, for execution after an UPDATE statement, these are executed accordingly. The UPDATE statement will fail if one of these triggers fails.

Additional Information

The update statement can only be used to assign a value to columns with the data type LONG if it contains a parameter or NULL specification. The assignment of values to LONG columns is therefore only possible with some database tools.


DELETE Statement (delete_statement) (SAP Library - MaxDB Library)

 Entering content frame

DELETE Statement (delete_statement)

The DELETE statement (delete_statement) deletes rows in a table.

Syntax

<delete_statement> ::=
DELETE [FROM] <table_name>
[<reference_name>]
[KEY <key_spec>,...]
[WHERE <search_condition>]
[NOWAIT]
| DELETE [FROM] <table_name> [<reference_name>] WHERE CURRENT OF
<result_table_name>
[NOWAIT]

Examples

SQL Tutorial, Inserting, Changing and Deleting Rows

Explanation

The table name must identify an existing base table, view table or synonym.

The current user must have been granted the DELETE privilege for the specified table. If the table name identifies a view table, the owner of the view table may also not have the DELETE privilege because the view table is not updateable.

<table_name>

Table name identifies a view table: the rows of the underlying base tables for the view tables are deleted.

Table name identifies a join view table: The following rows only are deleted:

· Rows in the key table of the join view table

· Rows in underlying base tables for the view table that have a 1:1 relationship with the key table.

<key_spec>, search_condition>

The following specifications determine which rows in the table are deleted:

· Optional sequence of key specifications and optional search condition
Key specification and no search condition: A row with the specified key values already exists. This row is deleted. No rows are deleted if a row with the specified key values does not exist.
Key specification and a search condition: A row containing the specified key values exists. The search condition is applied to this row. If the search condition is satisfied, then the row is deleted. No rows are deleted if a row with the specified key values does not exist or if a search condition applied to a row is not satisfied.
No key specification and a search condition: The search condition is applied to each row in the specified table. All rows for which the search condition is satisfied are deleted.

· When using CURRENT OF so that the cursor position in the result_table_name is specified, no rows are deleted if the cursor is not positioned on a row in the results table.

· If none of the above are specified, all rows in the specified table are deleted.

· If no row is found that satisfies the conditions defined by the optional clauses, the following message appears: 100 row not found.

CURRENT OF

If CURRENT OF is specified, the table name in the FROM clause of the QUERY statement used to construct the result_table_name must be identical with the table name in the DELETE statement.

If CURRENT OF is specified and the cursor is positioned on a row in the result table, the corresponding row is deleted. This is the row in the table specified in the FROM clause of the query statement used to form the row of the results table. It is essential that the results table was specified using FOR UPDATE. Afterwards, the cursor is positioned after the row in the results table. It is impossible to predict whether or not the updated values in the corresponding row are visible the next time this row in the results table is accessed.

NOWAIT

If you specify NOWAIT, the system does not wait for the lock to be released where a lock collision occurs, but returns an error message immediately.

DELETE rule

For each row deleted in the course of the delete statement which originates from a referenced_table of at least one referential CONSTRAINT definition, one of the following actions is carried out - depending on the DELETE rule of the referential constraint definition:

· DELETE CASCADE: all matching rows in the corresponding foreign key table are deleted.

· DELETE RESTRICT: If there are matching rows in the corresponding foreign key table, the delete statement fails.

· DELETE SET NULL: The NULL value is assigned to the respective foreign key columns of all matching rows in the corresponding foreign key table.

· DELETE SET DEFAULT: The DEFAULT value set by the DEFAULT specification is assigned to the respective foreign key columns for all matching rows in the corresponding foreign key table.

Triggers

If triggers are defined for base tables from which rows are to be deleted using the DELETE statement, for execution after a DELETE statement, these are executed accordingly. The DELETE statement will fail if one of these triggers fails.


NEXT STAMP Statement (next_stamp_statement) (SAP Library - MaxDB Library)

 Entering content frame

NEXT STAMP Statement (next_stamp_statement)

The NEXT STAMP statement (next_stamp_statement) supplies a unique key that was generated by the database system.

Syntax

<next_stamp_statement> ::= NEXT STAMP [INTO] <parameter_name>

Explanation

The database system is able to generate unique values. Such values are serial numbers beginning at X'0000000000001' and are assigned in ascending order. It cannot be ensured that a sequence of values is uninterrupted. These values can be stored in a column with the data type CHAR(n) BYTE with n>=8.

The NEXT STAMP statement assigns the next key generated by the database system to the variable denoted by parameter name.

The NEXT STAMP statement can only be embedded in a programming language and cannot be used in interactive mode.

The keyword STAMP can be also used in an INSERT statement or an UPDATE statement if the next value is to be generated by the database system and stored in a column without the user knowing the value.


CALL statement (SAP Library - MaxDB Library)

 Entering content frame

CALL statement

The CALL statement (call_statement) causes a database procedure to be executed.

Syntax

<call_statement> ::= CALL <dbproc_name>
[(<expression>,...)]
[WITH COMMIT]

Examples

SQL Tutorial, Database Procedures

Explanation

The specified database procedure name must identify an existing database procedure.

The current user must have the EXECUTE privilege for the database procedure.

The number of expressions (expression) must be equal to the number of formal parameters for the database procedure.

The data type of the ith expression must be compatible with the data type of the ith formal parameter for the database procedure.

If the ith formal parameter for the database procedure has the OUT or INOUT mode (see CREATE DBPROC statement), the corresponding expression must be a parameter specification.

WITH COMMIT

If WITH COMMIT is specified, the current transactions are terminated with COMMIT after the database procedure has been executed correctly. If execution of the database procedure fails, the current transaction is terminated with ROLLBACK.


Data query (SAP Library - MaxDB Library)

 Entering content frame

Data query

The following sections provide an introduction to the query language (also referred to as the data retrieval language) used by the database system.

SQL statements for data queries

QUERY statement | SINGLE SELECT statement | EXPLAIN statement
FETCH statement | CLOSE statement |

Examples

SQL Tutorial Data Query


QUERY Statement (query statement) (SAP Library - MaxDB Library)

 Entering content frame

QUERY Statement (query statement)

A QUERY statement (query_statement) specifies a result table that can be ordered. There are different ways of formulating a QUERY statement.

Syntax

<query_statement> ::= <declare_cursor_statement>
| <recursive_declare_cursor_statement>
| <select_statement>

Examples

SQL Tutorial Data Query

Explanation

A QUERY statement generates a named/unnamed result table. Unlike a named results table, an unnamed results table cannot be specified in a FROM clause or in the CURRENT OF <result_table_name> of a subsequent SQL statement.

The following QUERY statements can be distinguished:

Basic types of QUERY statement |
DECLARE CURSOR statement | A named result table is defined and generated.
SELECT statement select_statement | An unnamed results table is defined and generated.
Recursive DECLARE CURSOR statement | This statement is used to generate bills of material.

The rules specified for the declare_cursor_statement also apply to the select_statement.

The order of rows in the results table depends on the system’s internal search strategies and does not follow any predictable order. The only reliable way to sort the rows of results is to specify an ORDER clause.

Updateable Results Table

A results table and its underlying base tables can be updated if the query statement fulfills the following conditions:

· The QUERY statement must consist of a DECLARE CURSOR statement.

· The QUERY expression (query_expression) can only consists of one QUERY specification (query_spec).

· Only one base table or updateable view table may be specified in the FROM clause of the QUERY specification.

· The key word DISTINCT or a GROUP or HAVING clause cannot be specified.

· Expressions cannot contain a set function.

· The results table must be a named results table. In other words, it cannot have been generated by a select statement.


DECLARE CURSOR statement (declare_cursor_statement) (SAP Library - MaxDB Library)

 Entering content frame

DECLARE CURSOR statement (declare_cursor_statement)

The DECLARE CURSOR statement (declare_cursor_statement) defines a named results table with a result_table_name.

Syntax

<declare_cursor_statement> ::= DECLARE <result_table_name> CURSOR FOR <select_statement>

Explanation

Existing results tables are implicitly deleted when a results table is generated with the same name.

All results tables generated within the current transaction are deleted implicitly at the end of the transaction using the ROLLBACK statement.

All results tables are deleted implicitly at the end of the session using the RELEASE statement. A CLOSE statement can be used to delete them explicitly first.

If the name of a results table is identical to that of a base table, view table, or a synonym, these tables cannot be accessed as long as the results table exists. If an INSERT, UPDATE, DELETE or LOCK statement is carried out for a results table whose name is identical with the name of a base table, view table or synonym, the corresponding non-results table is accessed.

Whenever a results table is processed, the cursor position can be before the first row, on a row, after the last row or between two rows. After generating the results table, the cursor is positioned before the first row of the results table.

The search strategy used determines how the search is carried out. When the SELECT statement is executed, the system searches for all the rows in the results table and generates the results table physically. When a FETCH statement is executed, the system searches for the next relevant row in the result table but does not store it physically.

If the results table is empty, you receive the return code 100 – row not found.


Recursive DECLARE CURSOR Statement (SAP Library - MaxDB Library)

 Entering content frame

Recursive DECLARE CURSOR Statement

The recursive DECLARE CURSOR statement (recursive_declare_cursor_statement) can be used to receive bills of material by means of a command.

Syntax

<recursive_declare_cursor_statement> ::=
DECLARE <result_table_name> CURSOR FOR WITH RECURSIVE <reference_name> (<alias_name>,...) AS
(<initial_select> UNION ALL <recursive_select>) <final_select>

<initial_select> ::= <query_spec>
<recursive_select> ::= <query_spec>
<final_select> ::= <select_statement>

DECLARE C CURSOR FOR
WITH RECURSIVE PX (MAJOR, MINOR, NUMBER, MAINMAJOR) AS
(SELECT W,X,Y,W FROM T WHERE W = 'aaa' UNION ALL
SELECT W,X,Y,MAINMAJOR FROM T, PX WHERE MINOR = T.W)
SELECT MAINMAJOR,MINOR,NUMBER FROM PX ORDER BY NUMBER

Explanation

If a result table name with the specified reference name existed before the recursive DECLARE CURSOR statement was executed, the corresponding cursor is closed implicitly.

<initial_select>

The QUERY specification (initial_select) is executed and the result is entered in a temporary result table whose name is defined by specifying the reference name (reference_name). The column names contained in it receive the names from the list of alias names. The number of output columns in the QUERY specification must be identical to the number of alias names.

<recursive_select>

The QUERY specification recursive select should comprise a SELECT statement that contains at least the reference name in the FROM clause and one JOIN predicate between this table and a different table from the FROM clause.

The QUERY specification recursive_select is repeated until it does not produce a result. The respective results are (logically) entered in the temporary result table whose name is defined by the reference name. This table is extended continuously. It is ensured, however, that the results of the nth execution are used for the n+1th execution to avoid an endless loop.

<final_select>

The SELECT statement final_select must only contain one QUERY expression that comprises a QUERY specification.

This is a SELECT statement across the table with the specified reference name in which the following elements can be used: set functions, GROUP clause, HAVING clause, ORDER clause, LOCK option


SELECT Statement (select_statement) (SAP Library - MaxDB Library)

 Entering content frame

SELECT Statement (select_statement)

A SELECT statement (select_statement) defines and creates an unnamed results table).

Syntax

<select_statement> ::= <query_expression>
[<order_clause>]
[<update_clause>]
[<lock_option>]
[FOR REUSE]

Explanation

The rules specified for the DECLARE CURSOR statement also apply for the SELECT statement select_statement .

The search strategy used determines how the search is carried out. When the SELECT statement is executed, the system searches for all the rows in the results table and generates the results table physically. When a FETCH statement is executed, the system searches for the next relevant row in the results table but does not store it physically. This must be taken into account for the time behavior of FETCH statements.

Updateable Results Table

A results table and its underlying base tables can be updated if the query statement fulfills the following conditions:

· The QUERY statement consists of a DECLARE CURSOR statement.

· The QUERY expression query_expression may only consist of one QUERY specification query_spec .

· Only one base table or updateable view table may be specified in the FROM clause of the QUERY specification.

· The key word DISTINCT or a GROUP or HAVING clause may not be specified.

· Expressions cannot contain a set function (set_function_spec).

ORDER Clause

The ORDER clause order_clause specifies a sorting sequence for a results table.

UPDATE Clause

An UPDATE clause update_clause can only be specified for updateable results tables. With updateable results tables, any position within a particular results table always corresponds to a position in the underlying tables and thus, ultimately, to a position in one or more base tables.

If an UPDATE clause was specified, the base tables can be updated using the position in the results table (CURRENT OF <result_table_name>) using an UPDATE statement or a DELETE statement. You use a LOCK statement to request a lock for the relevant rows in each of the base tables concerned.

LOCK Option

The LOCK option lock_option determines which locks are to be set for the rows that are read.

FOR REUSE

If the result table is to be specified in the from clause of a subsequent QUERY statement, the table should be specified using the FOR REUSE keywords. If FOR REUSE is not specified, the reusability of the results table depends on internal system strategies.

Since specifying FOR REUSE increases the response times of some query statements, this should only be specified if it is necessary to reuse the results table.


QUERY expression (query expression) (SAP Library - MaxDB Library)

 Entering content frame

QUERY expression (query expression)

QUERY expressions are required to generate an unordered result table in a SELECT statement.

Syntax

<query_expression> ::= <query_term>
| <query_expression> UNION [ALL] <query_term>
| <query_expression> EXCEPT [ALL] <query_term>

<query_term> ::= <query_primary>
| <query_term> INTERSECT [ALL] <query_primary>

<query_primary> ::= <query_spec>
| (<query_expression>)

<query_spec> ::= SELECT [<distinct_spec>] <select_column>,... <table_expression>

Examples

SQL Tutorial, Selecting, Arranging and Renaming Columns, Set Operations: UNION, INTERSECT, EXCEPT

Explanation

A QUERY specification specifies a result table. The result table is generated from a temporary result table. The temporary result table is the result of the table expression.

If the QUERY expression consists of only one QUERY specification query_spec, the result of the expression is the unchanged result of the QUERY specification.

If a QUERY expression consists of more than one QUERY specification, the number of selected columns in all QUERY specifications of the QUERY expression must be the same. The respective ith selected columns of the QUERY specifications must be comparable.

Column type (select column) |
Numeric columns | Are comparable. If all ith selected columns are numeric columns, the ith column of the result table is a numeric column.
Alphanumerical column, code attribute BYTE | Are comparable.
Alphanumeric columns, code attribute ASCII, UNICODE | Are comparable. Are also comparable with date, time, and timestamp values.
All ith columns are date values | The ith column of the result table is a date value.
All ith columns are time values | The ith column of the result table is a time value.
All ith columns are timestamp values | The ith column of the result table is a timestamp value.
Columns of the type BOOLEAN | Are comparable.
All ith columns are of the type BOOLEAN | The ith column of the result table is of the type BOOLEAN.
Columns of any other data type (not mentioned above) | The ith column of the result table is an alphanumeric column. Comparable columns with differing code attributes are converted.

If columns are comparable but have different lengths, the corresponding column of the result table has the maximum length of the underlying columns.

Column names in the result table

The names of the result table columns are formed from the names of the selected columns of the first QUERY specification.

Let T1 be the left operand of UNION, EXCEPT, or INTERSECT (defined in query term). Let T2 be the right operand. Let R be the result of the operation on T1 and T2.

· A row is a duplicate of another row if both have identical values in each column. NULL values are assumed to be identical. Special NULL values are assumed to be identical.

· UNION: R contains all rows from T1 and T2.

· EXCEPT: R contains all rows from T1 which have no duplicate rows in T2.

· INTERSECT: R contains all rows from T1 which have a duplicate row in T2. A row from T2 can only be a duplicate row of exactly one row from T1. More than one row from T1 cannot have the same duplicate row in T2.

· DISTINCT is implicitly assumed for the query expressions belonging to T1 and T2 if ALL is not specified. All duplicate rows are removed from R.

If parentheses are missing, then INTERSECT will be evaluated before UNION and EXCEPT. UNION and EXCEPT have the same precedence and will be evaluated from left to right in the case that parentheses are missing.


Table Expression (table_expression) (SAP Library - MaxDB Library)

 Entering content frame

Table Expression (table_expression)

A table expression (table_expression) specifies a simple or a grouped result table.

Syntax

<table_expression> ::= <from_clause> [<where_clause>] [<group_clause>] [<having_clause>]

<from clause> ::= FROM <from
table_spec>,...
<where_clause> ::= WHERE <search_condition>
<group_clause> ::= GROUP BY <expression>,...
<having_clause> ::= HAVING <search_condition>

<from_table_spec> ::= <table_name> [AS] [<reference_name>]
| <result_table_name> [AS] [<reference_name>]
| (<query_expression>) [AS] [<reference_name>]
| <joined_table>

Examples

SQL Tutorial, Selecting and Arranging Rows, Creating Groups: GROUP BY, HAVING

Explanation

A table expression produces a temporary result table. If there are no optional clauses, this temporary result table is the result of the from clause. Otherwise, each specified clause is applied to the result of the previous condition and the table is the result of the last specified clause. The temporary result table contains all of the columns in all the tables listed in the from clause.

The order of the GROUP and HAVING clauses is random.

FROM clause

The from clause from_clause specifies a table. This table can be derived from several base, view, and result tables. The number of underlying tables in a FROM clause is equal to the total number of underlying tables in each FROM TABLE specification from_table_spec. The number of underlying tables in a from clause must not exceed 64.

The database user must have the SELECT privilege for each specified table or for at least one column in the specified table.

The result of a FROM clause is a table that is generated from the specified tables as follows:

· If the FROM clause comprises a single FROM TABLE specification, the result is the specified table.

· If the from clause contains more than one from table specification, a result table is built that includes all possible combinations of all rows of the first table with all rows of the second table, etc. From a mathematical perspective, this is the Cartesian product of all the tables.

This rule describes the effect of the from clause, not its actual implementation.

WHERE Clause (where_clause)

The WHERE clause where_clause specifies the conditions for building a result table.

The search condition search_condition is applied to each row in the temporary result table formed by the FROM clause. The result of the WHERE clause is a table that only contains those rows from the result table for which the search condition is true.

The search condition may only contain column specifications for which the user has the SELECT privilege.

Each column specification directly contained in the search condition must uniquely identify a column from the tables specified in the FROM clause of the table expression. If necessary, the column name must be qualified with the table identifier. If reference names reference_name are defined in the FROM clause for table names, they must be used as table identifiers in the search condition.

Expressions expression in the search condition must not contain a set function, except in the exception below:

SELECT ... FROM uppertab,...
HAVING ... (SELECT ...
WHERE MIN(uppertab, ...)...
)

The SELECT statement is allowed in the specified format.

In a subquery used in a HAVING clause, it is possible to use WHERE clauses that contain set functions for the columns of the table specified in the SELECT … HAVING statement.

In the case of correlated subqueries, a column specification can identify a column in a table that was specified in a FROM clause of a different table expression in the QUERY specification.

Each subquery in the search condition is usually evaluated only once. In the case of a correlated subquery, the subquery is executed for each row in the result table generated by the from clause.

GROUP Clause (group_clause)

The GROUP clause group_clause specifies grouping criteria for a result table.

Each column name specified in the GROUP clause must identify a result_column_name in the selected columns of the QUERY specification or uniquely identify a column in the tables on which the QUERY specification is based. If necessary, the column name must be qualified with the table identifier.

The GROUP clause allows the set functions AVG, COUNT, MAX/MIN, STDDEV, SUM, and VARIANCE to be applied not only to the entire result table, but also to groups of rows within a result table. A group is defined by the grouping columns specified in GROUP BY. All rows of a group have the same values in the grouping columns. Rows containing the NULL value in a grouping column are combined to form a group. The same is true for the special NULL value.

GROUP BY generates one row for each group in the result table. The selected columns in the QUERY specification, therefore, may contain only those grouping columns, operations on the grouping columns, and expressions that use the functions SUM, AVG, MAX/MIN, COUNT, STDDEV, and VARIANCE.

If no rows satisfy the conditions indicated in the WHERE clause and a group clause was specified, the result table is empty.

Specifying scalar subqueries is not permissible in a GROUP clause.

HAVING Clause (having_clause)

The HAVING clause having_clause specifies the properties of a group.

Each expression in the search condition search_condition that does not occur in the argument of a set function must identify a grouping column.

If the having clause is used without a GROUP clause, the result table built so far is regarded as a group.

The search condition is applied to each group in the result table. The result of the HAVING clause is a table that only contains those groups for which the search condition is true.

FROM TABLE Specification (FROM_TABLE_spec)

Each FROM TABLE specification from_table_spec in a FROM clause specifies either no table identifier, one table identifier, or any number of table identifiers.

Reference Name (reference_name)

If a FROM TABLE specification does not contain a reference name, the table name table_name or result table name result_table_name is the table identifier.

If a FROM TABLE specification contains a reference name, the reference name is the table identifier.

Each reference name must be different from each identifier that specifies a table name. If a result table name is a table identifier, there must not be a table identifier table_name with the format [<schema_name>.]<result_table_name>. Each table identifier must differ from any other table identifier.

The validity range of the table identifiers is the entire QUERY specification within which the FROM TABLE specification is used. If column names are to be qualified within the query specification, table identifiers must be used for this purpose.

Reference names are essential for formulating JOIN conditions within a table. For example, FROM HOTEL, HOTEL X defines a reference name X for the second occurrence of the HOTEL table. Reference names are also necessary sometimes to formulate correlated subqueries. Similarly, a reference name is required if a column in the result of a QUERY expression can only be identified uniquely by specifying the reference name.

Number of Underlying Tables

If a from table specification denotes a base table, result table, or the result of a query expression, the number of tables underlying this from table specification is equal to 1.

If a from table specification denotes a complex view table, the number of tables underlying this from table specification is equal to 1.

If a from table specification denotes a view table that is not a complex view table, the number of underlying tables is equal to the number of tables underlying the FROM clause of the view table.

If a from table specification denotes a joined table joined_table, the number of tables underlying this from table specification is equal to the total number of underlying tables of the FROM TABLE specifications contained in it.

QUERY Expression (query_expression)

A FROM TABLE specification that contains a QUERY expression query_expression specifies a table identifier only if a reference name reference_name is specified.

If a FROM TABLE specification contains a QUERY expression, a result table is built that matches this QUERY expression. This result table obtains a system-internal name that collides neither with an unnamed nor a named result table. While the from condition is being processed, the result of the query expression is used in the same way as a named result table and is deleted implicitly after processing.

A table expression containing at least one OUTER JOIN indicator or OUTER JOIN TYPE (LEFT | RIGHT | FULL) is subject to strict restrictions if it is to be based on more than two tables. For this reason, a QUERY expression is frequently required to formulate a QUERY specification that is to be based on at least three tables and in which at least one OUTER JOIN indicator is used in a JOIN predicate.

JOINED TABLE (joined_table)

A from table specification containing a joined table joined_table specifies the number of table identifiers that are specified by the FROM TABLE specifications it contains.

See also:

Restrictions for SQL Statements


Subquery (subquery) (SAP Library - MaxDB Library)

 Entering content frame

Subquery (subquery)

A subquery (subquery) specifies a result table that can be used in certain predicates and for updating column values.

A scalar subquery (scalar_subquery) is a special subquery.

Syntax

<subquery> ::= (<query_expression>)

<scalar_subquery> ::= <subquery>

Explanation

Subqueries can be used in a SET UPDATE clause of an UPDATE statement. In this case, the subquery must produce a result table that contains a maximum of one row.

Subqueries can be used in an INSERT statement (INSERT statement).

Subqueries can be used in the following predicates:

· Comparison Predicate

· EXISTS Predicate

· IN Predicate

· Quantified Predicate

Correlated subqueries

Certain predicates can contain subqueries. These subqueries, in turn, can contain other subqueries, and so on. A subquery with further subqueries is the higher-level subquery of the subqueries it contains.

· The search condition of a subquery can contain column names that belong to tables that are contained in higher levels in the FROM clause. This type of subquery is called a correlated subquery.

· Tables that are used in subqueries in this way are called correlated tables. No more than 16 correlated tables are allowed within an SQL statement.

· Columns that are used in subqueries in this way are called correlated columns. A total of 64 correlated columns can be used in an SQL statement.

If the qualifying table name or reference name does not uniquely identify a table at a higher level, the table at the lowest level is taken from the non-unique tables.

If the column name is not qualified by the table name or reference name, the tables at higher levels are searched. The column name must be unique in all tables of the from clause to which the table found belongs.

If a correlated subquery is used, the values of one or more columns in a temporary result row at a higher level are included in the searchcondition of a subquery at a lower level, whereby the result of the subquery is used to uniquely qualify the higher-level temporary result row.

SELECT name,zip FROM hotel X,room
WHERE X.hno = room.hno AND room.type = 'single' AND room.price <
(SELECT AVG(room.price) FROM hotel,room
WHERE hotel.hno = room.hno AND hotel.zip = X.zip AND room.type =
'single')

For every city, the names of all hotels are searched which have single room prices less than the average price of the city concerned.

NAME | ZIP
Eight Avenue | 10019

Scalar subquery (scalar_subquery)

Scalar subqueries are produced through the restriction of the result set of a result table to a maximum of one value.

Scalar subqueries can be used as expressions.

Scalar subqueries are not allowed in a GROUP clause or an ORDER clause.

Scalar subquery in the list of values to be inserted in an INSERT statement:

INSERT INTO hotel VALUES((SELECT MAX(hno)+10 FROM hotel), 'Three Seasons', 90014, 'Los Angeles', '247 Broad Street')

Scalar subquery in a selected column:

SELECT hno, price, (SELECT MIN(price) FROM room) FROM room


ORDER clause (SAP Library - MaxDB Library)

 Entering content frame

ORDER clause

The ORDER clause (order_clause) specifies a sort sequence for a result table.

Syntax

<order_clause> ::= ORDER BY <sort_spec>,...

<sort_spec> ::= <unsigned_integer> [ASC | DESC] | <expression> [ASC | DESC]

Examples

SQL Tutorial, Selecting and Arranging Rows

Explanation

The sort columns specified in the order clause determine the sequence of the sort criteria.

A number n specified in the sorting specification sort_spec identifies the nth column in the result table. n must be less than or equal to the number of columns in the result table.

Scalable subqueries are not permissible in an ORDER clause.

ASC/DESC

The default setting is ASC.

· ASC: the values are sorted in ascending order.

· DESC: the values are sorted in descending order.

Related Information

If a QUERY expression consists of more than one QUERY specification, sort specifications must be specified in the form <unsigned_integer> [ASC | DESC].

If a query specification was specified with DISTINCT, the total of the internal lengths of all sorting columns must not exceed 1016 characters; otherwise it can comprise 1020 characters.

Column names in the sort specifications must be columns in the tables of the FROM clause or a result_column_name in the selected columns of the QUERY specification.

If DISTINCT or a set function was used in a selected column, the sort specification must identify a column in the result table.

Values are compared in accordance with the rules for the comparison predicate. For sorting purposes, NULL values are greater than non-NULL values, and special NULL values are greater than non-NULL values but less than NULL values.

See also:

Restrictions for SQL Statements


UPDATE Clause (update_clause) (SAP Library - MaxDB Library)

 Entering content frame

UPDATE Clause (update_clause)

The UPDATE clause (update_clause) specifies that a result table is to be updateable. The system sets exclusive locks for all rows that form this result table.

Syntax

<update_clause> ::= FOR UPDATE [OF <column_name>,...] [NOWAIT]

Explanation

The specified column names must identify columns in the tables underlying the QUERY specification. They do not have to occur in a selected column.

The QUERY statement that contains the UPDATE clause must generate an updateable result table.

The UPDATE clause is a prerequisite for using the result table with CURRENT OF <result_table_name> in the UPDATE statement, in the DELETE statement, and in the LOCK statement . The update clause is meaningless for other forms of the above mentioned SQL statements, as well as in interactive mode.

All columns of the underlying base tables are updateable if the user has the corresponding privileges, irrespective of whether they were specified as a column name.

For performance reasons, it is recommended to specify column names only if the cursor is to be used in an update statement.

Assume that the column x fulfills the following conditions:

· x is contained in the primary key or an index

· x is contained in the search condition of the QUERY statement

· x is contained in a SET UPDATE clause of the UPDATE statement in the type x = <expression>, where the expression contains the column x.

If all of the conditions are fulfilled, it is essential that you specify the column x as a column name in the UPDATE clause.

If at least one of these conditions is not satisfied, the column name should not be specified.

NOWAIT

If NOWAIT is not specified and a lock collision occurs, the system waits for the locked data object to be released (but only as long as is specified by the special database parameter REQUEST_TIMEOUT).

If NOWAIT is specified, the database system does not wait until another user has released a data object. Instead, it issues a return code if a collision occurs. If there is no collision, the requested lock is set.


LOCK Option (lock_option) (SAP Library - MaxDB Library)

 Entering content frame

LOCK Option (lock_option)

The LOCK option (lock_option) requests a lock for each selected row.

Syntax

<lock_option> ::=
WITH LOCK [(IGNORE)|(NOWAIT)] [EXCLUSIVE|OPTIMISTIC] [ISOLATION LEVEL <unsigned_integer>]

unsigned_integer may only have the values 0, 1, 2, 3, 10, 15, 20, or 30

Explanation

(IGNORE)

If (IGNORE) is not specified and a lock collision occurs, the system waits for a locked row to be released (but only as long as is specified by the special database parameter REQUEST_TIMEOUT).

If (IGNORE) is specified, the system does not wait for a locked row to be released by another transaction. Instead, it ignores this row if a lock collision occurs. If there is no collision, the requested lock is set. (IGNORE) can only be specified in isolation level 1.

(NOWAIT)

If (NOWAIT) is not specified and a lock collision occurs, the system waits for the locked data object to be released (but only as long as is specified by the database parameter REQUEST_TIMEOUT).

If (NOWAIT) is specified, the database system does not wait until another user has released a data object. Instead, it returns a message if a collision occurs. If there is no collision, the requested lock is set.

EXCLUSIVE

An exclusive lock is defined. As long as the locked row has not been changed or deleted, the exclusive lock can be released using the UNLOCK statement.

OPTIMISTIC

OPTIMISTIC defines an optimistic lock on rows. This is only meaningful in connection with the isolation levels 0, 1, 10, and 15.

Shared lock

If neither EXCLUSIVE nor OPTIMISTIC is specified, a shared lock is set for the corresponding rows.

ISOLATION LEVEL

The locks are set independently of the ISOLATION specification isolation_spec of the CONNECT statement. The isolation level of the LOCK option can have a higher or lower value than that in the CONNECT statement.

If an isolation level is specified by the lock option, it is only valid for the duration of the SQL statement that contains the LOCK option specification. Afterwards, the isolation level that was specified in the CONNECT statement is applicable again. In the case of a SELECT statement (select_statement) for which the results table is not actually physically generated, the specified isolation level is valid for this SQL statement and all FETCH statements that refer to the result table. The isolation level that was specified in the CONNECT statement is applicable for other SQL statements that were executed in the meantime.

See also:

LOCK Statement (lock_statement)

Concepts of the Database System, Locks for Database Objects


FETCH Statement (fetch_statement) (SAP Library - MaxDB Library)

 Entering content frame

FETCH Statement (fetch_statement)

The FETCH statement (fetch_statement) assigns the values from the current row in a results table to parameters.

Syntax

<fetch_statement> ::=
FETCH [FIRST | LAST | NEXT | PREV | <position> | SAME] [<result_table_name>] INTO <parameter_spec>,...

<position> ::=
POS (<unsigned_integer>)
| POS (<parameter_spec>)
| ABSOLUTE <integer>
| ABSOLUTE <parameter_spec>
| RELATIVE <integer>
| RELATIVE <parameter_spec>

Explanation

If the name of a results table is not specified, the fetch statement refers to the last unnamed result table that was generated.

Depending on the search strategy, either all the rows in the results table are searched when the SELECT statement (select_statement) is executed and the results table is physically generated, or each next result table row is searched when a FETCH statement is executed, without being physically stored. This must be taken into account for the time behavior of FETCH statements. Depending on the isolation level selected, this can also cause locking problems with a FETCH, e.g. return code 500 - LOCK REQUEST TIMEOUT.

Row not found

Let C be the position in the result table. The return code 100 - ROW NOT FOUND is output and no values are assigned to the parameters if any of the following conditions is true:

· The results table is empty.

· C is positioned on or after the last results table row, and FETCH or FETCH NEXT is specified.

· C is positioned on or before the first row of the result table and FETCH PREV is specified.

· FETCH is specified with a position that is not within the results table.

FIRST | LAST | NEXT | PREV

· FETCH FIRST or FETCH LAST: the results table is not empty. C is positioned in the first or last row of the results table and the values of this row are assigned to the parameters.

· FETCH or FETCH NEXT: C is positioned before a row in the results table. C is positioned in this row and the values of this row are assigned to the parameters.

· FETCH or FETCH NEXT: C is positioned in a row that is not the last row in the results table. C is positioned directly on the next row and the values in this row are assigned to the parameters.

· FETCH PREV: C is positioned after a row in the results table. C is positioned in this row and the values of this row are assigned to the parameters.

· FETCH PREV: C is positioned in a row that is not the first row in the results table. C is positioned in the immediately preceding row and the values in this row are assigned to the parameters.

<position>

A range of options exists for position specification using the key words POS, ABSOLUTE and RELATIVE.

Position

Regardless of whether an ORDER clause is specified, the rows in a results table are ordered implicitly to make internal numbering possible. You can display this by specifying a rowno column as a selected column. The specification of a position refers to this internal numbering.

· POS (<unsigned_integer>): If a position that is less than or equal to the number of rows in the results table was defined with POS, C is set to the corresponding row and the values of this row are assigned to the parameters. If a position is specified that is greater than the number of rows in the results table, the message 100 – ROW NOT FOUND is output.

· POS (<parameter_spec>)If a position is defined with POS, the parameter specification must denote a positive integer.

ABSOLUTE

ABSOLUTE (<integer>)/ABSOLUTE (<parameter_spec>): Let x be the value of the integer or parameter specification specified with the position. Let abs_x be the absolute value of x.

· FETCH ABSOLUTE and x is : FETCH ABSOLUTE is the same as a FETCH POS.

· FETCH ABSOLUTE and x=0: the return code 100 – row not found is set.

· FETCH ABSOLUTE and x is negative: C is set after the last row of the result table where FETCH PREV is executed abs_x times. The last row found is the result of the SQL statement. This description refers to the logic and not the flow of the statement. If abs_x is larger than the number of rows in the result table, the message 100 – ROW NOT FOUND is output.

RELATIVE

RELATIVE (<integer>)/RELATIVE (<parameter_spec>): Let x be the value of the integer  or parameter specification specified with the position. Let abs_x be the absolute value of x.

· FETCH RELATIVE and x is positive: FETCH NEXT is executed x times from the current position in the result table C.

· FETCH RELATIVE and x=0: corresponds to a FETCH SAME.

· FETCH RELATIVE and x is negative: FETCH PREV is executed abs_x times starting from C. This description refers to the logic and not the flow of the statement. The return code 100 – row not found is output if one of the conditions in the section "row not found" is fulfilled.

SAME

The last row found in the result table is output again.

<parameter_spec>

The parameter specification specified in a position must denote an integer. The remaining parameters in the parameter specification are output parameters. The parameter identified by the nth parameter specification corresponds to the nth value in the current results table row. If the number of columns in this row exceeds the number of specified parameters, the column values for which no corresponding parameters exist are ignored. If the number of columns in the row is less than the number of specified parameters, no values are assigned to the remaining parameters. You must specify an indicator name in order to assign NULL values or special NULL values.

Numbers are converted and character strings are truncated or lengthened, if necessary, to suit the corresponding parameters. If an error occurs when assigning a value to a parameter, the value is not assigned and no further values are assigned to the corresponding parameters for this fetch statement. Any values that have already been assigned to parameters remain unchanged.

Let p be a parameter and v the corresponding value in the current row of the result table.

· v is a number: p must be a numeric parameter and v must be within the permissible range of p.

· v is a character string: p must be an alphanumeric parameter.

Additional Information

If FOR REUSE was not specified in the QUERY statement, subsequent INSERT, update, or delete statements that refer to the underlying base table and are executed by the current user or other users can cause multiple executions of a FETCH statement to denote different rows in the result table, even though the same position was specified.

You can prevent other users from making changes by executing a LOCK statement for the entire table or by using the isolation level 2, 3, 15, 20, or 30 with the CONNECT statement or the LOCK option in the query statement.
FOR REUSE must be specified if this is not possible or if users make changes to this table themselves. Changes made in the meantime are not visible in this case.

If a results table that was generated physically contains LONG columns and if the isolation levels 0, 1, and 15 are used, consistency cannot be ensured between the content of the LONG columns and that of the other columns. If the result table was not generated physically, consistency can only be ensured above isolation level 0. For this reason, it is advisable to ensure consistency by using a LOCK statement or the isolation levels 2, 3, 20, or 30.


CLOSE Statement (close_statement) (SAP Library - MaxDB Library)

 Entering content frame

CLOSE Statement (close_statement)

The CLOSE statement (close_statement) deletes a result table.

Syntax

<close_statement> ::= CLOSE [<result_table_name>]

Explanation

· If the name of a result table is specified, this result table is deleted. This name can be used to denote another result table.

· If no result table name is specified, an existing unnamed result table is deleted.

An unnamed result table is implicitly deleted by the next SELECT statement.

Result tables are implicitly deleted when a result table with the same name is generated.

All result tables generated within the current transaction are implicitly deleted at the end of the transaction using the ROLLBACK statement.

All result tables are implicitly deleted at the end of the session using the RELEASE statement.


SINGLE SELECT statement (single_select_statement) (SAP Library - MaxDB Library)

 Entering content frame

SINGLE SELECT statement (single_select_statement)

A SINGLE SELECT statement (single_select_statement) specifies a result table with one row and assigns the values in this row to parameters.

Syntax

<single_select_statement> ::=
SELECT [<distinct_spec>] <select_column>,...
INTO <parameter_spec>,... FROM <from_table_spec>,...
[<where_clause>] [<group_clause>] [<having_clause>] [<lock_option>]

Explanation

The number of rows in the result table must not be greater than one. If the result table is empty or contains more than one row, corresponding messages or return codes are issued and no values are assigned to the parameters specified in the parameter specifications. The return code 100 – row not found - is set if the result table is empty.

If the result table contains just one row, the values of this row are assigned to the corresponding parameters. The FETCH statement rules apply for assigning the values to the parameters.

The order of the GROUP and HAVING clauses is random.

A LONG column can be specified in a selected column select_column in the uppermost sequence of selected columns in a single select statement only if the DISTINCT specification distinct_spec DISTINCT was not used there.


EXPLAIN Statement (explain_statement) (SAP Library - MaxDB Library)

 Entering content frame

EXPLAIN Statement (explain_statement)

The EXPLAIN statement (explain_statement) describes the search strategy used internally by the database system for a QUERY statement or SINGLE SELECT statement (statements for searching for certain rows in specific tables). This statement indicates, in particular, whether and in which form key columns or indexes are used for the search.

Syntax

<explain_statement> ::=
EXPLAIN [(<result_table_name>)] <query_statement>
| EXPLAIN [(<result_table_name>)] <single_select_statement>

Explanation

The explain statement can be used to check the effect of creating or dropping indexes on the choice of search strategy for the specified SQL statement. You can also estimate the time needed by the database system to process the specified SQL statement. The specified QUERY or SINGLE SELECT statement is not executed while the EXPLAIN statement is being executed.

The EXPLAIN statement generates a result table. This result table may be named. If the optional name specification is missing, the result table is given the name SHOW.

Structure of the EXPLAIN Result Table

OWNER | CHAR(64)
TABLENAME | CHAR(64)
COLUMN_OR_INDEX | CHAR(64)
STRATEGY | CHAR(40)
PAGECOUNT | CHAR(10)

The sequence in which the SELECT is processed is described by the order of the rows in the result table.

COLUMN_OR_INDEX

The COLUMN_OR_INDEX column shows which key column or inverted column or which index is used for the strategy.

STRATEGY

The STRATEGY column shows which search strategy or strategies are used and whether a result table is generated. A result table is generated physically if the STRATEGY column contains RESULT IS COPIED in the last result row.

For more information, see Entries in the Column STRATEGY.

PAGECOUNT

The PAGECOUNT column shows which sizes are assumed for the tables or, in the case of certain strategies, for the indexes. These sizes influence the choice of the search strategy.

The assumed sizes are updated using the UPDATE STATISTICS statement and can be requested by selecting the system table OPTIMIZERSTATISTICS. You can check the current sizes of tables or indexes by selecting the TABLESTATISTICS and INDEXSTATISTICS system tables. If there are large discrepancies between the values contained in OPTIMIZERSTATISTICS and TABLESTATISTICS, perform the update statistics statement for this table.

If the system discovers during a search in a table that the values determined by the last UPDATE STATISTICS statement are extremely low, a row is entered in the sysupdstatwanted system table that contains the table name. In all other cases, rows are entered in this system table that describe columns in tables. The UPDATE STATISTICS statement should be executed for tables and columns in tables that are described in the SYSUPDSTATWANTED system table.

The last row contains the estimated SELECT cost value in the PAGECOUNT column. The specifications for COSTLIMIT and COSTWARNING in the CREATE USER, CREATE USERGROUP, ALTER USER, and ALTER USERGROUP statements refer to this estimated SELECT cost value.

See also:

SQL Optimizer


Transactions (SAP Library - MaxDB Library)

 Entering content frame

Transactions

The first transaction is opened when a database session is opened with a CONNECT statement. You can use a SET statement to change the properties of a database session. The transaction is concluded with the COMMIT, ROLLBACK, or RELEASE statement. The RELEASE statement also closes the database session.

Subtransactions

A transaction can be divided into other basic units known as subtransactions. You can use one of the following procedures to open or close subtransactions:

· Using the SUBTRANS statements
A subtransaction is initiated by the SUBTRANS BEGIN statement and concluded with the SUBTRANS END or SUBTRANS ROLLBACK statements.

· Using an SQL savepoint
A subtransaction is initiated by a SAVEPOINT statement and closed with a ROLLBACK TO statement.

Choose one of these procedures and stick to it.

Subtransactions do not affect locks. These are only released by COMMIT or ROLLBACK. COMMIT or ROLLBACK implicitly closes all subtransactions.

Locks

Since the database system permits concurrent transactions on the same database objects, locks on rows, tables, and the database catalog are necessary to isolate individual transactions.

· You can influence how implicit locks are assigned by setting the isolation level using the CONNECT statement.

· Locks can be assigned explicitly using the LOCK statement or by assigning a LOCK option .

· Write locks for rows that have not yet been modified, and read locks on rows can be released by the UNLOCK statement before the end of the transaction.

The locks assigned to a transaction are released at the end of the transaction, making the respective database objects accessible again to other transactions.

SQL statements for transaction management

CONNECT Statement | SET Statement
COMMIT Statement | ROLLBACK Statement
SUBTRANS Statement | SAVEPOINT-/ROLLBACK TO Statement
LOCK Statement | UNLOCK Statement
RELEASE Statement |


CONNECT Statement (connect_statement) (SAP Library - MaxDB Library)

 Entering content frame

CONNECT Statement (connect_statement)

A CONNECT statement (connect_statement) opens a database session and a transaction for a database user.

Syntax

<connect_statement> ::=
CONNECT <parameter_name> IDENTIFIED BY <parameter_name> [<connect_option>...]
| CONNECT <parameter_name> IDENTIFIED BY <password> [<connect_option>...]
| CONNECT <user_name> IDENTIFIED BY <parameter_name> [<connect_option>...]
| CONNECT <user_name> IDENTIFIED BY <password> [<connect_option>...]

<connect_option> ::=
SQLMODE INTERNAL
| SQLMODE ANSI
| SQLMODE DB2
| SQLMODE ORACLE
| ISOLATION LEVEL <unsigned_integer>
| TIMEOUT <unsigned_integer>

Explanation

If the parameter name/user name and parameter name/password combination is valid, the user opens a database session and gains access to the database instance. As a result, he or she becomes the current user for this database session.

A transaction is implicitly opened.

Each connect option connect_option may only be specified once.

SQLMODE

The specification SQLMODE <INTERNAL|ANSI|DB2|ORACLE> is used to select the SQL mode. The default SQL mode is INTERNAL.

The CONNECT option SQLMODE <INTERNAL|ANSI|DB2|ORACLE> is not allowed in programs. The appropriate precompiler option must be used to specify an SQLMODE other than INTERNAL.

ISOLATION LEVEL

The isolation level specified in the connect statement is applied to each new transaction. This specification determines the lock operation type.

The isolation level is set using an integer without a plus/minus sign after the keywords ISOLATION LEVEL. The following values are permissible: 0, 1, 2, 3, 10, 15, 20, and 30. If no isolation level is specified, isolation level 1 is used.

See also:

Concepts of the Database System, Isolation Level

TIMEOUT

The specified timeout value must be smaller than or equal to the database parameter SESSION_TIMEOUT, and the user-specific timeout value of the user or user group. If it is not, an error is displayed at logon.

If a timeout value is not specified, the smaller of the other two values is adopted as the timeout value.

If the TIMEOUT value is set to 0, the inactivity period is not monitored. This can result in a situation where database resources are not available again even though the associated application was concluded or aborted without a RELEASE statement.

Users with the NOT EXCLUSIVE Attribute

Users defined with the attribute NOT EXCLUSIVE can open several sessions at the same time. Whenever this is the case, or whenever two users of the same user group open a session at the same time, the sessions are considered to be distinct. This means that lock requests for the sessions concerned can collide.

See also:

CREATE USER Statement (create_user_statement)


SET Statement (set_statement) (SAP Library - MaxDB Library)

 Entering content frame

SET Statement (set_statement)

The SET statement (set_statement) alters the properties of a database session.

Syntax

<set_statement> ::= SET ROLE ALL [EXCEPT <role_name>,...]
| SET ROLE NONE
| SET ROLE <role_name>,... [IDENTIFIED BY <password>]
| SET ISOLATION LEVEL <unsigned_integer>
| SET CURRENT_SCHEMA = <schema_name>

Examples

SQL Tutorial, Roles

Explanation

SET ROLE

DEFAULT ROLE in the ALTER USER statement or ALTER USERGROUP statement specifies which of the roles assigned to the current user or user group are active in the user session or group member session. If a role is active, the current user has all the privileges that are included in the role.

If the ALTER USER statement or ALTER USERGROUP statement assigns a role to the current user that is activated automatically when a session is opened, then this role is deactivated when the SET statement is executed if it has not been identified by the SET ROLE specification in the SET statement.

· ALL: All roles assigned to the current user are active. EXCEPT can be used to exclude specified roles from activation.

· NONE: None of the roles is active.

· Role name specified: The roles specified here must exist and be assigned to the current user. If a password exists for the role, it must be defined in the set statement except for the owner of the role.
The role identified with role name is activated.

SET ISOLATION LEVEL

Specifying an isolation level changes the lock behavior for all subsequent SQL statements of the current database session. The isolation level is set using an integer without a plus/minus sign after the keywords ISOLATION LEVEL. The following values are permissible: 0, 1, 2, 3, 10, 15, 20, and 30.

See also:

Concepts of the Database System, Isolation Level

SET CURRENT_SCHEMA

Specifying a schema name defines the specified schema as the current schema for the database session. This means that if a schema name is not specified in subsequent SQL statements, this schema is assumed implicitly. The schema name must identify an existing schema.


COMMIT Statement (commit_statement) (SAP Library - MaxDB Library)

 Entering content frame

COMMIT Statement (commit_statement)

A COMMIT statement (commit_statement) terminates the current transaction and starts a new one.

Syntax

<commit_statement> ::= COMMIT [WORK]

Explanation

The commit statement terminates the current transaction (COMMIT).

The COMMIT statement implicitly opens a new transaction. Any locks set within the new transaction are assigned to this transaction. The setting of locks in the new transaction is controlled by the isolation level defined in the CONNECT statement.


ROLLBACK Statement (rollback_statement) (SAP Library - MaxDB Library)

 Entering content frame

ROLLBACK Statement (rollback_statement)

The ROLLBACK statement (rollback_statement) cancels the current transaction (ROLLBACK) and starts a new transaction.

Syntax

<rollback_statement> ::= ROLLBACK [WORK]

Explanation

The ROLLBACK statement implicitly opens a new transaction. Any locks set within the new transaction are assigned to this transaction. The setting of locks in the new transaction is controlled by the isolation level defined in the CONNECT statement.


SUBTRANS Statement (subtrans_statement) (SAP Library - MaxDB Library)

 Entering content frame

SUBTRANS Statement (subtrans_statement)

The SUBTRANS statement (subtrans_statement) divides a transaction into units known as subtransactions.

Syntax

<subtrans_statement> ::= SUBTRANS BEGIN | SUBTRANS END | SUBTRANS ROLLBACK

Explanation

SUBTRANS BEGIN

A subtransaction is opened. This means the database system records the current point in the transaction. Any sequence of SQL statements can then follow. If the sequence does not contain an additional SUBTRANS BEGIN, all database modifications performed since the SUBTRANS BEGIN can be reversed using a SUBTRANS ROLLBACK.

The sequence can, however, also contain additional SUBTRANS BEGIN statements that open additional subtransactions. This means several nested subtransactions may be opened at the same time.

SUBTRANS END

If a subtransaction is concluded with SUBTRANS END, the modifications that have been made are kept. A subtransaction is closed. This means the database system "forgets" the point in the transaction recorded with SUBTRANS BEGIN. A prerequisite for this is that an open subtransaction exists. If more than one open subtransaction exists, the last opened subtransaction is closed; i.e. it is no longer considered to be an open subtransaction.

SUBTRANS ROLLBACK

If a subtransaction is concluded with SUBTRANS ROLLBACK, all the database modifications made within a subtransaction are reversed and the subtransaction is closed. Any database modifications performed by any subtransactions within the subtransaction are reversed, irrespective of whether they were ended with SUBTRANS END or SUBTRANS ROLLBACK. All result tables generated within the subtransaction are closed.

A prerequisite for this is that an open subtransaction exists. If more than one open subtransaction exists, the last opened subtransaction is rolled back. The subtransaction concerned is then no longer considered open.

Additional Information

The subtrans statement does not affect locks assigned to the transaction. In particular, SUBTRANS END and SUBTRANS ROLLBACK do not release any locks.

The subtrans statement is particularly useful for keeping the effects of subroutines or database procedures atomic in the sense that they either fulfill all their tasks or else have no effect. To this end, a SUBTRANS BEGIN is issued initially. If the subroutine succeeds in fulfilling its task, it is ended with a SUBTRANS END; in the event of an error, a SUBTRANS ROLLBACK is used to reverse all the modifications performed by the subroutine.

The COMMIT statement and the ROLLBACK statement close any open subtransactions implicitly.

See also:

Transactions

SAVEPOINT-/ROLLBACK TO Statement


SAVEPOINT/ROLLBACK TO Statement (savepoint/rollback_to_statement)

Within a transaction, subtransactions can be defined to make a series of database operations within a transaction appear as a unit with regard to modifications to the database.

The SAVEPOINT statement is used to define an SQL savepoint – and therefore the start of a subtransaction within a transaction - and to assign this savepoint a name. A subsequent ROLLBACK TO statement with the SQL savepoint name reverses any modifications that have been made in the meantime, without affecting the database operations that were executed within the transaction before the start of this subtransaction.

An SQL savepoint defined by a SAVEPOINT statement is not a savepoint.

Syntax

<savepoint_statement> ::= SAVEPOINT <sql_savepoint_name>

<rollback_to_statement> ::= ROLLBACK TO [SAVEPOINT] <sql_savepoint_name>

<sql_savepoint_name> ::= <identifier>

Explanation

SAVEPOINT Statement

The SAVEPOINT statement opens a subtransaction. This means the database system records the current position (SQL savepoint) in the transaction and assigns it the name SQL_savepoint_name. The SQL savepoint is identified as active. Any sequence of SQL statements can then follow. This sequence of SQL statements may contain additional SAVEPOINT statements.

Names of SQL savepoint in a transaction must be different. If an SQL savepoint name is assigned twice within a transaction, the SQL savepoint in this transaction defined by the first SAVEPOINT statement becomes inactive.

ROLLBACK TO Statement

A ROLLBACK TO statement reverses all database modifications made in the active transaction following the SAVEPOINT statement.

The SQL savepoint specified in the ROLLBACK TO statement must be an active SQL statement in the transaction. All SQL savepoints created after this SQL savepoint are inactive. All SQL savepoints created before this SQL savepoint remain active.

The specified SQL savepoint also remains active after the ROLLBACK TO statement has been executed. This means the ROLLBACK TO statement can be executed in the same transaction more than once by specifying the same SQL savepoint name.

Additional Information

The SAVEPOINT/ROLLBACK TO statement does not affect locks assigned to the transaction. In particular, these SQL statements do not release any locks. Locks are only released by COMMIT or ROLLBACK.

Subtransactions are particularly useful for keeping the effects of database procedures atomic in the sense that they either fulfill all their tasks or else have no effect. To this end, a SAVEPOINT statement is specified initially. If the subroutine could not fulfill its tasks, a ROLLBACK TO statement is used to reverse all the modifications made by the database procedure.

The COMMIT statement and the ROLLBACK statement close any open subtransactions implicitly.

See also:

Transactions

SUBTRANS Statement (subtrans_statement)


LOCK Statement (lock_statement) (SAP Library - MaxDB Library)

 Entering content frame

LOCK Statement (lock_statement)

The LOCK statement (lock_statement) assigns a lock to objects in the current transaction.

Syntax

<lock_statement> ::=
LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN SHARE MODE
LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN EXCLUSIVE MODE
LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN SHARE MODE <lock_spec> IN EXCLUSIVE MODE
LOCK [(WAIT)|(NOWAIT)] <row_spec>... OPTIMISTIC

<lock_spec> ::= TABLE <table_name>,...
| <row_spec>...
| TABLE <table_name>,... <row_spec>...

<row_spec> ::= ROW <table_name> KEY <key_spec>,...
| ROW <table_name> CURRENT OF <result_table_name>

Explanation

The table specified cannot be a temporary base table, a view table, or a synonym. If the table name identifies a view table, locks are set on the underlying base tables for the view table.

(WAIT)/(NOWAIT)

· If (NOWAIT) is specified, the database does not wait for a lock to be released by another transaction. Instead, it issues an error message if a lock collision occurs. If there is no collision, the requested lock is set.

· In the event of a lock collision, if a wait option or (WAIT) is specified, the system waits for locks to be released until the period specified by the special database parameter REQUEST_TIMEOUT has elapsed.

<lock_spec>

TABLE <table_name>,...

If TABLE <table_name>,... is specified, a lock is created for the table in question.

If the view table identified by the table name is not changeable, only a shared lock can be set for this view table. As a result of this SQL statement, shared locks are set for all base tables underlying the view table.

<row_spec>...

A <row_spec>... creates a lock for the table row denoted by the key values or a position in a results table.

In order to specify a row_spec , it is essential that the specified table has a key column. This means that if the table name identifies a view table, it must be modifiable.

For tables defined without key columns, the implicit key column SYSKEY CHAR(8) BYTE can be used in a key specification key_spec .

If CURRENT OF <result_table_name> is specified, the result table must have been specified with FOR UPDATE.

SHARE

SHARE defines a shared lock for the listed objects. To set shared locks, the current user must have the SELECT privilege.

EXCLUSIVE

EXCLUSIVE defines an exclusive lock for the listed objects. To set exclusive locks, the current user must have the UPDATE, DELETE, or INSERT privilege.

OPTIMISTIC

OPTIMISTIC defines an optimistic lock on rows. This is only meaningful in connection with the isolation levels 0, 1, 10, and 15.

Related Information

Deadlock

If the database system detects a deadlock caused by locks, it ends the transaction with an implicit ROLLBACK WORK.

Reproducibility

If reproducible results are needed to read rows using a select statement, the read objects must be locked and the locks must be kept until reproduction. Reproducibility usually requires that the tables concerned are locked either explicitly using one or more lock statements or implicitly by using the isolation level 3. This ensures that other users cannot modify the table.

See also:

LOCK Option (lock_option)

Concepts of the Database System, Locks for Database Objects


UNLOCK Statement (unlock_statement) (SAP Library - MaxDB Library)

 Entering content frame

UNLOCK Statement (unlock_statement)

The UNLOCK statement (unlock_statement) releases locks on rows.

Syntax

<unlock_statement> ::= UNLOCK <row_spec>... IN SHARE MODE
| UNLOCK <row_spec>... IN EXCLUSIVE MODE
| UNLOCK <row_spec>... IN SHARE MODE <row_spec>... IN EXCLUSIVE MODE
| UNLOCK <row_spec>... OPTIMISTIC

<row_spec> ::= ROW <table_name> KEY <key_spec>,...
| ROW <table_name> CURRENT OF <result_table_name>

Explanation

Using the UNLOCK statement, share locks, optimistic locks and exclusive locks can be released within a transaction for single table rows that have not yet been changed.

If a row has not been inserted, changed, or deleted, its exclusive lock cannot be released using the UNLOCK statement.

The unlock statement does not fail if the specified lock does not exist or cannot be released.

For tables defined without key columns, the implicit key column SYSKEY CHAR(8) BYTE can be used in a key specification key_spec .

If CURRENT OF <result_table_name> is specified, the result table must have been specified with FOR UPDATE.

See also:

Concepts of the Database System, Locking for Database Objects


RELEASE Statement (release_statement) (SAP Library - MaxDB Library)

 Entering content frame

RELEASE Statement (release_statement)

The RELEASE statement (release_statement) terminates a user's transaction and database session.

Syntax

<release_statement> ::= COMMIT [WORK] RELEASE | ROLLBACK [WORK] RELEASE

Explanation

Ending a session using a release statement implicitly deletes all result tables, the data stored in temporary base tables, and the metadata of these tables.

COMMIT WORK RELEASE

The current transaction is aborted without opening a new one. The user session is ended.

If the database system has to reverse the current transaction implicitly, COMMIT WORK RELEASE fails, and a new transaction is opened. The user session is not ended in this case.

ROLLBACK WORK RELEASE

The current transaction is aborted without opening a new one. Any database modifications performed during the current transaction are undone. The user session is ended. ROLLBACK WORK RELEASE has the same effect as a ROLLBACK statement followed by COMMIT WORK RELEASE.


Statistics (SAP Library - MaxDB Library)

 Entering content frame

Statistics

The UPDATE STATISTICS statement defines the storage requirements of tables and indexes as well as the value distribution of columns, and stores this information in statistics system tables. The SQL Optimizer uses this information to determine the best strategy for executing an SQL statement.

The MONITOR statement can be used to initialize counters for monitoring the database.

SQL statements for statistics management

UPDATE STATISTICS Statement

MONITOR Statement

See also:

Definitions of the System Tables


UPDATE STATISTICS Statement (update_statistics_statement) (SAP Library - MaxDB Library)

 Entering content frame

UPDATE STATISTICS Statement (update_statistics_statement)

The UPDATE STATISTICS statement (update_statistics_statement) defines the storage requirements of tables and indexes as well as the value distribution of columns, and stores this information in the database catalog.

Syntax

<update_statistics_statement> ::=
UPDATE STAT[ISTICS] COLUMN <table_name>.<column_name> [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] COLUMN (<column_name>,...) FOR <table_name> [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] COLUMN (*) FOR <table_name> [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] <table_name> [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] [<schema_name>.][<identifier>]* [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] AS PER SYSTEM TABLE

Explanation

When the update statistics statement is executed, information on the table, such as the number of rows, the number of pages used, the sizes of indexes, the value distribution within columns or indexes, and so on, is stored in the database catalog. These values are used by the SQL Optimizer to determine the best strategy for executing SQL statements.

The update statistics statement implicitly performs a COMMIT statement for each base table; i.e. the transaction within which the update statistics statement has been executed is closed.

When a CREATE INDEX statement is executed, the above-mentioned information is stored in the database catalog for the index as well as for the base table for which this index is being defined. No information is stored for other indexes defined on this base table.

The statistical values stored in the database catalog can be retrieved by selecting the system table OPTIMIZERSTATISTICS . Each row of the table describes statistical values of indexes, columns or the size of a table.

For a definition of the statistics system tables, see Definitions of the System Tables in the System Tables documentation.

<table_name>

If a table name is specified, the table must be a base table and must not be a temporary table. The current database user must have a privilege for the table.

<column name>

If a column name is specified, this column must exist in specified table.

If * is specified, all columns in the table are assumed.

<identifier>*

Specifying <identifier>*has the same effect as specifying the update statistics statement for all base tables for which the current database user has a privilege and whose table name begins with the identifier.

UPDATE STATISTICS *

The database system administrator (SYSDBA user) can use UPDATE STATISTICS * to execute the update statistics statement for all base tables, even if the SYSDBA user has not been assigned a privilege for these tables.

ESTIMATE

· If ESTIMATE and a sample definitionare specified, the database system estimates the statistical values by selecting data at random. The number of random selects can be given as number of rows or as percentage. The runtime of the update statistics statement can be considerably reduced by specifying ESTIMATE. In most cases, the precision of the statistical values determined is sufficient.

· If ESTIMATE is specified without a sample definition, the database system estimates the statistical values by selecting data at random. The number of random selects was defined with the CREATE TABLE statement or an ALTER TABLE statement by means of a sample_definition for the specified table. The runtime of the update statistics statement can be considerably reduced by specifying ESTIMATE. In most cases, the precision of the statistical values determined is sufficient.

· If ESTIMATE is not specified, the database system determines exact statistical values by considering the complete data of the table. For large tables, the runtime can be considerably long.

UPDATE STATISTICS AS PER SYSTEM TABLE

The database kernel enters those table columns in the system table SYSUPDSTATWANTED (located in the schema of the database administrator) for which an UPDATE STATISTICS run would appear to be useful.

If you use the SQL statement UPDATE STATISTICS AS PER SYSTEM TABLE, an UPDATE STATISTICS run is triggered for all the table (columns) contained in SYSUPDSTATWANTED. If the database parameter UPDATESTAT_PARALLEL_SERVERS is set to a value >= 0, the system attempts to execute the statistics runs in parallel. Anschließend werden die Einträge in der Tabelle SYSUPDSTATWANTED gelöscht.

The system table SYSUPDSTATWANTED can also be changed by database administrators. However, a database administrator can only insert entries that reference tables owned by that database administrator.


MONITOR Statement (monitor_statement) (SAP Library - MaxDB Library)

 Entering content frame

MONITOR Statement (monitor_statement)

The MONITOR statement (monitor_statement) can be used to initialize counters for monitoring the database with 0.

Syntax

<monitor statement> ::= MONITOR INIT

Explanation

The database system always records result counters. These are initialized with 0 when the system is started. The MONITOR statement can be used to reset them to 0.

The event counters recorded by the database system can be retrieved by selecting monitor system tables.

For a definition of the monitor system tables, see Definition of the System Tables in the System Tables manual.


SQL Statements: Overview (SAP Library - MaxDB Library)

 Entering content frame

SQL Statements: Overview

All SQL statements (sql_statement) can be embedded in programming languages and, with the exception of NEXT STAMP, can be specified interactively.

Comments can be specified for every SQL statement.

For many SQL statements, example statements have been formulated using the HOTEL example schema for the SQL tutorial.

SQL Statements for Data Definition

CREATE TABLE statement | DROP TABLE statement | ALTER TABLE statement RENAME TABLE statement RENAME COLUMN statement EXISTS TABLE statement
CREATE SCHEMA statement | RENAME SCHEMA statement | DROP SCHEMA statement
CREATE DOMAIN statement | DROP DOMAIN statement |
CREATE SEQUENCE statement | DROP SEQUENCE statement |
CREATE SYNONYM statement | DROP SYNONYM statement | RENAME SYNONYM statement
CREATE VIEW statement | DROP VIEW statement | RENAME VIEW statement
CREATE INDEX statement | DROP INDEX statement | ALTER INDEX statement RENAME INDEX statement
CREATE DBPROC statement | DROP DBPROC statement |
CREATE SYSTEM TRIGGER statement | DROP SYSTEM TRIGGER statement |
CREATE FUNCTION statement | DROP FUNCTION statement |
CREATE TRIGGER statement | DROP TRIGGER statement |
COMMENT ON statement |  |

SQL Statements for Authorization

CREATE USER statement | DROP USER statement | ALTER USER statement RENAME USER statement GRANT USER statement
CREATE USERGROUP statement | DROP USERGROUP statement | ALTER USERGROUP statement RENAME USERGROUP statement GRANT USERGROUP statement
CREATE ROLE statement | DROP ROLE statement |
ALTER PASSWORD statement | GRANT statement | REVOKE statement

SQL Statements for Data Manipulation

INSERT statement | UPDATE statement | DELETE statement
NEXT STAMP statement | CALL statement |

SQL Statements for Data Query

QUERY statement | SINGLE SELECT statement | EXPLAIN statement
OPEN CURSOR statement | FETCH statement | CLOSE statement

SQL Statements for Transaction Management

CONNECT statement | SET statement |
COMMIT statement | ROLLBACK statement |
SUBTRANS statement | SAVEPOINT statement | ROLLBACK TO statement
LOCK statement | UNLOCK statement | RELEASE statement

SQL Statements for Statistics Management

UPDATE STATISTICS statement

MONITOR statement


Comment (sql_comment) (SAP Library - MaxDB Library)

 Entering content frame

Comment (sql_comment)

A comment (sql_comment) can be included for every SQL statement.

Syntax

<sql_comment> ::= /*<sql_comment_text>*/ | --<sql_comment_text>

<sql_comment_text> ::= <! <comment_text> !>

Explanation

You can enter any comment text you wish.

When using the syntax rule --<sql_comment_text> for a row, all characters entered in the row after -- are regarded as comments.

CREATE TABLE person (cno FIXED(4), first name CHAR(7), last name CHAR(7), account FIXED(7,2)) /*create table person*/


Frequently Used Syntax Elements: Overview (SAP Library - MaxDB Library)

 Entering content frame

Frequently Used Syntax Elements: Overview

Syntax | Explanation
arithmetic_function | Arithmetic Function (arithmetic_function)
between_predicate | BETWEEN Predicate (between_predicate)
bool_predicate | Boolean Predicate (bool_predicate)
cascade_option | CASCADE Option (cascade_option)
character | Character (character)
column_spec | Column Specification (column_spec)
comparison_predicate | Comparison Predicate (comparison_predicate)
conversion_function | Conversion Function (conversion_function)
data_type | Data type (data_type)
date_function | Date Function (date_function)
dbfunction_call | Database Function Call (dbfunction_call)
default_predicate | DEFAULT Predicate (default_predicate)
default_spec | DEFAULT Specification (default_spec)
delete_rule | DELETE Rule (delete_rule)
distinct_spec | DISTINCT Specification (distinct_spec)
duplicates_clause | DUPLICATES Clause (duplicates_clause)
exists_predicate | EXISTS Predicate (exists_predicate)
expression | Expression (expression)
extended_value_spec | Specification of Values (extended_value_spec)
extraction_function | Extraction (extraction_function)
Fixed point literal | Fixed Point Number (fixed_point_literal)
Floating point literal | Floating Point Number (floating_point_literal)
function_spec | Function (function_spec)
identifier | Identifier (identifier)
in_predicate | IN Predicate (in_predicate)
integer | Integer (integer)
join_predicate | JOIN Predicate (join_predicate)
key_word | Key Word (key_word)
key_spec | Key Specification (key_spec)
like_predicate | LIKE Predicate (like_predicate)
literal | Literal (literal)
null_predicate | NULL Predicate (null_predicate)
parameter spec | Parameter specification (parameter_spec)
predicate | Predicate (predicate)
quantified_predicate | Quantified Predicate (quantified_predicate)
rowno_predicate | ROWNO Predicate (rowno_predicate)
sample_definition | SAMPLE Definition (sample_definition)
search_condition | Search Condition (search_condition)
select_column | Selected Column (select_column)
set_function_spec | Set Function (set_function_spec)
sounds_predicate | SOUNDS Predicate (sounds_predicate)
special_function | Special Function (special_function)
string_function | String Function (string_function)
time_function | Time Function (time_function)
token | Character Set (token)
trigonometric_function | Trigonometric Function (trigonometric_function)
unsigned_integer | Unsigned Integer (unsigned_integer)

See also:

Syntax List


CASCADE Option (cascade_option) (SAP Library - MaxDB Library)

 Entering content frame

CASCADE Option (cascade_option)

A CASCADE option (cascade_option) determines the deletion behavior for objects (e.g. tables, users). This means you define whether certain dependencies are to be taken into account when objects are deleted.

Syntax

<cascade_option> ::= CASCADE | RESTRICT

Explanation

CASCADE: Dependencies are not taken into account

RESTRICT: Dependencies are taken into account

SQL statements

DROP Definition

DROP SCHEMA Statement

DROP TABLE Statement

DROP USER Statement

DROP USERGROUP Statement

DROP VIEW Statement

REVOKE Statement

Referential CONSTRAINT Definition


Character (SAP Library - MaxDB Library)

 Entering content frame

Character

A character is an element of a character string or keyword.

Syntax

<character> ::= <digit>
| <letter>
| <extended_letter>
| <hex_digit>
| <language_specific_character>
| <special_character>

Digits

<digit> ::= 0 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9

Letters

<letter> ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z

Further Letters

<extended_letter> ::= # | @ | $

Hexadecimal Characters

<hex_digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| A | B | C | D | E | F
| a | b | c | d | e | f

Language-Specific Characters

A language-specific character language_specific_character is any letter that occurs in a northern, southern, or central European language and is not contained in the list of letters.

German umlauts: ä, ö, ü

French letters with a “grave” accent: à

If you have installed a UNICODE-enabled database instance, a language-specific character is a character that is not included in the ASCII code list from 0 to 127.

Special Characters

A special character is any character that is not contained in the following list:

· Digits

· Letters

· Further Letters

· Hexadecimal Characters

· Language-Specific Characters

· Characters that indicate the end of a line in a file


Column Specification (column spec) (SAP Library - MaxDB Library)

 Entering content frame

Column Specification (column spec)

A column specification (column spec) specifies a column in a table.

Syntax

<column_spec> ::= <column_name>
| <table_name>.<column_name>
| <reference_name>.<column_name>
| <result_table_name>.<column_name>

Explanation

For all names consisting of several identifiers that are separated by a period ("."), any number of blanks can be specified before and after the period.

A column specification is used in the following SQL syntax elements:

Expression (expression)

Boolean Predicate (bool_predicate)

DEFAULT Predicate (default_predicate)


DEFAULT Specification (default_spec) (SAP Library - MaxDB Library)

 Entering content frame

DEFAULT Specification (default_spec)

A DEFAULT specification (default_spec) is formed by specifying the keyword DEFAULT and a DEFAULT value. The maximum length of a default value is 254 characters.

Syntax

<default_spec> ::= DEFAULT <literal>
| DEFAULT NULL
| DEFAULT USER
| DEFAULT USERGROUP
| DEFAULT SYSDBA
| DEFAULT DATE
| DEFAULT TIME
| DEFAULT TIMESTAMP
| DEFAULT UTCDATE
| DEFAULT UTCDIFF
| DEFAULT TIMEZONE
| DEFAULT TRUE
| DEFAULT FALSE
| DEFAULT TRANSACTION
| DEFAULT STAMP
| DEFAULT SERIAL[(<unsigned_integer>)]

Examples

SQL Tutorial, Number Generator for a Single Column of a Table

Explanation

If a DEFAULT specification has been made for a column, the default value (<literal>, NULL, USER,...) must be a value that can be inserted in the column.

DEFAULT specification

Explanation

DEFAULT <literal>

The literal must be comparable with the data type of the column.

DEFAULT USER

Returns the user name of the current user and can only be specified for columns that have the data type [VAR]CHAR(n) or CHAR(n) (n >= 32)

DEFAULT USERGROUP

Returns the user group name for members of a user group, or the user name for users that do not belong to a user group. This DEFAULT specification can only be specified for columns of the data type [VAR]CHAR(n) (n>=32).

DEFAULT SYSDBA

Returns the name of the SYSDBA user and can only be specified for columns of data type [VAR]CHAR(n) (n>=32).

DEFAULT DATE

Returns the current date and can only be specified for columns of the data type DATE.

DEFAULT TIME

Returns the current time and can only be specified for columns of the data type TIME.

DEFAULT TIMESTAMP

Returns the current timestamp and can only be specified for columns of the data type TIMESTAMP.

DEFAULT UTCDATE

Returns the current UTC timestamp (Greenwich Mean Time) and can only be specified for columns that have the data type TIMESTAMP.

DEFAULT UTCDIFF

Returns the time difference (in hours) between your local time and UTC time and can only be specified for columns that have the data type FLOAT(p) (p >= 4) or FIXED(p,s) (s >= 2, p >= s+2) (from Version 7.4.04.02).

DEFAULT TIMEZONE

Returns the time difference in the format hhmmss between your local time and UTC time and can only be specified for columns that have the data type FLOAT(p) (p >= 6) or FIXED(p,s) (s >= 0, p >= s+6).

DEFAULT TRUE/DEFAULT FALSE

Can only be specified for columns of the data type BOOLEAN.

DEFAULT TRANSACTION

Returns the identification of the current transaction and can only be specified for columns of the data type CHAR(n) BYTE (n>=8).

DEFAULT STAMP

Returns a value of eight characters in length that is unique within the database system and can only be specified for columns of the data type CHAR(n) BYTE (n>=8).

If a table is defined without a key column, the database system implicitly creates a key column SYSKEY CHAR(8) BYTE. The key values in the SYSKEY column are only unique within a table. This means the SYSKEY column in two different tables may contain the same values. If a unique key is desired across the entire database system, a key column can be defined with the DEFAULT specification STAMP.

DEFAULT SERIAL [(<unsigned_integer)]

Delivers a number generator for positive integers and can only be specified for columns that have the data type INTEGER, SMALLINT, and FIXED without decimal places (see below: Number generator).

The first value generated by the generator can be defined by specifying an unsigned integer (unsigned_integer) (must be greater than 0). If this definition is missing, 1 is defined as the first value.

If the value 0 is inserted in this column by an INSERT statement, the current number generator value is supplied and not the value 0.

Each table may not contain more than one column with the DEFAULT specification DEFAULT SERIAL.

See also:

DEFAULT Predicate (default_predicate)

Number generator

Specifying the DEFAULT SERIAL(n) DEFAULT specification or the data type SERIAL(n) causes a number generator to be generated that creates positive whole numbers implicitly from 1 or from a prespecified value n at the start.

The SERIAL(n) data type can be used as a DEFAULT specification for columns that can contain only fixed point numbers without decimal places, as SERIAL(n) is mapped to FIXED(10) DEFAULT SERIAL(n).

The maximum number generator value generated is (10**m)-1 if the DEFAULT SERIAL default specification is defined for a column of the data type FIXED(m).

SERIAL columns can only be assigned a value when a row is inserted. The values of a SERIAL column cannot be changed with an UPDATE statement. A SERIAL column, therefore, can be used to determine the insertion sequence and identify a row in a table uniquely.


DELETE Rule (delete_rule) (SAP Library - MaxDB Library)

 Entering content frame

DELETE Rule (delete_rule)

The DELETE rule (delete_rule) defines the effects that deleting a row in the referenced table (referenced_table) has on the referencing table.

Syntax

<delete_rule> ::= ON DELETE CASCADE
| ON DELETE RESTRICT
| ON DELETE SET DEFAULT
| ON DELETE SET NULL

Explanation

· No DELETE rule: deleting a row in the referenced table will fail if matching rows exist.

· ON DELETE CASCADE: if a row in the referenced table is deleted, all of the matching rows are deleted.

· ON DELETE RESTRICT: deleting a row in the referenced table will fails if matching rows exist.

· ON DELETE SET DEFAULT: if a row in the referenced table is deleted, the associated DEFAULT value is assigned to each referencing column for each matching row.
A DEFAULT specification must exist for each referencing column.

· ON DELETE SET NULL: if a row in the referenced table is deleted, a NULL value is assigned to each referencing column (referencing_column) of every matching row.
None of these referencing tables may be a NOT NULL column.

See also:

Referential CONSTRAINT Definition (referential_constraint_definition)

Column Attributes (column_attributes)


DISTINCT function (distinct spec) (SAP Library - MaxDB Library)

 Entering content frame

DISTINCT function (distinct spec)

The DISTINCT specification (distinct_spec) is specified in a QUERY specification or in a SINGLE SELECT statement to remove duplicate rows.

Syntax

<distinct_spec> ::= DISTINCT | ALL

Examples

SQL Tutorial, Selecting and Arranging Rows

Explanation

A row is a duplicate of another row if both have identical values in each column. NULL values are assumed to be identical. Special NULLvalues are also assumed to be identical.

If no DISTINCT specification is specified, no duplicate rows are removed from the result table.

· DISTINCT: all duplicate rows are removed from the result table.

· ALL: no duplicate rows are removed from the result table.


DUPLICATES Clause (duplicates_clause) (SAP Library - MaxDB Library)

 Entering content frame

DUPLICATES Clause (duplicates_clause)

The DUPLICATES clause (duplicates_clause) can be used to determine how key collisions are handled.

Syntax

<duplicates_clause> ::= REJECT DUPLICATES | IGNORE DUPLICATES | UPDATE DUPLICATES

Explanation

The DUPLICATES clause is used in the SQL statements CREATE TABLE statement and INSERT statement.

CREATE TABLE statement

REJECT DUPLICATES or no DUPLICATES clause | The CREATE TABLE statement fails if key collisions occur.
IGNORE DUPLICATES | Any rows that cause key collisions on insertion are ignored.
UPDATE DUPLICATES | Any rows that cause key collisions on insertion overwrite the rows with which they collide.

INSERT statement

If there is already a row in the base table with the key of the row to be inserted, the following cases must be distinguished:

REJECT DUPLICATES or no DUPLICATES clause | The INSERT statement fails.
IGNORE DUPLICATES | The new row is not inserted and processing of the INSERT statement is continued.
UPDATE DUPLICATES | The existing row is overwritten by the new row and processing of the INSERT statement is continued.

If, for an INSERT statement with UPDATE DUPLICATES and a QUERY expression, there is more than one key collision for the same key, it is impossible to predict the content of the respective base table row once the INSERT statement has been completed.

If, for an INSERT statement with IGNORE DUPLICATES and a QUERY expression, more than one row in the result table supplies the same base table key, and if this key did not exist before in the base table, it is impossible to predict which row will be inserted in the table.

If the table name specified in the INSERT statement identifies a table without a user-defined key, the DUPLICATES clause has no effect.


Expression (SAP Library - MaxDB Library)

 Entering content frame

Expression

An expression specifies a value that is generated, if required, by applying arithmetic operators to values. A list of expressions (expression_list) is often used in an SQL statement.

A distinction is made between the following arithmetic operators:

· Additive operators
+ Addition
- Subtraction

· Multiplicative operators
* Multiplication
/ Division
DIV integer division
MOD remainder after integer division

Syntax

<expression> ::= <term> | <expression> + <term> | <expression> - <term>

<expression_list> ::= (<expression>,...)

<term> ::= <factor>
| <term> * <factor> | <term> / <factor>
| <term> DIV <factor>| <term> MOD <factor>

<factor> ::= [+|-] <value_spec>
| [+|-] <column_spec>
| [+|-] <function_spec>
| [+|-] <set_function_spec>
| <scalar_subquery>
| <expression>

Examples

SQL Tutorial, Arithmetic Operations

Explanation

The arithmetic operators can only be applied to numeric data types.

 | Result of an expression
expression | Value with any data type
factor supplies a NULL value | NULL Value
factor supplies a special NULL value | Special NULL Value
expression leads to a division by 0 | Special NULL value
expression leads to an overflow of the internal temporary result | Special NULL value

If no parentheses are used, the operators have the following precedence:

...

1. The sign (+ | -) has a higher precedence than the additive and multiplicative operators.

2. The multiplicative operators have a higher precedence than the additive operators.

3. The multiplicative operators have different priorities.

4. The additive operators have different priorities.

5. Operators with the same precedence are evaluated from left to right.

Operands are fixed point numbers

Operand1 (a) | Operand2 (b) | Result
Fixed Point Number (p precision s number of decimal places | Fixed point number (p' precision s' number of decimal places) | Fixed point number (p" precision s" number of decimal places) or floating point number

The data type of the result depends on the operation as well as on the precision and number of decimal places of the operands.

Note that the data type of a column determines its name, and not the precision and number of decimal places in the current value.

Operands are fixed point numbers, operands are +, - , * or /

The result of addition, subtraction, and multiplication is generated from a temporary result which can have more than 38 valid digits. If the temporary result has no more than 38 valid digits, the final result is equal to the temporary result. Otherwise, a result is generated as a floating point number with 38 places. Decimal places are truncated if necessary.

Condition

Operator

Result

max(p-s,p'-s')

+, -

Fixed point number
p''=max(p-s,p'-s')+max(s,s')+1
s''=max(s,s')

(p+p')<=38

*

Fixed point number
p''=p+p'
s''=s+s'

(p-s+s')<=38

/

Fixed point number
p''=38
s''=38-(p-s+s')
Special NULL value, if b=0

Operands are integers, operators are DIV, MOD

Condition | Operator | Result
ABS(a)<1E38 and ABS(b)<1E38 and b<>0 | DIV | TRUNC(a/b)
b=0 | DIV | Special NULL value
ABS(a)>=1E38 and b<>0 or ABS(b)>=1E38 | DIV | Error message
ABS(a)<1E38 and ABS(b)<1E38 and b<>0 | MOD | a-b*(a DIV b)
b=0 | MOD | A
ABS(a)>=1E38 and b<>0 or ABS(b)>=1E38 | MOD | Error message

An operand is a floating point number

If one operand is a floating point number, the result of the arithmetic operation is a floating point number.


Specifications of Values (extended_value_spec) (SAP Library - MaxDB Library)

 Entering content frame

Specifications of Values (extended_value_spec)

Values are specified (extended_value_spec) using one of the keywords DEFAULT or STAMP or by specifying the values (value spec: Literals, parameter specifications, key words and so on).

Syntax

<extended_value_spec> ::= DEFAULT | STAMP | <value_spec>

<value_spec> ::= <literal>
| <parameter_spec>
| NULL
| USER | USERGROUP
| SYSDBA | CURRENT_SCHEMA | UID
| [<schema_name>.]<sequence_name>.NEXTVAL
| [<schema_name>.]<sequence_name>.CURRVAL
| <table_name>.CURRVAL
| DATE | TIME | TIMESTAMP
| UTCDATE | TIMEZONE | UTCDIFF
| TRUE | FALSE
| TRANSACTION

Examples

SQL Tutorial, Number Generators for Tables

Explanation

DEFAULT

DEFAULT identifies the default value for the column in a CREATE TABLE statement or ALTER TABLE statement. If one of these values is not defined, DEFAULT cannot be used to specify values.

The DEFAULT keyword can be used in the following SQL statements: INSERT statement, UPDATE statement

The DEFAULT keyword can be used in a DEFAULT predicate .

STAMP

The database system is capable of generating unique values. These comprise a series of consecutive numbers starting at X'000000000001'. The values are assigned in ascending order. There is no guarantee that a sequence of values is uninterrupted. The STAMP key word returns the next value generated by the database system.

The STAMP keyword can be used in the following SQL statements (only for columns of data type CHAR(n) BYTE where n>=8, see DEFAULT Specification): INSERT Statement, UPDATE Statement

If the user wants to find out the generated value before it is applied to a column, the following SQL statement must be used: NEXT STAMP statement

<value_spec>

NULL

Specification of the NULL value

USER | USERGROUP

Current user name or name of the user group to which the user calling the SQL statement belongs. If the user does not belong to a user group, the user name is displayed.

SYSDBA

Specification of the database system administrator

CURRENT_SCHEMA

Specification of current schema.

UID

Identification of the current user. This DEFAULT specification can only be specified with numeric data type and a minimum of 10 places before the decimal point.

[<schema_name>.]<sequence_name>.NEXTVAL | [<schema_name>.]<sequence_name>.CURRVAL

NEXTVAL specifies the next available value that is created by the implicit number generator, which was defined by the sequence [<schema_name>.]<sequence_name> .

CURRVAL shows the current value generated by the number generator [<schema_name>.]<sequence_name> within the database session.

See also:

CREATE SEQUENCE Statement (create_sequence_statement)

<table_name>.CURRVAL

Last value assigned in the current database session for the serial column in the table table_name.

DATE | TIME | TIMESTAMP

Current date, time, time stamp.

UTCDATE

Current UTC time stamp (Greenwich Mean Time)

TIMEZONE

Time difference in hours in the format hhmmss (in data type FIXED(6)) between your local time value and the UTC time value.

UTCDIFF

Time difference in hours (in data type FIXED(4,2)) between your local time and the UTC time value.

TRUE | FALSE

Corresponding value of a column of the data type BOOLEAN

TRANSACTION

Identification of the current transaction. This is a value of data type CHAR(6) BYTE.


Function (function spec) (SAP Library - MaxDB Library)

 Entering content frame

Function (function spec)

There is a series of functions (function spec) that can be applied to a value (row) as an argument and supply a result. These functions (predefined and user defined) and their calls are introduced in the following sections.

Syntax

<function_spec> ::=
<arithmetic_function>
| <trigonometric_function>
| <string_function>
| <date_function>
| <time_function>
| <extraction_function>
| <special_function>
| <conversion_function>
| <dbfunction_call>

Examples

SQL Tutorial, Functions

Explanation

The arguments and results of the functions are numeric, alphanumeric or Boolean values that are subject to certain restrictions. LONG columns are not allowed as arguments, with the exception of those explicitly stated.

See also:

Functions: Overview


Arithmetic Function (arithmetic_function) (SAP Library - MaxDB Library)

 Entering content frame

Arithmetic Function (arithmetic_function)

An arithmetic function (arithmetic_function) is a function that supplies a numeric value.

Syntax

<arithmetic_function> ::=
ABS ( <expression> )
| CEIL ( <expression> )
| EXP ( <expression> )
| FIXED ( <expression>[, <unsigned_integer> [, <unsigned_integer>] ] )
| FLOAT ( <expression>[, <unsigned_integer> ] )
| FLOOR ( <expression> )
| INDEX ( <string_spec>, <string_spec> [,<expression>[, <expression>] ] )
| LENGTH ( <expression> )
| LN ( <expression> )
| LOG ( <expression>, <expression> )
| NOROUND ( <expression> )
| PI
| POWER ( <expression>, <expression> )
| ROUND ( <expression>[, <expression>] )
| SIGN ( <expression> )
| SQRT ( <expression> )
| TRUNC ( <expression>[, <expression>] )

<string_spec> ::= <expression>

Explanation

Only expressions that produce an alphanumeric value are permitted as string specifications (string_spec).

See also:

Functions: Overview


ABS(a) (SAP Library - MaxDB Library)

 Entering content frame

ABS(a)

ABS(a) is an arithmetic function that determines the unsigned value (absolute amount) of the expression a (a number).

 | Result of the Function ABS(a)
a is a NULL value | NULL value
a is a special NULL value | Special NULL value


CEIL(a) (SAP Library - MaxDB Library)

 Entering content frame

CEIL(a)

CEIL(a) is an arithmetic function that calculates the smallest integer value that is greater than or equal to the expression a (a number).

The result is a fixed point number with 0 decimal places.

An error message is output if it is not possible to represent the result of CEIL(a) as a fixed point number.

 | Result of the Function CEIL(a)
a is the NULL value | NULL Value
a is a special NULL value | Special NULL value


EXP(a) (SAP Library - MaxDB Library)

 Entering content frame

EXP(a)

EXP(a) is an arithmetic function that calculates the power from base e (2.71828183) and the exponential a ("e to the power of a").

 | Result of the EXP(a) Function
a is a NULL value | NULL value
a is a special NULL value | Special NULL value


FIXED(a,p,s) (SAP Library - MaxDB Library)

 Entering content frame

FIXED(a,p,s)

FIXED(a,p,s) is an arithmetic function that is used to output the expression a (a number) in a format of the data type FIXED(p,s) (p, s are unsigned integers).

Digits after the decimal point are rounded to s decimal places, if necessary.

 | Result of the FIXED(a,p,s) Function
s not specified | Result as for s=0
p not specified | Result as for p=38
ABS(a)>10exp(p-s) | Special NULL value
a is the NULL value | NULL value
a is special NULL value | Special NULL value


FLOAT(a,s) (SAP Library - MaxDB Library)

 Entering content frame

FLOAT(a,s)

FLOAT(a,s) is an arithmetic function that outputs the expression a (a number) in a format of the data type FLOAT(s) (s is an unsigned integer). It is rounded to s places if necessary.

 | Result of the FLOAT(a,s) Function
a is a NULL value | NULL value
a is a special NULL value | Special NULL value


FLOOR(a) (SAP Library - MaxDB Library)

 Entering content frame

FLOOR(a)

FLOOR(a) is an arithmetic function that calculates the largest integer value that is smaller than or equal to the expression a (a number).

The result is a fixed point number with 0 decimal places.

An error message is output if it is not possible to represent the result of FLOOR(a) as a fixed point number.

 | Result of the FLOOR(a) Function
a is the NULL value | NULL value
a is a special NULL value | Special NULL value


INDEX(a,b,p,s) (SAP Library - MaxDB Library)

 Entering content frame

INDEX(a,b,p,s)

INDEX(a,b,p,s) is an arithmetic function that determines the position of the substring specified in b within the character string a. a and b are string specifications. Only expressions that have an alphanumeric value are permitted as string specifications.

The parameter p (an expression) is optional. If p is specified (p>=1), it defines the start position for the search for the substring b. If p is not specified, the search is started at position 1.

The parameter s (an expression) is optional. If s is specified, it determines the number of searches for the substring b. If s is not specified, the search is carried out for the first occurrence.

 | Result of the INDEX(a,b,p,s) function
a, b character strings and b not less than s times substring of a | 0
a character string and b empty character string | p
a, b, p or s is the NULL value | NULL Value
p or s is special NULL value | Error message

Examples

SQL Tutorial, Information About Character Strings


LENGTH(a) (SAP Library - MaxDB Library)

 Entering content frame

LENGTH(a)

LENGTH(a) is an arithmetic function that specifies the number of characters or bytes that are required to represent the expression a internally. The function can be applied to all data types (including LONG).

 | Result of the LENGTH(a) function
a is a value of data type CHAR|VARCHAR <ASCII|UNICODE> with n characters | Number of characters n
a is a value of a different data type of length n | Length n in bytes
a is a NULL value | NULL Value
a is special NULL value | Special NULL value

The number of characters or the length in bytes is determined without taking into account any trailing blank characters (code attribute ASCII, UNICODE) or binary zeros (code attribute BYTE).

Examples

SQL Tutorial, Information About Character Strings


LN(a) (SAP Library - MaxDB Library)

 Entering content frame

LN(a)

LN(a) is an arithmetic function that calculates the natural logarithm of the expression a (of a number).

 | Result of the LN(a) function
a is a NULL value | NULL value
a is a special NULL value | Special NULL value


LOG(a,b) (SAP Library - MaxDB Library)

 Entering content frame

LOG(a,b)

LOG(a,b) is an arithmetic function that calculates the logarithm of the expression b (of a number) to the expression a as the base.

 | Result of the LOG(a,b) function
a or b is the NULL value | NULL value
b is special NULL value | Special NULL value


NOROUND(a) (SAP Library - MaxDB Library)

 Entering content frame

NOROUND(a)

NOROUND(a) is an arithmetic function that prevents the expression a of an UPDATE or INSERT statement from being rounded so that it matches the data type of the target column.

If the non-rounded number does not correspond to the data type of the target column, an error message is output.

 | Result of the NOROUND(a) Function
a is the NULL value | NULL value
a is a special NULL value | Special NULL value


PI (SAP Library - MaxDB Library)

 Entering content frame

PI

PI is an arithmetic function that outputs the value p.


POWER(a,n) (SAP Library - MaxDB Library)

 Entering content frame

POWER(a,n)

POWER(a,n) is an arithmetic function that calculates the nth power of the number a (a and n are expressions).

An error message is output if n is not an integer.

 | Result of the POWER(a,n) Function
a or n is the NULL value | NULL value
a is a special NULL value | Special NULL value


ROUND(a,n) (SAP Library - MaxDB Library)

 Entering content frame

ROUND(a,n)

ROUND(a,n) is an arithmetic function with the following result (for the expressions a and n that are numbers):

ROUND(a) – round decimal places up and down
ROUND(a,n) – round up and down to the nth place on the right of the decimal point
ROUND(a,-n) – round up and down to the nth place on the left of the decimal point

 | Result of the ROUND(a,n) Function
a>=0 | TRUNC(a+0.5*10E-n,n)
a<0 | TRUNC(a-0.5*10E-n,n)
n not specified | Result as for n=0
n is not an integer | The integer component of n is used and the result is as with a>=0 or a<0
a is floating point number | Floating point number
a is fixed point number | Fixed point number
a is the NULL value | NULL value
a is a special NULL value | Special NULL value


SIGN(a) (SAP Library - MaxDB Library)

 Entering content frame

SIGN(a)

SIGN(a) is an arithmetic function that provides information about the sign of the expression a (a number).

 | Result of the SIGN(a) Function
a<0 | -1
a=0 | 0
a>0 | 1
a is the NULL value | NULL value
a is a special NULL value | Special NULL value


SQRT(a) (SAP Library - MaxDB Library)

 Entering content frame

SQRT(a)

SQRT(a) is an arithmetic function that calculates the square root of the expression a (a number).

 | Result of the SQRT(a) Function
a>0 | Square root of a
a=0 | 0
a<0 or a is a NULL value | NULL value
a is a special NULL value | Special NULL value


TRUNC(a,n) (SAP Library - MaxDB Library)

 Entering content frame

TRUNC(a,n)

TRUNC(a,n) is an arithmetic function with the following result (for the expressions a and n that are numbers):

TRUNC(a) – truncate the decimal places of a
TRUNC(a,n) – truncate the number a after n decimal places
TRUNC(a,-n) – set n places in the number a before the decimal point to 0

 | Result of the CHR(a,n) Function
n>0 | Number a that is truncated n places after the decimal point
n=0 | Integer component of a
n<0 | Number a that is truncated s places in front of the decimal point
n not specified | As with n=0
n is not an integer | The integer component of n is used and the result is as with n>0, n=0, or n<0
a is floating point number | Floating point number
a is fixed point number | Fixed point number
a is the NULL value | NULL Value
a is a special NULL value | Special NULL value


Conversion Function (conversion_function) (SAP Library - MaxDB Library)

 Entering content frame

Conversion Function (conversion_function)

A conversion function (conversion_function) is a function that converts a value from one data type to another.

Syntax

<conversion_function> ::=
CHAR ( <expression>[, <datetimeformat> ] )
| CHR ( <expression>[, <unsigned_integer> ] )
| HEX ( <expression> )
| HEXTORAW ( <expression> )
| NUM ( <expression> )

See also:

Functions: Overview


CHAR(a,t) (SAP Library - MaxDB Library)

 Entering content frame

CHAR(a,t)

CHAR(a,t) is a function (conversion function) that converts the date values, time values, or timestamp values to a character string (expression a) with the format for date values, time values, or timestamp values specified in t.

 | Result of the CHAR(a,t) function
CHAR(a) | The current date and time format is used for the value a.
a is the NULL value | NULL Value


CHR(a,n) (SAP Library - MaxDB Library)

 Entering content frame

CHR(a,n)

CHR(a,n) is a conversion function that converts the expression a into a character string.

Value a: The expression a must be a numeric value, a character string, or a Boolean value (BOOLEAN).

Value n: n is an unsigned integer.

 | Result of the CHR(a,n) function
a is a numeric value | Character string that matches the CHAR representation of the numeric value a. The code attribute of the character string corresponds to the code type of the computer.
a is character string | Identical character string
a is a Boolean value | T, if a=TRUE F, if a=FALSE
a is not a numeric value, a character string, or a Boolean value | Error message
CHR(a,n), n>=1 | Output with the length attribute n
CHR(a) | The length attribute n is calculated as a function of the data type and the length of a.
CHR(a) and a if of the data type FLOAT(p) | If p=1, then n=6 If p>1, then n=p+6
CHR(a) and a is of the data type FIXED(p,s) | If p=s, then n=p+s If s=0, then n=p+1
a is the NULL value | NULL Value
a is the special NULL value | Error message

Examples

SQL Tutorial, Converting Values


HEX(a) (SAP Library - MaxDB Library)

 Entering content frame

HEX(a)

HEX(a) is a conversion function that converts the expression a to a hexadecimal notation. The function can be applied to any data type.

 | Result of the HEX(a) Function
a is the NULL value | NULL value
a is the special NULL value | Error message


HEXTORAW(a) (SAP Library - MaxDB Library)

 Entering content frame

HEXTORAW(a)

HEXTORAW(a) is a conversion function.

An argument a of the function must be an expression that consists of hexadecimal characters. The expression a is converted to a character string with the code attribute BYTE that contains the corresponding characters. During this conversion, two hexadecimal characters are converted to one character.

 | Result of the HEXTORAW(a) Function
a is the NULL value | NULL value
a is the special NULL value | Error message


NUM(a) (SAP Library - MaxDB Library)

 Entering content frame

NUM(a)

NUM(a) is a conversion function that converts the expression a to a numeric value.

NUM can be applied to character strings (data type CHAR or VARCHAR) with the code attribute ASCII, UNICODE, or BYTE, to date values, time values, timestamp values, and to numeric and Boolean values (BOOLEAN).

 | Result of the NUM(a) Function
a is a character string with the code attribute ASCII or UNICODE and can be interpreted as a numeric value | Corresponding numeric value
a is a character string with the code attribute BYTE | Value between 0 and 255 that is determined as follows: The first byte of the character string is converted from hexadecimal notation to decimal notation
a is a numeric value | Unchanged numeric value
a is a Boolean value | 1, if a=TRUE 0, if a=FALSE
a is a character string that cannot be interpreted as a numeric value; a is a character string that does not have the code attribute ASCII, a is neither a numeric nor a Boolean value | Error message
a is a character string that can be interpreted as a numeric value outside the range –9.9999999999999999999999999999999999999E+62, 9.9999999999999999999999999999999999999E+62 | Special NULL value
a is the NULL value | NULL value
a is the special NULL value | Special NULL value


Date and Time Format (datetimeformat) (SAP Library - MaxDB Library)

 Entering content frame

Date and Time Format (datetimeformat)

The data and time format (datetimeformat) specifies the way in which date values, time values and time stamp values are represented.

In SQL statements, it determines the format in which the date, time, and timestamp values can be represented in these SQL statements, and the way in which results are displayed.

Syntax

<datetimeformat> ::= EUR | INTERNAL | ISO | JIS | USA

The ISO date and time format is used by ODBC and JDBC applications and cannot be replaced with a different date and time format.

Date Value

'YYYY' | Four-digit year format (0001-9999)
'MM' | Two-digit month format (01-12)
'DD' | Two-digit day format (01-31)

Format | General Format | Example
EUR | 'DD.MM.YYYY' | '23.01.2005'
INTERNAL | 'YYYYMMDD' | '20050123'
ISO/JIS | 'YYYY-MM-DD' | '2005-01-23'
USA | 'MM/DD/YYYY' | '01/23/2005'

In all formats, with the exception of INTERNAL, leading zeros may be omitted in the identifiers for the month and day.

Time Value

'HHHH' | Four-digit hour format
'HH' | Two-digit hour format
'MM' | Two-digit minute format (00-59)
'SS' | Two-digit second format (00-59)

Format | General Format | Example
EUR | 'HH.MM.SS' | '14.30.08'
INTERNAL | 'HHHHMMSS' | '00143008'
JIS/ISO | 'HH:MM:SS' | '14:30:08'
USA | 'HH:MM AM (PM)' | '2:30 PM'

In all time formats, the hour identifier must consist of at least one digit. In the time format for the USA, the minute identifier can be omitted completely. In all the other formats, with the exception of INTERNAL, the minute and second identifiers must comprise at least one digit.

In the ISO and USA formats, the hours are displayed modulo 24.
In the EUR and JIS formats, a number of hours greater than 99 causes an error.
In the format INTERNAL, you can specify hours up to 9999.

Timestamp Value

'YYYY' | Four-digit year format (0001-9999)
'MM' | Two-digit month format (01-12)
'DD' | Two-digit day format (01-31)
'HH' | Two-digit hour format (0-24)
'MM' | Two-digit minute format (00-59)
'SS' | Two-digit second format (00-59)
'MMMMMM' | Six-digit microsecond format

Format | General Format | Example
EUR/JIS/USA | 'YYYY-MM-DD-HH.MM.SS.MMMMMM' | '2005-01-23-14.30.08.456234'
ISO | 'YYYY-MM-DD HH:MM:SS.MMMMMM' | '2005-01-23 14:30:08.456234'
INTERNAL | 'YYYYMMDDHHMMSSMMMMMM' | '20050123143008456234'

The microsecond identifier can be omitted in all timestamp formats. In all formats, with the exception of INTERNAL, the month and day identifiers must consist of at least one digit.

See also:

Special Database Parameter DATE_TIME_FORMAT


Date function (SAP Library - MaxDB Library)

 Entering content frame

Date function

A date function (date_function) is a function that is applied to date or timestamp values or supplies a date or timestamp value as a result.

Syntax

<date_function> ::=
ADDDATE ( <date_or_timestamp_expression>, <expression> )
| DATEDIFF ( <date_or_timestamp_expression>, <date_or_timestamp_expression> )
| DAYNAME ( <date_or_timestamp_expression> )
| DAYOFMONTH ( <date_or_timestamp_expression> )
| DAYOFWEEK ( <date_or_timestamp_expression> )
| DAYOFYEAR ( <date_or_timestamp_expression> )
| MAKEDATE ( <expression>, <expression> )
| MONTHNAME ( <date_or_timestamp_expression> )
| SUBDATE ( <date_or_timestamp_expression>, <expression> )
| WEEKOFYEAR ( <date_or_timestamp_expression> )

<date_or_timestamp_expression> ::= <expression>

Examples

SQL Tutorial, Date and Time Calculations

Explanation

When used in a function, the argument date_or_timestamp_expression must supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

Date and time values can be specified in a variety of date and time formats (ISO, USA, EUR, JIS, INTERNAL).

Although the Gregorian calendar was not introduced until 1582, it can also be applied to date functions that use dates prior to that year. This means that every year is assumed to have either 365 or 366 days.

See also:

Functions: Overview


ADDDATE/SUBDATE(t,a) (SAP Library - MaxDB Library)

 Entering content frame

ADDDATE/SUBDATE(t,a)

ADDDATE(t,a) and SUBDATE(t,a) are date functions that calculate a date in the future or past.

Value t: When used in a function, the expression t (date_or_timestamp_expression) must supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

Value a: The expression a (expression) supplies a numeric value that represents the number of days. Any decimal places in a are truncated if necessary.

 | Result of the Function ADDDATE(t,a)/SUBDATE(t,a)
Addition of a to t/ Subtraction of a from t | Date value or time stamp value
t or a is NULL value | NULL value
a is a special NULL value | Error message

SELECT arrival, ADDDATE(arrival,2) arrival2, rno
FROM reservation WHERE rno = 130

Postponing the reservation date by two days

ARRIVAL | ARRIVAL2 | RNO
2005-02-01 | 2005-02-03 | 130


DATEDIFF(t,s) (SAP Library - MaxDB Library)

 Entering content frame

DATEDIFF(t,s)

DATEDIFF(t,s) is a date function that calculates the number of days between a start and end date.

Values t and s: When used in a function, the expressions t and s (date_or_timestamp_expression) must both supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

 | Result of the DATEDIFF(t,s) Function
Positive difference between t and s | Numeric value (number of days)
t or s are timestamp values | Only the dates in the timestamp value are used to calculate DATEDIFF(t,s).
t or s is a NULL value | NULL value

SELECT arrival, departure, DATEDIFF(departure,arrival) difference, rno
FROM reservation
WHERE rno = 130

ARRIVAL | DEPARTURE | DIFFERENCE | RNO
2005-02-01 | 2005-02-03 | 2 | 130


DAYNAME/MONTHNAME(t) (SAP Library - MaxDB Library)

 Entering content frame

DAYNAME/MONTHNAME(t)

DAYNAME(t) and MONTHNAME(t) are date functions that supply the weekday or month of the specified day.

Value t: when used in a function, the expression t (date_or_timestamp_expression) must supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

 | Result of the function
DAYNAME(t) or MONTHNAME(t) | Character string that supplies the name of a weekday (Sunday to Saturday) or month (January to December).
t is NULL value | NULL Value

Examples

SQL Tutorial, Functions


DAYOFWEEK/WEEKOFYEAR/DAYOFMONTH/DAYOFYEAR(t) (SAP Library - MaxDB Library)

 Entering content frame

DAYOFWEEK/WEEKOFYEAR/DAYOFMONTH/DAYOFYEAR(t)

DAYOFWEEK(t)/WEEKOFYEAR(t)/DAYOFMONTH(t)/DAYOFYEAR(t) are date functions that provide the following information:

Value t: when used in a function, the expression t (date_or_timestamp_expression) must supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

 | Result of the Function
DAYOFWEEK(t) | Numeric value between 1 and 7 (weekday) The first day is Monday, the second Tuesday, etc.
WEEKOFYEAR(t) | Numeric value between 1 and 53 (calendar week of the specified day)
DAYOFMONTH(t) | Numeric value between 1 and 31 (day of the month of the specified day)
DAYOFYEAR(t) | Numeric value between 1 and 366 (day of the year of the specified day)
t is a NULL value | NULL value


MAKEDATE(a,b) (SAP Library - MaxDB Library)

 Entering content frame

MAKEDATE(a,b)

MAKEDATE(a,b) is a date function that supplies a date value from a year and day value.

The expressions a and b (expression) in MAKEDATE must supply numeric values.
The following restrictions also apply: a>=0 (a represents a year value)
b>0 (b represents a day value)
Decimal places in a and b are truncated if necessary.

 | Result of the MAKEDATE(a,b) function
a or b is the NULL value | NULL value
a or b is the special NULL value | Error message

MAKEDATE(2004,49) in the INTERNAL date format outputs 2004-02-18


Database Function Call (dbfunction_call) (SAP Library - MaxDB Library)

 Entering content frame

Database Function Call (dbfunction_call)

A database function is called (dbfunction_call) in the same way as a function. The database function is created by executing a CREATE FUNCTION statement.

Syntax

<dbfunction_call> ::= <dbfunction_name> ( [<expression>,...] )

Examples

SQL Tutorial, Database Functions, Functions

Explanation

The current user must have the authorization to execute the database function (EXECUTE privilege).

See also:

Functions: Overview


Extraction function (SAP Library - MaxDB Library)

 Entering content frame

Extraction function

An extraction (extraction_function) is a function that extracts parts of a date value, time value, or time stamp value or that calculates a date, time, or time stamp value.

Syntax

<extraction_function> ::=
DATE ( <expression> )
| DAY ( <date_or_timestamp_expression> )
| HOUR ( <time_or_timestamp_expression> )
| MICROSECOND ( <expression> )
| MINUTE ( <time_or_timestamp_expression> )
| MONTH ( <date_or_timestamp_expression> )
| SECOND ( <time_or_timestamp_expression> )
| TIME ( <expression> )
| TIMESTAMP ( <expression>[, <expression> ] )
| YEAR ( <date_or_timestamp_expression> )

<date_or_timestamp_expression> ::= <expression>

<time_or_timestamp_expression> ::= <expression>

Examples

SQL Tutorial, Date and Time Calculations

Explanation

When used in a function, the argument date_or_timestamp_expression must supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

When used in a function, the argument time_or_timestamp_expression must supply a time, a time stamp value, or an alphanumeric value that matches the current time or time stamp format.

Date and time values are available in a variety of date and time formats (ISO, USA, EUR, JIS, INTERNAL).

See also:

Functions: Overview


DATE(a) (SAP Library - MaxDB Library)

 Entering content frame

DATE(a)

DATE(a) is a function (extraction) that calculates a date value for the expression a.

 | Result of DATE(a) function
a is a date value or an alphanumeric value that matches the current date format | This date value
a is an alphanumeric value that does not match the current date format | Error message
a is a timestamp value or an alphanumeric value that matches the current timestamp format | The date value that is part of the timestamp
a is a fixed point or floating point number | Date value that is equal to the xth day after December 31, 0000 (x=TRUNC(a))
a is a NULL value | NULL Value
a is special NULL value | Error message

Examples

SQL Tutorial, Functions


HOUR/MINUTE/SECOND(t) (SAP Library - MaxDB Library)

 Entering content frame

HOUR/MINUTE/SECOND(t)

HOUR(t), MINUTE(t), and SECOND(t) are functions (extraction) that extract the hours, minutes, or seconds from the specified time value or timestamp value.

Value t: when used in a function, the expression t must supply a time value, a time stamp value, or an alphanumeric value that matches the current time or time stamp format.

 | Result of the Function
HOUR(t), MINUTE(t) or SECOND(t) | Numeric value (hours, minutes, and seconds)
t is NULL value | NULL value


MICROSECOND(a) (SAP Library - MaxDB Library)

 Entering content frame

MICROSECOND(a)

MICROSECOND(a) is a function (extraction) that extracts the microseconds from the expression a.

Value a: The expression a must be a timestamp value or supply an alphanumeric value that matches the current timestamp format.

 | Result of MICROSECOND(a) function
MICROSECOND(a) | Numeric value (microseconds)
a is a NULL value | NULL value


TIME(a) (SAP Library - MaxDB Library)

 Entering content frame

TIME(a)

TIME(a) is a function (extraction) that calculates a time value from the expression a.

 | Result of TIME(a) Function
a is a time value or an alphanumeric value that matches the current time format | This time value
a is an alphanumeric value that does not match the current time format | Error message
a is a time stamp value or an alphanumeric value that matches the current time stamp format | The time value that is part of the time stamp
a is a NULL value | NULL value


TIMESTAMP(a,b) (SAP Library - MaxDB Library)

 Entering content frame

TIMESTAMP(a,b)

TIMESTAMP(a,b) is a function (extraction) that calculates from the expressions a and b a time stamp value comprising a date value, time value, and 0 microseconds.

 | Result of TIMESTAMP(a,b) Function
TIMESTAMP(a) | a must be a time stamp value or an alphanumeric value that matches the current time stamp format The result is this time stamp value.
TIMESTAMP(a,b) | a must be a date value and b a time value (or alphanumeric value that matches the current format for date and time values). The result is a time stamp value calculated from a date value, time value, and 0 microseconds.
a or b is the NULL value | NULL Value


YEAR/MONTH/DAY(t) (SAP Library - MaxDB Library)

 Entering content frame

YEAR/MONTH/DAY(t)

YEAR(t), MONTH(t), and DAY(t) are functions (extraction) that extract the year, month, and day from the specified date or time stamp value.

Value t: When used in a function, the expression t must supply a date, a time stamp, or an alphanumeric value that matches the current date or time stamp format.

 | Result of the Function
YEAR(t), MONTH(t), DAY(t) | Numeric value (year, month, day)
t is a NULL value | NULL value


Special Function (special_function) (SAP Library - MaxDB Library)

 Entering content frame

Special Function (special_function)

Special functions (special_function) are special functions which are not restricted to specific data types.

Syntax

<special_function> ::=
<case_function>
| DECODE (<check_expression>,<search_and_result_spec>,...[,<default_expression>])
| GREATEST (<expression>,<expression>,...)
| LEAST (<expression>,<expression>,...)
| VALUE (<expression>,<expression>,...)

<case_function> ::= <simple_case_function>|<searched_case_function>

<check_expression> ::= <expression>

<search_and_result_spec> ::= <search_expression>,<result_expression>

<default_expression> ::= <expression>

<result_expression> ::= <expression>

Explanation

A distinction is made between simple and general CASE functions.

See also:

Functions: Overview


DECODE(x,y(i),...,z) (SAP Library - MaxDB Library)

 Entering content frame

DECODE(x,y(i),...,z)

DECODE(x,y(i),...,z) is a special function that decodes expressions in accordance with their values.

x | check_expression | Expression for which a comparison is to be carried out with the values in y(i)
y(i) | search_and_result_spec | <search_and_result_spec> ::= <search_expression>, <result_expression> (y(i)=u(i),v(i), i=1,...) Combination of the comparison value u(i) and the value v(i) that is to replace this comparison value
z | default_expression | Optional default value (LONG value is permissible)
u(i) | search_expression | Comparison value that is to be replaced by v(i) if it matches x
v(i) | result_expression | Value that is to replace the value u(i), if necessary (LONG value is permissible)

Examples

SQL Tutorial, Converting Values

Explanation

Both x and u(i) must have identical data types. The data types of v(i) and z must be comparable. The data types of u(i) and v(i) do not have to be comparable.

DECODE compares the values of x with the values u(i) consecutively. If a match is found, the result of DECODE is the value v(i) in the combination y(i)=u(i),v(i).

A match is present if x and u(i) are NULL values. The comparison of the special NULL value with any other value never results in a match.

If a match is not found, DECODE supplies the result of z. If z is not specified, the NULL value is the result of DECODE.


GREATEST/LEAST(x,y,...) (SAP Library - MaxDB Library)

 Entering content frame

GREATEST/LEAST(x,y,...)

GREATEST(x,y,...) or LEAST(x,y) is a special function that calculates the maximum or minimum value of all arguments (expressions).

The functions can be applied to any data type. The data types of the individual expressions must be comparable.

 | Result of the function
At least one argument is the NULL value | NULL Value
At least one argument is the special NULL value | Special NULL value

Examples

SQL Tutorial, Information About Character Strings


VALUE(x,y,...) (SAP Library - MaxDB Library)

 Entering content frame

VALUE(x,y,...)

VALUE(x,y,...) is a special function that can be used to replace NULL values with a non-NULL value.

The arguments (expressions) of the VALUE function must be comparable. The expressions are evaluated one after the other in the specified order.

 | Result of the VALUE(x,y,...) function
One of the arguments is a non-NULL value | The first non-NULL value that occurs
Each argument is a special NULL value | Special NULL value
Each argument is a NULL value | NULL value

Examples

SQL Tutorial, Converting Values


General CASE Function (searched_case_function) (SAP Library - MaxDB Library)

 Entering content frame

General CASE Function (searched_case_function)

The general CASE function (searched_case_function) is a special function that analyzes a quantity of search conditions to determine a result expression.

Syntax

<searched_case_function> ::=
CASE
WHEN <search_condition> THEN <result_expression>
[...]
[ELSE <default_expression>])
END

<result_expression> ::= <expression>
<default_expression> ::= <expression>

Examples

SQL Tutorial, Functions

Explanation

CASE checks the search conditions (search_condition) in succession. As soon as a search condition that is true is found, the result of the general CASE function is the value of the expression result_expression that belongs to the search condition.

If no true search expression is found, then CASE gets the result of the expression default_expression. If default_expression is not specified, the result of CASE is the NULL value .

All search conditions without ROWNO Predicate are permissible. The data types of the expressions result_expression and default_expression must be comparable.

See also:

Simple CASE function (simple_case_function)


Simple CASE Function (simple_case_function) (SAP Library - MaxDB Library)

 Entering content frame

Simple CASE Function (simple_case_function)

The simple CASE function (simple_case_function) is a special function that compares an expression with a set of simple expressions to determine a result expression.

Syntax

<simple_case_function> ::=
CASE <check_expression>
WHEN <search_expression> THEN <result_expression>
[...]
[ELSE <default_expression>])
END

<check_expression> ::=
<expression>
<search_expression> ::= <expression>
<result_expression> ::= <expression>
<default_expression> ::= <expression>

Examples

SQL Tutorial, Functions

Explanation

CASE compares the value of the comparison expression check_expression with the values of the expressions search_expression, one after the other. If values match, the result of the simple CASE function is the value of the result_expression that belongs to the search_expression.

If no values match, CASE supplies the result of the default_expression expression. If default_expression is not specified, the result of CASE is the NULL value .

The data types of check_expression and search_expression must be comparable. The data types of result_expression and default_expression must be comparable. The data types of search_expression and result_expression do not need to be comparable.

If the values of the expressions check_expression and search_expression are NULL values, then a match exists. The comparison of the special NULL value with any other value never results in a match.

See also:

General CASE Function (searched_case_function)


String Function (string_function) (SAP Library - MaxDB Library)

 Entering content frame

String Function (string_function)

A string function (string_function) is a function that supplies an alphanumeric value as a result.

Syntax

<string_function> ::=
<string_spec> || <string_spec>
| <string_spec> & <string_spec>
| ALPHA     (<string_spec>[,<unsigned_integer>])
| ASCII     (<string_spec>)
| EXPAND    (<string_spec>,<unsigned_integer>)
| GET_OBJECTNAME (<string_literal>)
| GET_SCHEMA     (<string_literal>)
| INITCAP   (<string_spec>)
| LFILL     (<string_spec>,<string_literal>[,<unsigned_integer>])
| LOWER     (<string_spec>)
| LPAD      (<string_spec>,<expression>,<string_literal>[,<unsigned_integer>])
| LTRIM     (<string_spec>[,<string_spec>])
| MAPCHAR   (<string_spec>[,<unsigned_integer>][,<mapchar_set_name>])
| REPLACE   (<string_spec>,<string_spec>[,<string_spec>])
| RFILL     (<string_spec>,<string_literal>[,<unsigned_integer>])
| RPAD      (<string_spec>,<expression>,<string_literal>[,<unsigned_integer>])
| RTRIM     (<string_spec>[,<string_spec>])
| SOUNDEX   (<string_spec>)
| SUBSTR    (<string_spec>,<expression>[,<expression>])
| TRANSLATE (<string_spec>,<string_spec>,<string_spec>)
| TRIM      (<string_spec>[,<string_spec>])
| UPPER     (<string_spec>)

<string_spec> ::= <expression>

Explanation

<string_spec> || <string_spec> or <string_spec> & <string_spec> can be used to represent a concatenation (x||y or x&y).

Only expressions that produce an alphanumeric value are permitted as string specifications (string_spec).

See also:

Functions: Overview


ALPHA(x,n) (SAP Library - MaxDB Library)

 Entering content frame

ALPHA(x,n)

ALPHA(x,n) is a string function that enables a character x (string specification) in ASCII to be converted to a different one or two-character representation defined in the DEFAULTMAP (mapchar_set_name). Only expressions that supply an alphanumeric value are permitted as string specifications.

ALPHA(x,n) is used to define the sort sequence.

The function ALPHA(x,n) uses the MAPCHAR(x,n,i) function internally (where i is the DEFAULTMAP) and also performs a conversion to uppercase letters (UPPER(x)).

Specifying n, an unsigned integer, is optional. n specifies the maximum length of the result.

 | Result of the Function ALPHA(x,n)
ALPHA(x,n) | UPPER(MAPCHAR(x,n,DEFAULTMAP))

The ALPHA function enables data to be sorted practically, for example, if "ü" is to be treated as "UE" for sorting purposes. The mapchar set with the name DEFAULTMAP is used.

SELECT...,ALPHA(<column_name>) sort,...FROM...ORDER BY sort


ASCII(x) (SAP Library - MaxDB Library)

 Entering content frame

ASCII(x)

ASCII(x) is a string function that converts a character string x (string specification) with the code attribute ASCII, UNICODE (if this is ASCII data) or BYTE to ASCII data. Only expressions that supply an alphanumeric value are permitted as string specifications.

 | Result of the Function ASCII(x)
x is of data type CHAR or VARCHAR, the code attribute for x is ASCII, UNICODE or BYTE | ASCII(x) is a character string in ASCII notation
x is a NULL value | NULL value

The ASCII functions are useful when ASCII code is to be used for sorting or comparison purposes.

Output of a sorted result table in ASCII order:

SELECT ASCII(name) FROM...WHERE...ORDER BY 1


EXPAND(x,n) (SAP Library - MaxDB Library)

 Entering content frame

EXPAND(x,n)

EXPAND(x,n) is a string function that adds x (string specification) blank characters (code attribute ASCII, UNICODE) or binary zeros (code attribute BYTE) to the end of a character string as are needed to give the string the length specified by n, an unsigned integer. Only expressions that supply an alphanumeric value are permitted as string specifications.

 | Result of the EXPAND(x,n) Function
x is a NULL value | NULL value

See also:

LFILL(x,a,n)

RFILL(x,a,n)


GET_OBJECTNAME(x,o) (SAP Library - MaxDB Library)

 Entering content frame

GET_OBJECTNAME(x,o)

The string function GET_OBJECTNAME(x,o) returns the name of the database object.

Identifier of the object: x

The argument x is a string literal in the format[<schema_name>.]<identifier> or a character parameter of this type. Schema schema_name or identifier identifier can be special identifiers.

Object type: o

You can use one of the following key words:

· DBPROC[EDURE]: Database procedure

· DOMAIN: Domain

· SEQUENCE: Sequence

· SYNONYM: Synonym

· VIEW: View table

· TABLE: Table

 | Result of the GET_OBJECTNAME(x,o) Function
x identifies an object that is not of object type o | NULL value
Object x does not exist | NULL value
Object x exists, however the current user does not have any privileges for this object | NULL value
Object x exists for the schema specified under schema_name and the current user has a privilege for this object | identifier
Object x exists, and the current user has a privilege for this object | First object name found in the search hierarchy

For some object types, there is no search hierarchy. In this case, the function only searches for the object in the schema of the current user.


GET_SCHEMA(x,o) (SAP Library - MaxDB Library)

 Entering content frame

GET_SCHEMA(x,o)

The string function GET_SCHEMA(x,o) returns the name of the schema of the specified database object.

Identifier of the object: x

The argument x is a string literal in the format[<schema_name>.]<identifier> or a character parameter of this type. Schema schema_name or identifier identifier can be special identifiers.

Object type: o

You can use one of the following key words:

· DBPROC[EDURE]: Database procedure

· DOMAIN: Domain

· SEQUENCE: Sequence

· SYNONYM: Synonym

· VIEW: View table

· TABLE: Table

 | Result of the GET_SCHEMA(x,o) Function
x identifies an object that is not of object type o | NULL value
Object x does not exist | NULL value
Object x exists, however the current user does not have any privileges for this object | NULL value
Object x exists for the schema specified under schema_name and the current user has a privilege for this object | schema_name
Object x exists, and the current user has a privilege for this object | First schema of this object found in the search hierarchy

For some object types, there is no search hierarchy. In this case, the function only searches for the object in the schema of the current user.


INITCAP(x) (SAP Library - MaxDB Library)

 Entering content frame

INITCAP(x)

INITCAP(x) is a string function that changes a character string x (string specification) so that the first character of a word is an uppercase letter and the rest of the word consists of lowercase characters. Different words are split by one or more characters from the 7-bit ASCII character set that are not letters or digits (such as commas, blank characters, or colons). For a list of letters and characters, see Character (character) . Only expressions that produce an alphanumeric value are permitted as string specifications.

 | Result of the INITCAP(x) function
x is a NULL value | NULL Value

Examples

SQL Tutorial, Information About Character Strings


LFILL(x,a,n) (SAP Library - MaxDB Library)

 Entering content frame

LFILL(x,a,n)

LFILL(x,a,n) is a string function that inserts the character string a (string literal) at the start of the character string x (string specification) as often as required until the character string has reached the length n (unsigned integer). Only expressions that produce an alphanumeric value are permitted as string specifications.

If the character string a cannot be completely inserted without exceeding the specified total length, only the part that is needed to reach the total length is inserted.

 | Result of the LFILL(x,a,n) function
LFILL(x,a) x must identify a CHAR or VARCHAR column. | The column x is filled with the characters of a until its maximum length is reached.
x is a NULL value | NULL Value
a or n is the NULL value | Error message

Examples

SQL Tutorial, Changing Character Strings

See also:

RFILL(x,a,n)

EXPAND(x,n)


LPAD(x,a,y,n) (SAP Library - MaxDB Library)

 Entering content frame

LPAD(x,a,y,n)

LPAD(x,a,y,n) is a string function that inserts the character string y (string literal) at the start of the character string x (string specification) as often as specified by the expression a. Only expressions that supply an alphanumeric value are permitted as string specifications. The result of the expression a must be a positive integer.

Leading and subsequent blanks in the character string x are truncated.

The optional parameter n (unsigned integer) defines the maximal total length of the character string created. n must be greater than or equal to the total LENGTH(x)+a*LENGTH(y).

 | Result of the LPAD(x,a,y,n) function
LPAD(x,a,y) x must identify a CHAR or VARCHAR column. | The maximum length of the character string is the length of the character string x.
x or a is the NULL value | NULL value
a is the special NULL value | Error message

SELECT hno, LPAD(' ',TRUNC(price/10),'*',70) graph
FROM room WHERE price > 150 ORDER BY price DESC

Creating bar charts: LPAD inserts asterisks in front of the first parameter (in this case, a blank). This is done according to the number equal to price divided by 10.

HNO | GRAPH
130 | **********************************************************************
140 | ************************************************************
50 | **************************************************
60 | **************************************************
150 | *********************************************
80 | ****************************************
120 | ***********************************
90 | ******************************
130 | ***************************
10 | ********************
60 | ********************
140 | ********************
150 | *******************
50 | ******************
70 | ******************
130 | ****************

See also:

RPAD(x,a,y,n)


LTRIM(x,y) (SAP Library - MaxDB Library)

 Entering content frame

LTRIM(x,y)

LTRIM(x,y) is a string function that removes all of the characters specified in the character string y (string specification) from the start of the character string x (string specification).

The result of LTRIM(x,y), therefore, starts with the first character that was not specified in y. Only expressions that produce an alphanumeric value are permitted as string specifications.

 | Result of the LTRIM(x,y) function
LTRIM(x) | Spaces only (Code attribute ASCII, UNICODE) are removed from x.
x is a NULL value | NULL Value

Examples

SQL Tutorial, Changing Character Strings

See also:

TRIM(x,y)

RTRIM(x,y)


MAPCHAR(x,n,i) (SAP Library - MaxDB Library)

 Entering content frame

MAPCHAR(x,n,i)

MAPCHAR(x,n,i) is a string function that converts country-specific letters to a different format (for example, German umlauts, French letters with a grave accent).

MAPCHAR(x,n,i) uses the MapChar set with the name i (mapchar set name) to convert the character string x (string specification). Only expressions that supply an alphanumeric value are permitted as string specifications. If you do not specify a MapChar set name, the MapChar set with the name DEFAULTMAP (defined for the ASCII code) is used.

The code on which the character string x is based and the code on which the implemented MapChar set is based must match.

The parameter n (unsigned integer) is optional; n specifies the maximum length of the result.

 | Result of the MAPCHAR(x,n,i) function
MAPCHAR(x,i) | MAPCHAR(x,n,i), where n is the length of the character string x
MAPCHAR(x,i) x is CHAR or VARCHAR column | MAPCHAR(x,n,i), where n is the length of the column x
MAPCHAR(x) | MAPCHAR(x,DEFAULTMAP)
x is a NULL value | NULL value

The MAPCHAR function enables data to be sorted correctly, for example, if "ü" is to be treated as "ue" for sorting purposes. The MapChar set with the name DEFAULTMAP is used.

SELECT...,MAPCHAR(<column_name>) sort,...FROM...ORDER BY sort


REPLACE(x,y,z) (SAP Library - MaxDB Library)

 Entering content frame

REPLACE(x,y,z)

REPLACE(x,y,z) is a string function that replaces the character string y in the character string x with the character string z. All character strings are string specifications. Only expressions that produce an alphanumeric value are permitted as string specifications.

 | Result of the REPLACE(x,y,z) function
REPLACE(x,y) | The character string y in x is deleted
x is a NULL value | NULL Value
y is NULL value | x remains unchanged
z is NULL value | The character string y in x is deleted

Examples

SQL Tutorial, Changing Character Strings

See also:

TRANSLATE(x,y,z)


RFILL(x,a,n) (SAP Library - MaxDB Library)

 Entering content frame

RFILL(x,a,n)

RFILL(x,a,n) is a string function that inserts the character string a (string literal) at the end of the character string x (string specification) as often as required until the character string has reached the length n (unsigned integer). Only expressions that produce an alphanumeric value are permitted as string specifications.

If the character string a cannot be completely inserted without exceeding the specified total length, only the part that is needed to reach the total length is inserted.

 | Result of the RFILL(x,a,n) function
RFILL(x,a) x must identify a CHAR or VARCHAR column. | The column x is filled with the characters of a until its maximum length is reached.
x is a NULL value | NULL Value
a or n is the NULL value | Error message

Examples

SQL Tutorial, Changing Character Strings

See also:

LFILL(x,a,n)

EXPAND(x,n)


RPAD(x,a,y,n) (SAP Library - MaxDB Library)

 Entering content frame

RPAD(x,a,y,n)

RPAD(x,a,y,n) is a string function that inserts the character string y (string literal) at the end of the character string x (string specification) as often as specified by the expression a. Only expressions that have an alphanumeric value as a result are allowed as a string specification (string spec). The result of the expression a must be a positive integer.

Leading and subsequent blanks in the character string x are truncated.

The optional parameter n (unsigned integer) defines the maximal total length of the character string created. n must be greater than or equal to the total LENGTH(x)+a*LENGTH(y).

 | Result of the RPAD(x,a,y,n) Function
RPAD(x,a,y) x must identify a CHAR or VARCHAR column. | The maximum length of the character string is the length of the character string x.
x or a is the NULL value | NULL Value
a is the special NULL value | Error message

See also:

LPAD(x,a,y,n)


RTRIM(x,y) (SAP Library - MaxDB Library)

 Entering content frame

RTRIM(x,y)

RTRIM(x,y) is a string function that removes at the end of the character string x (string specification) the blanks (code attribute ASCII, UNICODE) and then all of the characters specified in the character string y (string specification).

The result of RTRIM(x,y), therefore, ends with the last character that was not specified in y. Only expressions that produce an alphanumeric value are permitted as string specifications.

 | Result of the RTRIM(x,y) function
RTRIM(x) | Spaces only (code attribute ASCII, UNICODE) are removed from x.
x is a NULL value | NULL Value

Examples

SQL Tutorial, Changing Character Strings

See also:

TRIM(x,y)

LTRIM(x,y)


SOUNDEX(x) (SAP Library - MaxDB Library)

 Entering content frame

SOUNDEX(x)

SOUNDEX(x) is a string function that converts a character string x (string specification) to a format that is generated by the SOUNDEX algorithm. Only expressions that have an alphanumeric value as a result are allowed as a string specification (string spec).

This representation can be used if the user does not know the exact spelling of the search term.

 | Result of the SOUNDEX(x) Function
SOUNDEX(x) | The SOUNDEX algorithm is used. The result is a value with the data type CHAR(4).
x is a NULL value | NULL value

The SOUNDS predicate is often applied to a column x.

Since inversions cannot be used here, it is advisable for performance reasons to define an additional table column x1 with the data type CHAR(4), in which the result of SOUNDEX(x) is then inserted.

An SQL statement should then refer to column x1:
Instead of x SOUNDS LIKE <string literal>,
use x1= SOUNDEX(<string_literal>)


SUBSTR(x,a,b) (SAP Library - MaxDB Library)

 Entering content frame

SUBSTR(x,a,b)

SUBSTR(x,a,b) is a string function that outputs part of the character string x (string specification of length n). Only expressions that have an alphanumeric value as a result are allowed as string specification x. LONG values are allowed. If x is a LONG value, you must specify length b of the desired subarea.

a and b are expressions. The value b may not be larger than the column definition for a CHAR column.

 | Result of the SUBSTR(x,a,b) Function
SUBSTR(x,a,b) | Part of the character string x that starts at the ath character and is b characters long.
SUBSTR(x,a) | SUBSTR(x,a,n-a+1) supplies all of the characters in the character string x from the ath character to the last (nth) character.
b is an unsigned integer | SUBSTR(x,a,b) b can also have a value that is greater than (n-a+1).
b is not an unsigned integer | SUBSTR(x,a,b) b must not be greater than (n-a+1).
b>(n-a+1) | SUBSTR(x,a) As many blanks (code attribute ASCII, UNICODE) or binary zeros (code attribute BYTE) are appended to the end of this result as are needed to give the result the length b.
x, a, or b is a NULL value | NULL value

Examples

SQL Tutorial, Functions, Changing character strings


TRANSLATE(x,y,z) (SAP Library - MaxDB Library)

 Entering content frame

TRANSLATE(x,y,z)

TRANSLATE(x,y,z) is a string function that replaces the ith character of the character string y with the ith character of the character string z in the character string x. The character strings y and z must have the same length; x, y, and z are string specifications. Only expressions that produce an alphanumeric value are permitted as string specifications.

 | Result of the TRANSLATE(x,y,z) function
x is a NULL value | NULL value
y is NULL value | x remains unchanged

Examples

SQL Tutorial, Changing Character Strings

See also:

REPLACE(x,y,z)


TRIM(x,y) (SAP Library - MaxDB Library)

 Entering content frame

TRIM(x,y)

TRIM(x,y) is a string function that removes all of the characters specified in the character string y from the start of the character string x. The result of TRIM(x,y), therefore, starts with the first character that was not specified in y.

TRIM(x,y) also removes the blanks (code attribute ASCII, UNICODE) from the end of the character string x and then all of the characters specified in the character string y. The result of TRIM(x,y), therefore, ends with the last character that was not specified in y.

 | Result of the TRIM(x,y) function
TRIM(x) | Spaces only (code attribute ASCII, UNICODE) are removed from x.
x is a NULL value | NULL value

Examples

SQL Tutorial, Changing Character Strings

See also:

LTRIM(x,y)

RTRIM(x,y)


UPPER/LOWER(x) (SAP Library - MaxDB Library)

 Entering content frame

UPPER/LOWER(x)

UPPER(x) and LOWER(x) are string functions that convert a character string x (string specification) to uppercase/lowercase letters. Only expressions that produce an alphanumeric value are permitted as string specifications.

 | Result of the UPPER(x) or LOWER(x) function
x is a NULL value | NULL value

Examples

SQL Tutorial, Converting Values


Concatenation (SAP Library - MaxDB Library)

 Entering content frame

Concatenation

A concatenation x||y or x&y is a string function that supplies the following results for character string x (string specification with the length n) and character string y (string specification with the length m):

 | Result of the concatenation
x||y or x&y | x and y are concatenated to a character string with the length n+m. If a character string originates from a column, its length is determined without taking trailing blanks into account (code attribute. ASCII, UNICODE) or binary zeros (code attribute BYTE).
x or y is the NULL value | NULL value

Examples

SQL Tutorial, Functions, Changing character strings

Explanation

Only expressions that produce an alphanumeric value are permitted as string specifications.

Columns with the same code attribute can be concatenated.

Columns with different code attributes (ASCII and UNICODE) can be concatenated together and with date values, time values, and timestamp values.


Time Function (time_function) (SAP Library - MaxDB Library)

 Entering content frame

Time Function (time_function)

A time function (time_function) is a function that is applied to time or time stamp values, or that supplies a time or time stamp value as a result.

Syntax

<time_function> ::=
ADDTIME ( <time_or_timestamp_expression>, <time_expression> )
| MAKETIME ( <hours>, <minutes>, <seconds> )
| SUBTIME ( <time_or_timestamp_expression>, <time_expression> )
| TIMEDIFF ( <time_or_timestamp_expression>, <time_or_timestamp_expression> )

<time_or_timestamp_expression> ::= <expression>
<time_expression> ::= <expression>

<hours> ::= <expression>
<minutes> ::= <expression>
<seconds> ::= <expression>

Examples

SQL Tutorial, Date and Time Calculations

Explanation

When used in a function, the argument time_or_timestamp_expression must supply a time value , a time stamp value, or an alphanumeric value that matches the current time or time stamp format.

In a function, the argument time_expression must supply a time value or an alphanumeric value that is in the current time format.

When used in a function, each of the arguments hours, minutes or seconds must be an integer greater than or equal to 0. If an expression is not an integer, decimal places are truncated.

Date and time values are available in a variety of date and time formats (ISO, USA, EUR, JIS, INTERNAL).

In the ISO and USA formats, the hours are displayed modulo 24.
In the EUR and JIS formats, a number of hours greater than 99 causes an error.
In the format INTERNAL, you can specify hours up to 9999.

See also:

Functions: Overview


ADDTIME/SUBTIME(t,a) (SAP Library - MaxDB Library)

 Entering content frame

ADDTIME/SUBTIME(t,a)

ADDTIME(t,a) and SUBTIME(t,a) are time functions that calculate a time/timestamp value in the past or future.

Value t: When used in a function, the expression t (time_or_timestamp_expression) must supply a time value, a time stamp value, or an alphanumeric value that matches the current time or time stamp format.

Value a: When used in a function, the expression a (time_expression) must supply a time value or an alphanumeric value that matches the current time format.

 | Result of the Function ADDTIME(t,a)/SUBTIME(t,a)
Addition of a to t/ Subtraction of a from t | Time or time stamp value
SUBTIME(t,a) and t and a are time values | a must be less than t, otherwise an error is output
t or a is NULL value | NULL value


MAKETIME(h,m,s) (SAP Library - MaxDB Library)

 Entering content frame

MAKETIME(h,m,s)

MAKETIME(h,m,s) is a time function that calculates a time value from the total number of hours, minutes, and seconds.

Values h, m, and s: Each of the expressions h, m, and s in the function must be integers and greater than or equal to 0. If an expression is not an integer, decimal places are truncated.

 | Result of the MAKETIME(h,m,s) function
h,m,s is NULL value | NULL value
h,m,s is special NULL value | Error message


TIMEDIFF(t,s) (SAP Library - MaxDB Library)

 Entering content frame

TIMEDIFF(t,s)

TIMEDIFF(t,s) is a time function that calculates the time value between a start and end time.

Values t and s: When used in a function, the expressions t and s must supply a time value, a time stamp value, or an alphanumeric value that matches the current time or time stamp format. The arguments must have the same data type, in other words, be either a time value or a time stamp value.

 | Result of TIMEDIFF(t,s) Function
Positive difference between t and s | Time Value
t or s are time stamp values for alphanumeric values that match the current time stamp format. | The dates in the time stamp value are used to calculate TIMEDIFF(t,s).
Difference of more than 9999 hours | Number of hours modulo 10000
t or s is a NULL value | NULL Value


Trigonometric Function (trigonometric_function) (SAP Library - MaxDB Library)

 Entering content frame

Trigonometric Function (trigonometric_function)

A trigonometric function (trigonometric_function) is a function that supplies a numeric value as a result.

Syntax

<trigonometric_function> ::=
COS ( <expression> )
| SIN ( <expression> )
| TAN ( <expression> )
| COT ( <expression> )
| COSH ( <expression> )
| SINH ( <expression> )
| TANH ( <expression> )
| ACOS ( <expression> )
| ASIN ( <expression> )
| ATAN ( <expression> )
| ATAN2 ( <expression>, <expression> )
| RADIANS ( <expression> )
| DEGREES ( <expression> )

Explanation

All expressions (expression) in every trigonometric function identify an angle in radians and are denoted with a and b below. The only exception to this is the RADIANS function.

 | Result of the Trigonometric Function
a is a NULL value | NULL value
a is a special NULL value | Special NULL value
COS(a) | Cosine of number a
SIN(a) | Sine of number a
TAN(a) | Tangent of number a
COT(a) | Cotangent of number a
COSH(a) | Hyperbolic cosine of number a
SINH(a) | Hyperbolic sine of number a
TANH(a) | Hyperbolic tangent of number a
ACOS(a) | Arc cosine of number a
ASIN(a) | Arc sine of number a
ATAN(a) | Arc tangent of number a
ATAN2(a,b) | Arc tangent of the value a/b, where -p<=a<=+p and -p<=b<=+p
ASIN(a) | Arc sine of number a
RADIANS(a) | Angle in radians of the number a
DEGREES(a) | Value in degrees of the number a

See also:

Functions: Overview


Key Specification (key_spec) (SAP Library - MaxDB Library)

 Entering content frame

Key Specification (key_spec)

A key specification (key_spec) allows table rows to be located whose key column values match the values in the key specification. A row with the specified key values does not have to exist.

Syntax

<key_spec> ::= <column_name> = <value_spec>

Explanation

The value specification value_spec must not be NULL.

The column name column_name must identify a key column in the table.

The key specification must contain all the key columns in a table. The individual key specifications key_spec must be separated by commas.

For tables defined without key columns, an implicitly generated column exists – SYSKEY CHAR(8) BYTE, which contains a key integrated by the database system. This column can be used in a key specification.

A key specification is used in the following SQL statements:

UPDATE Statement (update_statement), DELETE Statement (delete_statement), LOCK Statement (lock_statement), UNLOCK Statement (unlock_statement)


Literal (literal) (SAP Library - MaxDB Library)

 Entering content frame

Literal (literal)

A literal (literal) is an unknown data object that is defined fully by virtue of its value (specifies a non-NULL value). Literal values cannot be modified. A distinction is made between string literals and numeric literals.

Syntax

<literal> ::= <numeric_literal> | <string_literal>

<numeric_literal> ::= <fixed_point_literal> | <floating_point_literal>

<string_literal> ::= '' | '<character>...' | <hex_literal>

<hex_literal> ::= x'' | X''
| x'<hex_digit_seq>' | X'<hex_digit_seq>'

<hex_digit_seq> ::= <hex_digit><hex_digit>
| <hex_digit_seq><hex_digit><hex_digit>

<hex_digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| A | B | C | D | E | F
| a | b | c | d | e | f

String literals
'69190 Walldorf'
'Anthony Smith'
X'12ab'

Numeric literals
+0.58498
1E160
-765E-04

Explanation

A numeric literal (numeric_literal) is a number represented as a fixed or floating point number.

A string literal (string_literal) is a sequence of characters in quotation marks. String literals can also be represented in hexadecimal notation by preceding them with x or X.

A quotation mark within a character string is represented by two successive quotation marks.

A string literal of the type '<character>...' or '' is only valid for a value referring to an alphanumeric column with the code attribute ASCII.

A hexadecimal value (hex_literal) is only valid for a value referring to a column with the code attribute BYTE.

A string literal of the type '', x'', and X'' , and string literals that only contain blanks are not the same as the NULL value.


Fixed Point Number (fixed_point_literal) (SAP Library - MaxDB Library)

 Entering content frame

Fixed Point Number (fixed_point_literal)

A fixed point number (fixed_point_literal) is a numeric literal that specifies a number as a fixed point number.

Syntax

<fixed_point_literal> ::=
[+|-]<digit_sequence>[.<digit_sequence>]
| [+|-]<digit_sequence>.
| [+|-].<digit_sequence>

<digit_sequence> ::= <digit>...

<digit> ::= 0 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9

+123.12
1234.


Floating Point Number (floating_point_literal) (SAP Library - MaxDB Library)

 Entering content frame

Floating Point Number (floating_point_literal)

A floating point number (floating_point_literal) is a numeric literal that specifies a number as a floating point number.

Syntax

<floating_point_literal> ::=
<mantissa>E<exponent>
| <mantissa>e<exponent>

<mantisse> := <fixed_point_literal>

<exponent> ::= [+|-][[<digit>]<digit>]<digit>

<digit> ::= 0 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9

1e160
-765E-04


Unsigned integer (unsigned_integer) (SAP Library - MaxDB Library)

 Entering content frame

Unsigned integer (unsigned_integer)

An unsigned integer (unsigned_integer) is a special numeric literal.

Syntax

<unsigned_integer> ::= <numeric_literal>

<numeric_literal> ::= <fixed_point_literal> | <floating_point_literal>

Explanation

An unsigned integer can be represented in any way but must be a positive integer.


Integer (integer) (SAP Library - MaxDB Library)

 Entering content frame

Integer (integer)

An integer (integer) is a special numeric literal. An integer can be represented in any way.

Syntax

<integer> ::= [+|-]<unsigned_integer>


Parameter Specification (parameter spec) (SAP Library - MaxDB Library)

 Entering content frame

Parameter Specification (parameter spec)

A parameter specification (parameter spec) identifies the parameter name and, if necessary, the indicator name needed to specify a parameter.

Syntax

<parameter_spec> ::= <parameter_name> [<indicator_name>]

Explanation

The indicator must be declared as a variable in the embedding programming language. It must be possible to assign at least four-digit integers to this variable.

A distinction is made between output parameters and input parameters:

· Output parameters: parameters that are to receive values retrieved from the database system.

- An indicator parameter with the value 0 indicates that the transferred value is not a NULL value and that the parameter value is the transferred value.

- An indicator with the value –1 indicates that the parameter value is the NULL value.

- Alphanumeric output parameters: an indicator with a value greater than 0 indicates that the assigned character string was too long and has been truncated. The indicator specifies the untruncated length of the original output column.

- Numeric output parameters: an indicator with a value greater than 0 indicates that the assigned value has too many significant digits and decimal places have been truncated. The indicator specifies the number of digits in the original value.

- For numeric output parameters, an indicator with the value -2 indicates that the parameter value is the special NULL value.

· Input parameters: parameters containing values that are to be transferred to the database system.

- An indicator with a value greater than or equal to 0 indicates that the specified parameter value is the value that is to be transferred to the database system.

- An indicator with a value less than 0 indicates that the specified parameter value is the NULL value.


Predicate (SAP Library - MaxDB Library)

 Entering content frame

Predicate

A predicate is specified in a WHERE condition in a statement which is "true", "false", or "unknown". The result is generated by applying the predicate to a specific row in a result table or to a group of rows in a table that was formed by the GROUP condition.

Syntax

<predicate> ::=
<between_predicate>
| <bool_predicate>
| <comparison_predicate>
| <default_predicate>
| <exists_predicate>
| <in_predicate>
| <join_predicate>
| <like_predicate>
| <null_predicate>
| <quantified_predicate>
| <rowno_predicate>
| <sounds_predicate>

Examples

SQL Tutorial, Conditions: Comparison, AND, OR, BETWEEN, IN, Negative Conditions: NOT, Searching for Character Strings: LIKE, Joins: Information from Several Tables

Explanation

· Columns in a table with the same code attribute can be compared.

· Columns that have different code attributes such as ASCII and UNICODE can be compared.

· Columns with the code attribute ASCII or UNICODE can be compared with date values, time values- or time stamp values.

· LONG columns can only be used in the NULL predicate.


BETWEEN predicate (SAP Library - MaxDB Library)

 Entering content frame

BETWEEN predicate

The BETWEEN predicate (between_predicate) is a predicate that checks whether a value lies in a predefined interval.

Syntax

<between_predicate> ::= <expression> [NOT] BETWEEN <expression> AND <expression>

Examples

SQL Tutorial, Conditions: Comparison, AND, OR, BETWEEN, IN, Negative Conditions: NOT

Explanation

Let x, y, and z be the results of the first, second, and third expression. The values x,y,z must be comparable.

 | Result of the specified predicate
x BETWEEN y AND z | x>=y AND x<=z
x NOT BETWEEN y AND z | NOT(x BETWEEN y AND z)
x, y, or z are NULL values | x [NOT] BETWEEN y AND z is undefined


Boolean Predicate (bool_predicate) (SAP Library - MaxDB Library)

 Entering content frame

Boolean Predicate (bool_predicate)

Boolean values (BOOLEAN) are compared in a Boolean predicate (bool_predicate).

Syntax

<bool_predicate> ::= <column_spec> [IS [NOT] TRUE | IS [NOT] FALSE]

Explanation

If only one column specification column_spec is specified, the syntax is identical to <column spec> IS TRUE.

The column specification must always denote a column with the data type BOOLEAN.

The following rules apply to the result of a Boolean predicate:

Column value | IS TRUE | IS NOT TRUE | IS FALSE | IS NOT FALSE
false | false | true | true | false
undefined | undefined | undefined | undefined | undefined
true | true | false | false | true


Comparison predicate (SAP Library - MaxDB Library)

 Entering content frame

Comparison predicate

A comparison predicate (comparison_predicate) is a predicate that specifies a comparison between two values or lists of values.

Syntax

<comparison_predicate> ::= <expression> <comp_op> <expression>
| <expression> <comp_op> <subquery>
| <expression_list> <equal_or_not> (<expression_list>)
| <expression_list> <equal_or_not> <subquery>

The following comparison operators are available to compare two values:
<comp_op> ::= < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for computers with ASCII code)

Only the following comparison operators are available to compare two value lists:
<equal_or_not> ::= <> |=
| ~= (for computers with ASCII code)

Examples

SQL Tutorial, Conditions: Comparison, AND, OR, BETWEEN, IN, Subquery: Inner Queries

Explanation

The subquery must supply a result table that contains the same number of columns as the number of values on the left of the operator. The result table may contain no more than one row.

The list of values specified to the right of the equal_or_not operator expression_list must contain the same number of values as specified in the value list in front of the equal_or_not operator.

The JOIN predicate is a special case.

Comparing two values

Let x be the result of the first expression and y the result of the second expression or of the subquery.

· The values x and y must be comparable with one another.

· Numbers are compared to one another according to their algebraic values.

· Character strings are compared character by character.
Any blanks (code attribute ASCII, UNICODE) or binary zeros (code attribute BYTE) at the end of one or both of the character strings are removed.
If the character strings have the different code attributes ASCII and UNICODE, the character string with the code attribute ASCII is implicitly converted into a character string with the code attribute UNICODE.
Two character strings are identical if they have the same characters in all positions.
The relationship between two character strings that are not identical is defined by the first character that differs in a comparison from left to right. This comparison is performed in accordance with the code attribute selected for this column (ASCII, UNICODE, or BYTE).

· If x or y are NULL values, or if the result of the subquery is empty, (x <comp_op> y) is not defined.

Comparing two value lists

If a value list expression_list is specified on the left of the comparison operator equal_or_not, x is the value list that comprises the results of the values x1, x2, ..., xn in this list. y is the result of the subquery or the result of the second value list. A value list y consists of the results of the values y1, y2, ..., yn.

· A value xm must be comparable with the associated value ym.

· x=y is true if for xm=ym for all m=1, ..., n.

· x<>y is true if at least xm<>ym for at least one m.

· (x <equal_or_not> y) is undefined (not known) if there is no m for which (xm <equal_or_not>ym) is false and if there is at least one m for which (xm <equal_or_not> ym) is undefined.

· If one xm or one ym is a NULL value, or if the result of the subquery is empty, (x <equal_or_not> y) is undefined.

See also:

Quantified Predicate

DEFAULT Predicate


DEFAULT Predicate (default predicate) (SAP Library - MaxDB Library)

 Entering content frame

DEFAULT Predicate (default predicate)

By specifying a DEFAULT predicate, you can check whether a column contains the default value defined for this column.

Syntax

<default_predicate> ::= <column_spec> <comp_op> DEFAULT

<comp_op> ::= < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for computers with ASCII code)

Explanation

A DEFAULT specification must be made for the specified column. This can be done in the following SQL statements:

· CREATE TABLE Statement

· ALTER TABLE statement

If the column contains the NULL value, <column_spec> <comp_op> DEFAULT is undefined.

The rules for comparing values or value lists, as defined for comparison predicates, apply here.


EXISTS predicate (SAP Library - MaxDB Library)

 Entering content frame

EXISTS predicate

The EXISTS predicate (exists_predicate) checks whether a result table (see result table name) contains at least one row.

Syntax

<exists_predicate> ::= EXISTS <subquery>

Examples

SQL Tutorial, Subquery: Inner Queries

Explanation

The truth content of an EXISTS predicate is either true or false.

The subquery generates a result table. If this result table contains at least one row, EXISTS <subquery> is true.


IN predicate (SAP Library - MaxDB Library)

 Entering content frame

IN predicate

The IN predicate (in_predicate) checks whether a value or a value list is contained in a specified set of values or value lists.

Syntax

<in_predicate> ::=
<expression> [NOT] IN <subquery>
| <expression> [NOT] IN <expression_list>
| <expression_list> [NOT] IN <subquery>
| <expression_list> [NOT] IN (<expression_list>,...)

Examples

SQL Tutorial, Conditions: Comparison, AND, OR, BETWEEN, IN, Negative Conditions: NOT, Subquery: Inner Queries

Explanation

The subquery must supply a result table (see result table name) that contains the same number of columns as the number of values specified by the expression on the left-hand side of the IN operator.

Each value list specified on the right-hand side of the IN operator must contain the same number of values as specified in the value list on the left-hand side of the IN operator.

· x [NOT] IN S, whereby x <expression> and S <subquery> or <expression_list>
The value x and the values in S must be comparable.

· x [NOT] IN S, whereby x <expression_list> with the values x1, x2, ..., xn and S <subquery> (set of value lists s) or (<expression_list>,...) (Range of values lists s) with the value lists s: s1, s2, ..., sn
A value xm must be comparable with all values sm.
x=s is true if xm=sm, m=1,...,n
x=s is false if there is at least one m for which xm=sm is false
x=s is undefined if there is no m for which xm=sm is false and there is at least one m for which xm=sm is undefined.

The entry '------' in the list below means that no statement can be made if only the result of the comparison with one s is known.

 | Result of the function x IN S
x=s is true for at least one s | true
x=s is true for all s | true
S contains NULL values and x=s is true for the remaining s | true
S is empty | false
x=s is false for at least one s | ------
x=s is false for all s | false
S contains NULL values and x=s is false for the remaining s | undefined
x=s is not true for any s and is undefined for at least one value s | undefined

x NOT IN S has the same result as NOT(x IN S)


JOIN Predicate (join_predicate) (SAP Library - MaxDB Library)

 Entering content frame

JOIN Predicate (join_predicate)

A JOIN predicate (join_predicate) is a predicate that specifies a join. A JOIN predicate can be specified with or without one or with two OUTER JOIN indicators.

Syntax

<join_predicate> ::=
<expression> [<outer_join_indicator>] <comp_op> <expression> [<outer_join_indicator>]

<outer_join_indicator> ::= (+)

<comp_op> ::= < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for computers with ASCII code)

Examples

SQL Tutorial, Joins: Information from Several Tables

Explanation

Each expression must contain a column specification . A column specification must exist for the first and second expression so that both specifications refer to different table names or reference names.

Let x be the value of the first expression and y the value of the second expression. The values x and y must be comparable with one another.

The JOIN predicate is a special type of comparison predicate. The rules for a comparison predicate apply here.

If at least one OUTER JOIN indicator outer_join_indicator is specified in a JOIN predicate of a search condition, the corresponding table expression must be based on exactly two tables, or the following must apply:

· OUTER JOIN indicators are only specified for one of the tables in the FROM clause.

· All of the JOIN predicates in this table to just one other table contain the OUTER JOIN indicator.

· All other JOIN predicates contain no OUTER JOIN indicators.

If a JOIN requires more than two tables for the QUERY specification and if one of the rules above cannot be observed, a QUERY expression can also be used in the FROM clause.

Table rows are transferred to the result table only if they have a counterpart of the comparison operator comp_op in the other table specified in the JOIN predicate.

If each row in a table is to appear at least once in the result table, the OUTER JOIN indicator must be specified on the side of the comparison operator where the other table is specified.

If it is not possible to find at least one counterpart for a table row in the other table, this row is used to build a row for the result table. The NULL value is then used for the output columns which are formed from the columns in the other table.

Since the OUTER JOIN indicator can be specified on both sides of the comparison operator if the table expression is based on just two tables, it can be ensured that each line in both tables appears at least once in the result table.

See also:

Joined Table (joined_table)

Join View Table

Updateable Join View Table

Restrictions for SQL Statements

Concepts of the Database System, Joins


LIKE Predicate (like_predicate) (SAP Library - MaxDB Library)

 Entering content frame

LIKE Predicate (like_predicate)

A LIKE predicate (like_predicate) is a predicate that is used to search for character strings that have a certain pattern. This pattern can be a certain character string or any sequence of characters (whose length may or may not be known).

Syntax

<like_predicate> ::= <expression> [NOT] LIKE <like_expression> [ESCAPE <expression>]

<like_expression> ::= <expression> | '<pattern_element>...'
<pattern_element> ::= <match_string> | <match_set>

<match_string> ::= % | X'1F'
<match_set> ::= <underscore> | X'1E' | <match_char>

<underscore> ::= _ (underscore)
<match_char> ::= <! Every character other than % | X'1F' | _ | X'1E' !>

Examples

SQL Tutorial, Searching for Character Strings: LIKE, Negative Conditions: NOT

Explanation

x NOT LIKE y has the same result as NOT(x LIKE y).

Result of x LIKE y

x or y are NULL values

x LIKE y is undefined

x and y are non-NULL values

x LIKE y is either true or false

x can be split into substrings with the result that:

A substring of x is a sequence of 0,1, or more contiguous characters, and each character of x belongs to exactly one substring.

The number of substrings of x and y is identical.

If the nth pattern element (pattern_element) of y is a sequence of characters and the nth substring of x is a sequence of 0 or more characters.

x LIKE y is true

<expression>

The expression in the like_expression must return an alphanumeric value or a date or time value.

<pattern_element>

If a match_string is specified, this position in the search pattern can be replaced by any number of characters.

If a match_set is specified, this position in the search pattern can be replaced by the exact number of characters specified in the match_set .

If an underscore or X'1E' is used, this position in the pattern can be replaced by any one character.

If match_char is used, this position in the pattern can be replaced by the specified character itself.

ESCAPE

An escape character ESCAPE <expression> must be used if you want to search for an <underscore>, '%', or the hexadecimal value X'1E' or X'1F' in the LIKE predicate.

If ESCAPE <expression> is specified, the corresponding expression must return an alphanumeric value that consists of just one character. If this escape character is contained in the like_expression , the following character must be one of the special characters <underscore>, %, X’1E’, or X’1F’. This special character is then seen as standing for itself.


NULL predicate (SAP Library - MaxDB Library)

 Entering content frame

NULL predicate

By specifying a NULL predicate, you can test whether the value is a NULL value.

Syntax

<null_predicate> ::= <expression> IS [NOT] NULL

Examples

SQL Tutorial, Negative Conditions: NOT

Explanation

The truth content of a NULL predicate is either true or false.

 | Result of the function x IS NULL
x is NULL value | true
x is a special NULL value | false

x IS NOT NULL has the same result as NOT(x IS NULL).


Quantified predicate (SAP Library - MaxDB Library)

 Entering content frame

Quantified predicate

By specifying a quantity predicate, you can compare a value or list of values to a set of values or value lists.

Syntax

<quantified_predicate> ::=
<expression> <comp_op> <quantifier> <expression_list>
| <expression> <comp_op> <quantifier> <subquery>
| <expression_list> <equal_or_not> <quantifier> (<expression_list>,...)
| <expression_list> <equal_or_not> <quantifier> <subquery>

The following comparison operators are available to compare values:
<comp_op> ::= < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for computers with ASCII code)

Value lists can only be compared with the following operators:

<equal_or_not> ::= <> |=
| ~= (for computers with ASCII code)

The quantified predicate can be qualified with ALL, SOME, or ANY.

<quantifier> ::= ALL | SOME | ANY

Examples

SQL Tutorial, Subquery: Inner Queries

Explanation

The subquery (subquery) must supply a result table that contains the same number of columns as the number of values specified by the expression or expression list on the left-hand side of the operator.

Each list of values specified to the right of the equal_or_not operator expression_list must contain the same number of values as specified in the value list in front of the equal_or_not operator.

· Let x be the result of the first expression and S the result of the subquery or sequence of values. S is a set of values s. The value x and the values in S must be comparable with each other.

· If a value list (expression_list) is specified on the left of the comparison operator equal_or_not, then let x be the value list comprising the results of the values x1, x2, ..., xn of this value list. Let S be the result of the subquery consisting of a set of value lists s or a sequence of value lists s. A value list s consists of the results of the values s1, s2, ..., sn. A value xm must be comparable with all values sm.
x=s is true if xm=sm, m=1,...,n
x<>s is true if there is at least one m for which xm<>sm
x <equal or not> s is undefined if there is no m for which xm <equal or not> sm is false and if there is at least one m for which xm <equal_or_not> sm is undefined.
If one xm or one ym is a NULL value, or if the result of the subquery is empty, x <equal_or_not> y is undefined.

The entry '------' in the list below means that no statement can be made if only the result of the comparison with one s is known.

x <compare> <quantifier> S, whereby compare ::= comp_op | equal_or_not

 | quantifier ::= ALL | quantifier ::= ANY | SOME
S is empty | True | false
x <compare> S is true for at least one s from S | ------ | true
x <compare> S is true for all s from S | True | true
x <compare> S is not false for any value from S and is undefined for at least one value s | undefined |
S contains NULL values and x <compare> S is true for all other s | undefined | true
x <compare> S is false for at least one value s from S | false | ------
x <compare> S is false for all s from S | false | false
x <compare> S is not true for any value s from S and is undefined for at least one value s |  | undefined
S contains NULL values and x <compare> S is false for all other s | false | undefined

See also:

Comparison Predicate (comparison_predicate)


ROWNO predicate (SAP Library - MaxDB Library)

 Entering content frame

ROWNO predicate

The ROWNO predicate (rowno_predicate) is a predicate that restricts the number of rows in a result table or the number of rows to be changed or dropped.

Syntax

<rowno_predicate> ::= ROWNO < <unsigned_integer>
| ROWNO < <parameter_spec>
| ROWNO <= <unsigned_integer>
| ROWNO <= <parameter_spec>

Examples

SQL Tutorial, Selecting and Arranging Rows

Explanation

A ROWNO predicate may only be used in a WHERE clause that belongs to a QUERY, DELETE, or UPDATE statement. The ROWNO predicate can be used in the WHERE clause like any other predicate if the following restrictions are observed:

· The ROWNO predicate must be linked to the other predicates by a logic AND.

· The ROWNO predicate must not be negated

· The ROWNO predicate may not be used more than once in the WHERE clause

You can specify the maximum number of rows in the result table using an unsigned integer (unsigned_integer) or a parameter specification (parameter_spec). If more lines are found, they are simply ignored and do not lead to an error message. Specifying a ROWNO predicate of the type ROWNO <= 0 results in an empty result table or no changed or deleted rows.

If a ROWNO predicate and an ORDER clause are specified in a QUERY statement, only the first n result rows are searched and sorted. The result usually differs from that which would have been obtained if a ROWNO predicate had not been used and if the first n result rows had been considered.

If a ROWNO predicate and a set function are specified in a QUERY statement, the set function is only applied to the number of result rows restricted by the ROWNO predicate.

It is useful to specify a ROWNO predicate in an UPDATE or DELETE statement if so many rows have to be processed that, as a result, the log information would exceed the available space. Consequently, you can execute the required change statements in several substeps until the number of changed or deleted rows is less than the number specified in the ROWNO predicate.


SOUNDS Predicate (sounds_predicate) (SAP Library - MaxDB Library)

 Entering content frame

SOUNDS Predicate (sounds_predicate)

A SOUNDS predicate (sounds_predicate) is used to perform a phonetic comparison.

Syntax

<sound_predicate> ::= <expression> [NOT] SOUNDS [LIKE] <expression>

Explanation

Specifying LIKE in the SOUNDS predicate has no effect.

The values in the expressions (expression) must be alphanumeric (code attribute ASCII).

A phonetic comparison between values is carried out according to the SOUNDEX algorithm. First, all vowels and some consonants are eliminated, then all consonants which are similar in sound are mapped to each other.

x [NOT] SOUNDS [LIKE] y

 | Result of the Predicate
x or y is the NULL value | x SOUNDS y is undefined
x and y are non-NULL values | x SOUNDS y is true or false
x and y are phonetically identical | x SOUNDS y is true

x NOT SOUNDS y has the same result as NOT (x SOUNDS y).

See also:

String function SOUNDEX(x)


SAMPLE Definition (sample_definition) (SAP Library - MaxDB Library)

 Entering content frame

SAMPLE Definition (sample_definition)

A SAMPLE definition (sample_definition) defines the number of rows in a table that are to be used when statistics are updated.

Syntax

<sample_definition> ::= SAMPLE <unsigned_integer> ROWS
| SAMPLE <unsigned_integer> PERCENT

Explanation

The database system manages statistics for each base table. These statistics are used to determine the best strategy for executing an SQL statement. The statistics are stored in the database catalog by the UPDATE STATISTICS statement.

If a SAMPLE definition is specified in an UPDATE STATISTICS statement, it specifies the number of rows in the table that are to be used to calculate the statistics.

If a SAMPLE definition is not specified in an UPDATE STATISTICS statement and if it is not mandatory that all of the rows in the table be used to calculate the statistics, the database system uses the appropriate SAMPLE definition of the CREATE TABLE or ALTER TABLE statement.

The number of rows for which the UPDATE STATISTICS statement is to be executed can be defined by specifying a numeric (ROWS) or percentage value (PERCENT).

· If a SAMPLE definition is specified as a PERCENT, the unsigned integer must be between 1 and 100.

· If a SAMPLE definition is not defined, the database system uses the value 20000 ROWS.

SQL statements in which the SAMPLE definition can be used

CREATE TABLE statement

ALTER TABLE statement

UPDATE STATISTICS statement


Search Condition (search_condition) (SAP Library - MaxDB Library)

 Entering content frame

Search Condition (search_condition)

A search_condition links statements that can be true, false, or undefined. Rows in a table may be found that fulfill several conditions that are linked with AND or OR.

Syntax

<search_condition> ::= <boolean_term> | <search_condition> OR <boolean_term>

<boolean_term> ::= <boolean_factor> | <boolean_term> AND <boolean_factor>
<boolean_factor> ::= [NOT] <predicate> | [NOT] (<search_condition>)

In the syntax element boolean_factor, the Boolean values (BOOLEAN) to be linked or their negation (NOT) are determined.

Examples

SQL Tutorial, Conditions: Comparison, AND, OR, BETWEEN, IN, Arithmetic Operations, Negative Conditions: NOT

Explanation

Predicates in a WHERE clause are applied to the specified row or a group of rows in a table formed with the GROUP clause. The results are linked using the specified Boolean operators (AND, OR, NOT).

If no parentheses are used, the precedence of the operators is as follows: NOT has a higher precedence than AND and OR, AND has a higher precedence than OR. Operators with the same precedence are evaluated from left to right.

NOT

X | NOT(x)
True | false
False | true
Undefined | Undefined

x AND y

x y | False | Undefined | True
False | false | false | false
Undefined | false | undefined | undefined
True | false | undefined | true

x OR y

x y | False | Undefined | True
False | false | undefined | true
Undefined | undefined | undefined | true
True | true | true | true


Selected Column (select_column) (SAP Library - MaxDB Library)

 Entering content frame

Selected Column (select_column)

Selected columns (select_column) must be specified in a QUERY specification in order to specify a results table.

The sequence of selected columns defines the columns in the results table. The columns in the results table are formed from the columns of the temporary results table and by the rowno columns (rowno_column) or stamp columns (stamp_column)., if these exist. The columns of the temporary results table are determined by the FROM clause of the table expression. The order of the column names in the temporary results table is determined by the order of the table names in the FROM clause.

Syntax

<select_column> ::= <table_columns> | <derived_column> | <rowno_column> | <stamp_column>

<table_columns> ::= * | <table_name>.* | <reference_name>.*
<derived_column> ::= <expression> [ [AS] <result_column_name>]
<rowno_column> ::= ROWNO [ [AS] <result_column_name>]
<stamp_column> ::= STAMP [ [AS] <result_column_name>]

<result_column_name> ::= <identifier>

Examples

SQL Tutorial, Selecting and Arranging Rows, Selecting, Arranging and Renaming Rows

Explanation

Every column name that is specified as a selected column select_column must uniquely denote a column in a QUERY specification of the underlying tables. If necessary, the column name must be qualified with the table name.

The specification of a column with the data type LONG in a selected column is only valid in the uppermost sequence of selected columns in a QUERY statement or SINGLE SELECT statement if the DISTINCT specification was not used there.

The specification of a column with the data type LONG in a selected column is only valid in the uppermost sequence of select columns in a CREATE VIEW statement which is based on exactly one base table.

If a selected column contains a set function, the sequence of selected columns to which the selected column belongs must not contain any table columns (table_columns), and every column name occurring in an expression (expression) must denote a grouping column, or the expression must consist of grouping columns.

It is possible to specify scalar subqueries.

<table_columns>

Specifying table_columns in a selected column is a quick way of specifying the results table columns.

· Specifying a selected column of the type * is a quick way of specifying all temporary results table columns.
Columns for which the user has not the SELECT privilege and the implicitly generated column SYSKEY are not passed.

· Specifying <table_name>.* or <reference_name>.* is quick way of specifying all the columns in the underlying table. The first column name of the result table is taken from the first column name of the underlying table, the second column name of the result table corresponds to the second column name of the underlying table, etc. The order of column names in the underlying table corresponds to the order determined when the underlying table is defined.
Columns for which the user has not the SELECT privilege and the implicitly generated column SYSKEY are not passed.

<derived_column>

Specifying derived_column in a selected column defines a column in the results table.

· If a column of the result table has the form <expression> [AS] <result_column_name>, this result column receives the name result_column_name.

· If no result_column_name is specified and the expression is a column specification that denotes a column in the temporary result table, the column in the result table receives the column name of the temporary result table.

· If no result_column_name is specified and the expression is not a column specification, the column receives the name EXPRESSION_, where "_" denotes a number with a maximum of four digits, starting with EXPRESSION1, EXPRESSION2, and so on.

<rowno_column>

A ROWNO column (rowno_column) may only be used in a selected column that belongs to a QUERY statement.

If a rowno column is specified, a column with the data type FIXED(10) is created with the name ROWNO. It contains the values 1, 2, 3,... which are the numbers of the rows in the results table.

If the ROWNO column was specified in the form ROWNO [AS] <result_column_name>, this result column receives the name result_column_name.

A rowno column>must not be ordered by using ORDER BY.

<stamp_column>

A STAMP column stamp_column may only be specified in a selected column that belongs to the QUERY expression (query_expression) of an INSERT statement.

The database system is capable of generating unique values. This is a consecutive number that starts with X'000000000001'. Values are assigned in ascending order. There is no guarantee that the sequence of values will be uninterrupted.

If a stamp column is specified, the next value of the data type CHAR(8) BYTE generated by the database system is produced for each row in the temporary results table.

Additional Information

Each column of a result table has exactly the same data type, length, precision, and number of decimal places as the derived_column or the column underlying the table_columns.

This does not apply to the data types DATE and TIMESTAMP. To enable the representation of any date and time format, the length of the result table column is set to the maximum length required for the representation of a date value (length 10) or a timestamp value (length 26).


Set Function (set_function_spec) (SAP Library - MaxDB Library)

 Entering content frame

Set Function (set_function_spec)

There is a series of functions that can be applied to a set of values (rows) as an argument and supply a result. These functions are referred to as set functions (set function spec).

Syntax

<set_function_spec> ::= COUNT(*)
| <all_function>
| <distinct_function>

<all_function> ::= <set_function_name> ( ALL <expression> )

<distinct function>::= <set function name> ( DISTINCT <expression> )

<set_function_name> ::= AVG | COUNT | MAX | MIN | STDDEV | SUM | VARIANCE

Examples

SQL Tutorial, Set Functions, Creating Groups: GROUP BY, HAVING, Information About Character Strings

Explanation

Set functions operate across groups of values but only return one value. The result comprises one row. If a set function is used in a statement, a similar function must also be applied to each of the other columns in the request. This, however, does not apply to columns that were grouped using GROUP BY. In this case, the value of the set function can be defined for each group.

The argument of a DISTINCT function or an ALL function is a result table or a group (the result table can be grouped using a GROUP condition).

With the exception of the COUNT(*) function, no NULL values are included in the calculation.

No locks are set for certain set functions, irrespective of the isolation level specified when the user connected to the database.

<set_function_name>

The set functions are classified by the following set function names:

AVG

The result of AVG is the arithmetical mean of the values of the argument. AVG can only be applied to numeric values. The result has the data type FLOAT(38).

COUNT

- COUNT(*) supplies the total number of values (rows in a result table or group).

- COUNT(DISTINCT <expression>) supplies the total number of different values (number of values in the argument of the DISTINCT function).

- COUNT(ALL <expression>) supplies the number of values that differ from the NULL value (number of values in the argument of the ALL function).

The result has the data type FIXED(10).

MAX

The result of MAX is the largest value of the argument.

MIN

The result of MIN is the smallest value of the argument.

STDDEV

The result of STDDEV is the standard deviation of the values of the argument. STDDEV can only be applied to numeric values. The result has the data type FLOAT(38).

SUM

The result of SUM is the sum of the values of the argument. SUM can only be applied to numeric values. The result has the data type FLOAT(38).

VARIANCE

The result of VARIANCE is the variance of the values of the argument. VARIANCE can only be applied to numeric values. The result has the data type FLOAT(38).

ALL/DISTINCT Function

 | Result of the ALL/DISTINCT Function
The set of values is empty and the ALL/DISTINCT function is applied to the entire result table | The set functions AVG, MAX, MIN, STDDEV, SUM, VARIANCE supply the NULL value as their result. The set function COUNT supplies the value 0.
There is no group to which the ALL/DISTINCT function can be applied. | The result is an empty table.
The set of values contains at least one special NULL value. | Special NULL value
<all_function>

The ALL function (all_function) is a set function that removes the NULL values.

The argument of an ALL function is a set of values that is calculated as follows:

1. A result table or group (the result table can be grouped with a GROUP condition) is formed.

2. The expression (expression) is applied to each row in this result table or group.
The expression must not contain a set function.

3. All NULL values are removed. Special NULL values are not removed, two special NULL values are regarded as identical.

The ALL function is executed taking into account the relevant set function name (set_function_name) for the set of values.

The result of an ALL function is independent of whether the keyword ALL is specified or not.

<distinct_function>

The DISTINCT function (distinct_function) is a set function that removes duplicated values and all NULL values.

The argument of a DISTINCT function is a set of values that is calculated as follows:

...

1. A result table or group (the result table can be grouped with a GROUP condition) is formed.

2. The expression (expression) is applied to each row in this result table or group.
The expression must not contain a set function.

3. All of the NULL values and duplicated values are removed (DISTINCT). Special NULL values are not removed; two special NULL values are regarded as identical.

The DISTINCT function is executed taking into account the relevant set function name (set_function_name) for this set of values.


Character Set (token) (SAP Library - MaxDB Library)

 Entering content frame

Character Set (token)

A character set (token) comprises a series of characters that are combined to form a lexical unit. A distinction is made between regular and delimiter tokens.

Syntax

<token> ::= <regular token> | <delimiter token>

<regular_token> ::= <literal> | <key_word> | <identifier> | <parameter_name>

<delimiter_token> ::= ( | ) | , | . | + | - | * | / | < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for computers with ASCII code)

SELECT * FROM reservation
ALTER TABLE reservation DROP FOREIGN KEY customer_reservation
'Reisen10'

Explanation

Each token can be followed by any number of blanks. Each regular token regular_token must be followed by a delimiter_token or a blank.

Double quotation marks within a special identifier are represented by two consecutive quotation marks.


Identifier (SAP Library - MaxDB Library)

 Entering content frame

Identifier

Identifier (identifier). A distinction is made between simple identifiers (simple_identifier) and special identifiers (special_identifier).

Syntax

<identifier> ::= <simple_identifier>
| <double_quotes><special_identifier><double_quotes>

Simple Identifier

<simple_identifier> ::= <first_character>[<identifier_tail_character>...]

<first_character> ::=
<letter>
| <extended_letter>
| <language_specific_character>

<letter> ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z

<extended_letter> ::= # | @ | $

<identifier_tail_character> ::=
<digit>
| <letter>
| <extended_letter>
| <language_specific_character>
| <underscore>

<digit> ::= 0 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9

<underscore> ::= _

Special Identifier

<special_identifier> ::= <special_identifier_character>...

<special identifier character> ::= any characters that can be linked in any sequence

<double_quotes> ::= "

Simple identifier: reservation

Special identifier: "ADD", "Example_1"

Explanation

Identifiers can be entered in upper/lower-case characters.

Simple Identifier

When you specify simple identifiers (simple_identifier), upper and lower-case are ignored, as the system always converts the identifier to upper-case letters.

The first character in a simple identifier must not be a digit or underscore (underscore). Reserved keywords must not be used in simple identifiers.

Special Identifier

Special identifiers (special_identifier) are always used as specified in the database, that is, upper and lower-case characters are taken into account. Special identifiers are case sensitive.

If the name of a database object is to contain lower-case letters, special characters, reserved keywords, or blanks, the identifier must be specified as a special identifier that is enclosed in double quotation marks (double_quotes).

Double quotation marks within a special identifier are represented by two consecutive quotation marks.

Language-Specific Characters

A language-specific character language_specific_character is any letter that occurs in a northern, southern, or central European language and is not contained in the list of letters.

German umlauts: ä, ö, ü

French letters with a “grave” accent: à

If you have installed a UNICODE-enabled database instance, a language-specific character is a character that is not included in the ASCII code list from 0 to 127.


Keyword (key_word) (SAP Library - MaxDB Library)

 Entering content frame

Keyword (key_word)

Keyword (key_word). A distinction is made between “normal” and reserved keywords.

Syntax

<key_word> ::= <not_reserved_key_word> | <reserved_keyword>

Explanation

Keywords can be entered in uppercase/lowercase characters. If possible, the keywords should not be used to designate objects.

You can find a list of all not_reserved_key_word keywords in the syntax list: not_reserved_key_word

Reserved keywords (reserved_keyword) must not be used in simple identifiers. Reserved keywords, however, can be specified in the form of special identifiers. You can find a list of all keywords in the syntax list: reserved_key_word

See also:

Identifier (identifier)


Functions: Overview (SAP Library - MaxDB Library)

 Entering content frame

Functions: Overview

List of all function names

ABS | ACOS | ADDDATE
ADDTIME | ALL | ALPHA
ASCII | ASIN | ATAN
ATAN2 | AVG |
CASE | CEIL | CHAR
CHR | COS | COSH
COT | COUNT |
DATE | DATEDIFF | DAY
DAYNAME | DAYOFMONTH | DAYOFWEEK
DAYOFYEAR | DECODE | DEGREES
DISTINCT |  |
EXCEPT | EXP | EXPAND
FIXED | FLOAT | FLOOR
GET_OBJECTNAME | GET_SCHEMA | GREATEST
HEX | HEXTORAW | HOUR
INDEX | INITCAP | INTERSECT
LEAST | LENGTH | LFILL
LN | LOG | LOWER
LPAD | LTRIM |
MAKEDATE | MAKETIME | MAX
MAPCHAR | MICROSECOND | MIN
MINUTE | MONTH | MONTHNAME
NOROUND | NUM |
PI | POWER |
RADIANS | REPLACE | RFILL
ROUND | RPAD | RTRIM
SECOND | SIGN | SIN
SINH | SOUNDEX |
SQRT | SUBDATE | SUBSTR
SUBTIME | STDDEV | SUM
TAN | TANH | TIME
TIMEDIFF | TIMESTAMP | TRANSLATE
TRIM | TRUNC |
UNION | UPPER |
VALUE | VARIANCE |
WEEKOFYEAR |  |
YEAR |  |
|| | & |

See also:

Function (function_spec)

Set Function (set_function_spec)

Name of a Database Function (dbfunction_name)


Names: Overview (SAP Library - MaxDB Library)

 Entering content frame

Names: Overview

Names identify objects and functions. The following list contains names that are frequently used in the syntax description of the SQL statements.

Name |
Alias name | alias_name
Column name | column_name
Constraint name | constraint_name
Name of a database function | dbfunction_name
Name of a database procedure | dbproc_name
Domain name | domain_name
Index name | index_name
Indicator name | indicator_name
Mapchar set name | mapchar_set_name
Parameter name | parameter_name
Password | Password
Reference name | reference_name
Name of a referential constraint | referential_constraint_name
Result table name | result_table_name
Role name | role_name
Schema name | schema_name
Sequence name | sequence_name
Set function name | set_function_name
Synonym name | synonym_name
Table name | table_name
Trigger name | trigger_name
User name | user_name

Explanation

For all names consisting of several identifiers that are separated by a ".", any number of blanks can be specified before and after the dot.


Alias Name (alias_name) (SAP Library - MaxDB Library)

 Entering content frame

Alias Name (alias_name)

An alias_name is a new column name that specifies the name of a column in the following types of tables:

· View table

· Tables defined with a recursive DECLARE CURSOR statement

Syntax

<alias_name> ::= <identifier>

Explanation

An error message is output if the name consists of more than 32 characters.

SQL statement for defining an alias name

CREATE VIEW statement

Recursive DECLARE CURSOR statement


Column Name (column_name) (SAP Library - MaxDB Library)

 Entering content frame

Column Name (column_name)

A column_nameidentifies a column.

Syntax

<column_name> ::= <identifier>

Explanation

An error message is output if the name consists of more than 32 characters.

SQL statements

Column Definition, Column Specification

CREATE TABLE Statement

CREATE INDEX Statement

UNIQUE Definition

RENAME COLUMN Statement

COLUMN Change Definition

INSERT Statement

UPDATE Statement

MODIFY Definition

UPDATE Clause

DROP Definition


Constraint Name (constraint_name) (SAP Library - MaxDB Library)

 Entering content frame

Constraint Name (constraint_name)

A constraint name (constraint_name) defines an integrity condition that must be satisfied by the rows in a table.

Syntax

<constraint_name> ::= <identifier>

Explanation

An error message is output if the name consists of more than 32 characters.

SQL statements

CONSTRAINT Definition

ALTER Definition

CREATE DOMAIN Definition

DROP Definition

See also:

Ensuring Data Integrity


Name of a Database Function (dbfunction_name) (SAP Library - MaxDB Library)

 Entering content frame

Name of a Database Function (dbfunction_name)

A database function name (dbfunction_name) identifies a database function. Database functions are specialized database procedures . These are subprograms consisting of any number of input characters but one output parameter only. This returns the result of the function.

Syntax

<dbfunction_name> ::= [<schema_name>.]<identifier>

Neither the schema name nor the ID can be longer than 32 characters.

Explanation

You can define user-specific functions to transfer application logic to the server of the database system. You can use these database functions like the predefined functions. When naming your functions, make sure you do not use the names of predefined functions (Functions: Overview).

The database system provides a language (special SQL syntax that has been extended to include variables, control structures, and troubleshooting measures) that allows an SQL access layer to be formulated on the server side. This special SQL syntax can be used to define database functions. These database functions can then be executed as function calls of an SQL statement (database function call).

SQL Statements for creating, Calling, and Dropping a Database Procedure

CREATE FUNCTION Statement

Database Function Call (dbfunction_call)

DROP FUNCTION Statement


Name of a database procedure (dbproc_name) (SAP Library - MaxDB Library)

 Entering content frame

Name of a database procedure (dbproc_name)

The name of a database procedure (dbproc_name)designates a database procedure.

Syntax

<dbproc_name> ::= [<schema_name>.]<identifier>

You cannot specify TEMP as the schema in a database procedure.

Neither the schema name nor the ID can be longer than 32 characters.

Explanation

In a well-structured database application, SQL statements are typically not distributed over the entire application but concentrated in a single access layer instead. This access layer has a procedural interface to the rest of the application at which operations for application objects are made available in form of abstract data types.

In client/server configurations, the client and server interact when an SQL statement is executed in the access layer. The number of these interactions can be reduced considerably by transferring the SQL access layer from the client to the server.

To this end, the database system provides a language (special SQL syntax that has been extended to include variables, control structures, and troubleshooting measures) that allows an SQL access layer to be formulated on the server side. This special SQL syntax can be used to define database procedures.

This has three main advantages:

· The number of interactions between client and server is reduced by factors. Client/server communication is only required for each operation on the application object, and not for each SQL statement. This enhances the performance of client-server configurations considerably.

· The SQL access layer contains the procedurally formulated integrity and business rules. By concentrating these rules on the server side and eliminating them from the database applications, modifications can be made centrally and thus become valid immediately in all database applications. In this way, the integrity and decision rules also become a part of the catalog in the database system.

· An SQL access layer in the form of database procedures transferred to the server side is an essential customizing tool, as it allows customer-specific database functionality to be included.

To execute a database procedure, users must have the call privilege. This call privilege is independent of the user privileges for the tables and columns used in the database procedure. As a result, users can use a database procedure to execute SQL statements that they otherwise would not have access to.

Database procedures are called explicitly from the programming language of the application. DB procedures can contain parameters, apart from LONG columns. The extent to which LONG columns can be used within database procedures depends on the length of the LONG columns and the amount of storage space available.

As with any SQL statement, precautions must be taken to ensure that calling a database procedure has the desired effect, and that errors do not have any lasting effects on the database system. MaxDB provides nested transactions for this purpose. Each database procedure call can run in a subtransaction that can be reset without interfering with transaction control in the database application.

SQL statements for creating, calling, and dropping a database procedure

CREATE DBPROC[EDURE] Statement

CALL Statement

DROP DBPROC[EDURE] Statement

See also:

Trigger Name (trigger_name)

Name of a Database Function (dbfunction_name)

Ensuring Data Integrity


Domain Name (domain_name) (SAP Library - MaxDB Library)

 Entering content frame

Domain Name (domain_name)

A domain_name identifies a range in a table column.

Syntax

<domain_name> ::= [<schema_name>.]<identifier>

Neither the schema name nor the ID can be longer than 32 characters.

Explanation

The name of the current user only is permitted as the schema name.

SQL Statements

CREATE DOMAIN Statement

DROP DOMAIN Statement


Index Name (index_name) (SAP Library - MaxDB Library)

 Entering content frame

Index Name (index_name)

An index name (index_name) identifies an index.

Syntax

<index_name> ::= <identifier>

Explanation

An error message is displayed if the name has more than 32 characters.

SQL Statements

CREATE INDEX Statement

ALTER INDEX Statement

RENAME INDEX Statement

DROP INDEX Statement


Indicator Name (indicator_name) (SAP Library - MaxDB Library)

 Entering content frame

Indicator Name (indicator_name)

An indicator name (indicator_name) designates an indicator variable in an application that can be specified together with a parameter name.

Syntax

<indicator_name> ::= <parameter_name>

Explanation

The indicator variable of a parameter provides information about any irregularities (such as NULL value, different value and parameter lengths).


MapChar Set Name (mapchar_set_name) (SAP Library - MaxDB Library)

 Entering content frame

MapChar Set Name (mapchar_set_name)

A MapChar set name (mapchar_set_name) identifies a MapChar set.

Syntax

<mapchar_set_name> ::= <identifier>

The identifier may not exceed 32 characters in length.

Explanation

Function in which MapChar sets are used

MAPCHAR

Creating and Deleting MapChar Sets

Use the Database Manager GUI to create MapChar sets and delete MapChar sets.

See also:

Database Manager GUI, Displaying, Changing, and Deleting MapChar Sets


Password (password) (SAP Library - MaxDB Library)

 Entering content frame

Password (password)

Users require a password (password) to connect to the database instance (start a database session).

Syntax

<password> ::= <identifier>
| <first_password_character>[<identifier_tail_character>...]

<first_password_character> ::=
<digit>
| <letter>
| <extended_letter>
| <language_specific_character>

<digit> ::= 0 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9

<letter> ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z

<extended_letter> ::= # | @ | $

<identifier_tail_character> ::=
<digit>
| <letter>
| <extended_letter>
| <language_specific_character>
| <underscore>

<underscore> ::= _

Explanation

Passwords are truncated after 18 characters.

Language-Specific Characters

A language-specific character (language_specific_character) is any letter that occurs in a northern, southern, or central European language and is not contained in the list of letters.

German umlauts: ä, ö, ü

French letters with a “grave” accent: à

If you have installed a UNICODE-enabled database instance, a language-specific character is a character that is not included in the ASCII code list from 0 to 127.

See also:

CREATE USER Statement (create_user_statement)

ALTER PASSWORD Statement (alter_password_statement)


Parameter Name (parameter_name) (SAP Library - MaxDB Library)

 Entering content frame

Parameter Name (parameter_name)

A parameter name (parameter_name) identifies a parameter (host variable) in an application containing SQL statements from the database system.

Syntax

<parameter_name> ::=
:<identifier>
| ?

The identifier may not exceed 32 characters in length.

You can also use the place holder ? as a parameter name.

Explanation

A colon is placed before the identifier.

The conventions of the programming language in which SQL statements in the database system are embedded determine the number of significant characters in the parameter name.

Identifiers for parameter names may contain the characters "." and "_", but not as the first character.

If you use the placeholder ? as a parameter name, make sure this placeholder is replaced by the parameter value before you execute the SQL statement.

See also:

Parameter Specification (parameter_spec)


Reference Name (reference_name) (SAP Library - MaxDB Library)

 Entering content frame

Reference Name (reference_name)

The reference name (reference_name) is an identifier that is declared for a certain validity range and associated with exactly one table. The scope of this declaration is the entire SQL statement.

Syntax

<reference_name> ::= <identifier>

The identifier may not exceed 32 characters in length.

Explanation

A reference name specified in various scopes can be associated with different tables or with the same table.

See also:

Column Specification

Selected Column

Table Expression

Recursive DECLARE CURSOR Statement

UPDATE Statement

DELETE Statement


Name of a Referential Constraint (referential_constraint_name) (SAP Library - MaxDB Library)

 Entering content frame

Name of a Referential Constraint (referential_constraint_name)

The name of a referential constraint (referential_constraint_name) identifies a referential constraint. This integrity condition specifies deletion and existence dependencies between two tables.

Syntax

<referential_constraint_name> ::= <identifier>

Explanation

An error message is output if the name has more than 32 characters.

SQL statements

Referential CONSTRAINT Definition

ALTER TABLE Statement

See also:

Ensuring Data Integrity


Results Table Name (result_table_name) (SAP Library - MaxDB Library)

 Entering content frame

Results Table Name (result_table_name)

A results table name (result_table_name) identifies a result table.

Syntax

<result_table_name> ::= <identifier>

Explanation

An error message is output if the name consists of more than 32 characters.

See also:

QUERY Statement

UPDATE Clause


Role Name (role_name) (SAP Library - MaxDB Library)

 Entering content frame

Role Name (role_name)

A role_name identifies a role.

Syntax

<role_name> ::= <identifier>

The identifier may not exceed 32 characters in length.

Explanation

1. The CREATE ROLE statement creates a role. This role is initially empty. Only database administrators can create roles. The new role name cannot be the same as the name of any other role, user, or user group.

2. You use the GRANT statement to assign privileges to a role. You use the REVOKE statement to revoke privileges from a role.

3. A role can be assigned to database users, user groups, or other roles using the GRANT statement and specifying the role name.

4. You use the ALTER USER or ALTER USERGROUP statement to specify which roles (assigned to a user or a user group) are used when opening a database session.

5. During a database session, you can use the SET statement to activate other roles assigned to the user or user group.
If a role is activated in a session, the current user of the session has all the privileges assigned to the role.
If a password has been assigned to a role, users assigned to that role can only activate it by entering the password in the SET statement.

The existence and properties of a role are registered in the database catalog as metadata. A user that creates a role becomes the owner of this role.

The roles assigned to the user or user group as a result of the ALTER USER and ALTER USERGROUP statements are activated as soon as a database session is opened.

All roles are inactive for the current database session while data definition statements are being executed.

SQL Statement for Defining a Role

CREATE ROLE Statement

SQL Statement for Assigning Privileges to a Role

GRANT Statement

SQL Statement for Granting a Role

GRANT Statement

SQL Statements for Activating a Role

ALTER USER Statement

ALTER USERGROUP Statement

SET Statement

SQL Statement for Dropping a Role

DROP ROLE Statement


Schema Name (schema_name) (SAP Library - MaxDB Library)

 Entering content frame

Schema Name (schema_name)

You can define assignment of an object to a schema by specifying the name of the schema.

Syntax

<schema_name> ::= <identifier>

The identifier may not exceed 32 characters in length.

Explanation

Schemas create namespaces for database objects.

When a user is created using the CREATE USER statement, a schema, the name of which is identical to the user name, is created implicitly.

When a schema is created using the CREATE SCHEMA statement, the schema name and owner of the schema can be specified explicitly. If no owner is specified, the current user becomes the owner of the schema.

Each schema has a maximum of one owner. The owner of the schema can create, change, and delete objects in his own schema, since he or she is granted the relevant privileges implicitly. The owner can also grant these privileges to other users.

Schemas can be created that do not correspond to a user name. The database user DAVID can create the schemas A, B, and C and be the owner of all these. A database user A, B, or C need not exist.

See also:

CREATE SCHEMA Statement (create_schema_statement)

GRANT Statement (grant_statement)

RENAME SCHEMA Statement (rename_schema_statement)

SET Statement (set_statement)

DROP SCHEMA Statement (drop_schema_statement)


Sequence Name (sequence_name) (SAP Library - MaxDB Library)

 Entering content frame

Sequence Name (sequence_name)

A sequence_name identifies a sequence of values.

Syntax

<sequence_name> ::= <identifier>

The identifier may not exceed 32 characters in length.

Explanation

A sequence is a series of values generated in accordance with certain rules. Among other things, you can define the step width between these values.

Sequences can be used to generate unique values. These are not uninterrupted, because values generated within a transaction that has been rolled back cannot be used again.

See also:

CREATE SEQUENCE Statement

DROP SEQUENCE Statement


Synonym Name (synonym_name) (SAP Library - MaxDB Library)

 Entering content frame

Synonym Name (synonym_name)

A synonym_name identifies a synonym for a table name. Synonyms are useful for abbreviating long or complicated table names.

Syntax

<synonym_name> ::= <identifier>

The identifier may not exceed 32 characters in length.

Explanation

A synonym may be used in place of the old name at all times. Since synonyms are user-specific, a user identification does not have to be entered when a synonym is specified. If you access tables belonging to a different user, you do not have to specify the user name before the table name if you use the synonym.

Multiple synonyms can be assigned to one table. They cannot be loaned to other users. If the synonym is not a PUBLIC synonym, it is known only by one user or user group. A PUBLIC synonym is known by every user and user group.

See also:

CREATE SYNONYM Statement

RENAME SYNONYM Statement

DROP SYNONYM Statement


Table Name (table_name) (SAP Library - MaxDB Library)

 Entering content frame

Table Name (table_name)

A table_name identifies a table.

Syntax

<table_name> ::= [<schema_name>.]<identifier>

Neither the schema name nor the ID can be longer than 32 characters.

Explanation

Tables and view tables are identified by table names. A table name consists of a schema name (schema_name) and an identifier (identifier).

All table identifiers in one schema must be different from one another.

The database system uses certain table names for internal purposes. The identifiers of these tables begin with SYS. To avoid naming conflicts, therefore, you should not use table names that start with SYS.

See also:

CREATE TABLE Statement

CREATE VIEW Statement

CREATE SYNONYM Statement

and other SQL statements for Data Definition

CREATE SCHEMA Statement


Trigger Name (trigger_name) (SAP Library - MaxDB Library)

 Entering content frame

Trigger Name (trigger_name)

A trigger_nameidentifies a trigger that is defined for a table.

Syntax

<trigger_name> ::= <identifier>

A trigger name may not exceed 32 characters in length.

Explanation

Triggers are special database procedures that run implicitly after a data manipulation statement has been executed on a base table (or a view table based on this base table). A system trigger is a special database procedure performed implicitly during a restart. The conditions under which a trigger is to be executed can be restricted further. A trigger can call further triggers implicitly.

The trigger is executed for each row to which the SQL statement refers. The trigger can access both the old values (values before update or deletion) and the new values (values after update or insertion) in this row.

Triggers can be used to check complicated integrity rules, initiate derived database modifications for the row in question, or implement complex access protection rules.

The database system provides a language (special SQL syntax that has been extended to include variables, control structures, and troubleshooting measures) that allows an SQL access layer to be formulated on the server side. This special SQL syntax can be used to define triggers.

SQL statements for creating and dropping a trigger

CREATE TRIGGER Statement

DROP TRIGGER Statement

SQL statements for creating and dropping a system trigger

CREATE SYSTEM TRIGGER Statement

DROP SYSTEM TRIGGER Statement

See also:

Name of a Database Procedure

Ensuring Data Integrity


User Group Name (usergroup_name) (SAP Library - MaxDB Library)

 Entering content frame

User Group Name (usergroup_name)

A usergroup_nameidentifies a user group.

Syntax

<usergroup_name> ::= <identifier>

Explanation

An error message is output if the name consists of more than 32 characters.

See also:

CREATE USERGROUP Statement

ALTER USERGROUP Statement

RENAME USERGROUP Statement

DROP USERGROUP Statement

GRANT USERGROUP Statement


User Name (user_name) (SAP Library - MaxDB Library)

 Entering content frame

User Name (user_name)

A user_name identifies a database user.

Syntax

<user_name> ::= <identifier>

Explanation

An error message is output if the name consists of more than 32 characters.

SQL statements

CREATE USER Statement

ALTER USER Statement

RENAME USER Statement

DROP USER Statement

GRANT USER Statement

See also:

Concepts of the Database System, Database Users


Privileges: Overview (SAP Library - MaxDB Library)

 Entering content frame

Privileges: Overview

There are a number of privileges that can be used to assign the authorizations for data manipulation or data queries for database objects to a database user.

Privilege | Object | This privilege allows the user to ...
ALTER | Table | use the ALTER TABLE statement See Privilege Specification (priv_spec)
CREATEIN | Schema | create database objects in the specified schema See Privilege Specification for a Schema (schema_priv_spec)
DELETE | Table | delete rows in the specified tables See Privilege Specification (priv_spec)
DROPIN | Schema | delete database objects in the specified schema See Privilege Specification for a Schema (schema_priv_spec)
EXECUTE | Database Procedure Database Function | execute the database procedure or the database function See GRANT statement (grant_statement)
INDEX | Table | use the CREATE INDEX and DROP INDEX statements See Privilege Specification (priv_spec)
INSERT | Table | Insert rows in the specified tables See Privilege Specification (priv_spec)
REFERENCES | Table | specify the specified table as a referenced table in a column definition or referential CONSTRAINT definition See Privilege Specification (priv_spec)
SELECT | Sequence | use the specified sequences See GRANT statement (grant_statement)
SELECT | Table or parts of a table | select entire rows or parts of rows in the specified tables See Privilege Specification (priv_spec)
SELUPD | Table or parts of a table | the SELECT and UPDATE privileges are granted. See Privilege Specification (priv_spec)
UPDATE | Table or parts of a table | change entire rows or parts of rows in the specified tables See Privilege Specification (priv_spec)

See also:

INSERT/UPDATE/DELETE Privilege for Owners of the View Table

GRANT Statement

REVOKE Statement


Privilege Specification (priv_spec) (SAP Library - MaxDB Library)

 Entering content frame

Privilege Specification (priv_spec)

A privilege specification (priv_spec) defines a role or a set of privileges for specific tables or parts of tables.

Syntax

<priv_spec> ::= ALL [PRIV[ILEGES]] ON [TABLE] <table_name>,...
| <privilege>,... ON [TABLE] <table_name>,...
| <role_name>

<privilege> ::=
ALTER
| DELETE
| INDEX
| INSERT
| REFERENCES [(<column_name>,...)]
| SELECT [(<column_name>,...)]
| SELUPD [(<column_name>,...)]
| UPDATE [(<column_name>,...)]

Explanation

These tables must not be temporary base tables.

The user must have the authorization to grant (GRANT statement) and revoke (REVOKE statement) privilege for the specified tables. For base tables, the owner of the table has this authorization.

In the case of view tables, the owner may not always be authorized to assign or revoke all privileges. The database determines the privileges that a user can assign or revoke for a view table when the table is created. The result depends on the type of table and on the user's privileges for the tables selected in the view table. The owner of a table can interrogate the privileges that he or she is allowed to grant or revoke by selecting the system table DOMAIN.PRIVILEGES.

ALL [PRIV[ILEGES]]

All of the privileges that the user can grant for tables are granted (GRANT statement) or revoked (REVOKE statement) for the specified users, usergroups, and roles.

If a user who is not the owner of the table specifies ALL in a REVOKE statement, all of the privileges he or she has granted to the specified user for this table are revoked.

If a role is defined as a privilege specification, it must exist and the current user must be the owner of the role.

ALTER

Allows the identified user to execute the ALTER TABLE statement for the specified tables. The ALTER privilege can only be granted for base tables. The current user must be authorized to grant the ALTER privilege.

DELETE

Allows the identified user to delete rows from the specified table. The current user must be authorized to grant the DELETE privilege.

INDEX

Allows the identified user to execute the CREATE INDEX and DROP INDEX statements for the specified tables. The INDEX privilege can only be granted for base tables. The current user must be authorized to grant the INDEX privilege.

INSERT

Allows the identified user to insert rows in the specified table. The current user must be authorized to grant the INSERT privilege.

REFERENCES

Allows the identified user to specify the table as a referenced table referenced_table in a column definition or referential CONSTRAINT definition.

SELECT

Allows the identified user to select rows in the specified table. If column names are specified, the rows may only be selected in the columns identified by these names. The current user must be authorized to grant the SELECT privilege.

SELUPD

The SELECT and UPDATE privileges are granted. If column names are specified, the rows may only be selected or updated in the columns identified by these names. The current user must be authorized to grant both the SELECT and the UPDATE privileges.

UPDATE

Allows the identified user to update rows in the specified table. If column names are specified, the rows may only be updated in the columns identified by these names. The current user must be authorized to grant the UPDATE privilege.

See also:

INSERT/UPDATE/DELETE Privilege for Owners of the View Table


Privilege Specification for a Schema (schema_priv_spec) (SAP Library - MaxDB Library)

 Entering content frame

Privilege Specification for a Schema (schema_priv_spec)

A privilege specification for a schema (schema_priv_spec) defines a set of privileges in a schema.

Syntax

<schema_priv_spec> ::= <schema_privilege> ON <schema_name>,...

<schema_privilege> ::= CREATEIN | DROPIN

Explanation

The schema name must identify an existing schema but cannot be the same as the name of a database user.

The current database user must be the owner of all schemas identified by the schema name.

CREATEIN

The CREATEIN privilege enables you to create database objects in the specified schema.

DROPIN

The DROPIN privilege enables you to delete database objects in the specified schema. All database users that have been granted this privilege for a schema can delete any objects in the schema, irrespective of whether they created these objects themselves.

See also:

GRANT Statement (grant_statement)

REVOKE Statement (revoke_statement)


Syntax List (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Syntax List

The syntax notation used in this document is BNF.

Significant changes to the syntax as compared with database version 7.5 are described in the section Syntax Changes.

A

<add_definition> ::=
 ADD <column_definition>,...
| ADD (<column_definition>,...)
| ADD <constraint_definition>
| ADD <key_definition>
| ADD <referential_constraint_definition>

<alias_name> ::=
<identifier>

<all_function> ::=
<set_function_name> ( [ALL] <expression> )

<alter_definition> ::=
ALTER CONSTRAINT <constraint_name> CHECK <search_condition>
| ALTER <key_definition>

<alter_index_statement> ::=
 ALTER INDEX <index_name> [ON <table_name>] ENABLE
| ALTER INDEX <index_name> [ON <table_name>] DISABLE
| ALTER INDEX <index_name> [ON <table_name>] INIT USAGE

<alter_password_statement>::=
 ALTER PASSWORD <old_password> TO <new_password>
| ALTER PASSWORD <user_name> <new_password>

<alter_table_statement> ::=
ALTER TABLE <table_name> <add_definition>
| ALTER TABLE <table_name> <alter_definition>
| ALTER TABLE <table_name> <column_change_definition>
| ALTER TABLE <table_name> <drop_definition>
| ALTER TABLE <table_name> <modify_definition>
| ALTER TABLE <table_name> <referential_constraint_definition>
| ALTER TABLE <table_name> <sample_definition>

<alter_user_statement> ::=
ALTER USER <user_name> [<user_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<alter_usergroup_statement> ::=
 ALTER USERGROUP <usergroup_name> [<usergroup_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<argument> ::=
<identifier>

<argument1> ::=
<identifier>

<arithmetic_function> ::=
ABS (<expression> )
| CEIL ( <expression> )
| EXP ( <expression> )
| FIXED ( <expression>[, <unsigned_integer> [, <unsigned_integer>] ] )
| FLOAT ( <expression>[, <unsigned_integer> ] )
| FLOOR ( <expression> )
| INDEX ( <string_spec>, <string_spec> [,<expression>[, <expression>] ] )
| LENGTH ( <expression> )
| LN ( <expression> )
| LOG ( <expression>, <expression> )
| NOROUND ( <expression> )
| PI
| POWER ( <expression>, <expression> )
| ROUND ( <expression>[, <expression>] )
| SIGN ( <expression> )
| SQRT ( <expression> )
| TRUNC ( <expression>[, <expression>] )

<assignment_statement> ::=
SET <variable_name> = <expression>

B

<between_predicate> ::=
 <expression> [NOT] BETWEEN <expression> AND <expression>

<bool_predicate> ::=
<column_spec> [IS [NOT] TRUE | IS [NOT] FALSE]

<boolean_factor> ::=
[NOT] <predicate>
| [NOT] (<search_condition>)

<boolean_term> ::=
 <boolean_factor>
| <boolean_term> AND <boolean_factor>

C

<call_statement> ::=
 CALL <dbproc_name> [(<expression>,...)] [WITH COMMIT]

<cascade_option> ::=
CASCADE
| RESTRICT

<case_else_clause> ::=
 ELSE <statement>;

<case_function> ::=
 <simple_case_function>
| <searched_case_function>

<case_statement> ::=
<simple_case_statement>
| <searched_case_statement>

<character> ::=
 <digit>
| <letter>
| <extended_letter>
| <hex_digit>
| <language_specific_character>
| <special_character>

<close_statement> ::=
CLOSE [<result_table_name>]

<column_attributes> ::=
[<key_or_not_null_spec>] [<default_spec>] [UNIQUE] [<constraint_definition>]
[REFERENCES <referenced_table> [(<referenced_column>)] [<delete_rule>]]

<column_change_definition> ::=
  COLUMN <column_name> ADD <default_spec>
| COLUMN <column_name> ALTER <default_spec>
| COLUMN <column_name> DEFAULT NULL
| COLUMN <column_name> DROP DEFAULT
| COLUMN <column_name> NOT NULL

<column_definition> ::=
<column_name> <data_type> [<column_attributes>]
| <column_name> <domain_name> [<column_attributes>]

<column_list> ::=
<column_name>
| <column_list>, <column_name>

<column_name> ::=
<identifier>

<column_spec> ::=
<column_name>
| <table_name>.<column_name>
| <reference_name>.<column_name>
| <result_table_name>.<column_name>

<comment> ::=
<string_literal>
| <parameter_name>

<comment_on_statement> ::=
COMMENT ON <object_spec> IS <comment>

<commit_statement> ::=
COMMIT [WORK]

<comp_op> ::=
<
| >
| <>
| !=
| =
| <=
| >=
| ~= | ~< | ~> (for machines with ASCII code)

<comparison_predicate> ::=
<expression> <comp_op> <expression>
| <expression> <comp_op> <subquery>
| <expression_list> <equal_or_not> (<expression_list>)
| <expression_list> <equal_or_not> <subquery>

<connect_mode> ::=
ENABLE CONNECT
| DISABLE CONNECT

<connect_option> ::=
SQLMODE INTERNAL
| SQLMODE ANSI
| SQLMODE DB2
| SQLMODE ORACLE
| ISOLATION LEVEL <unsigned_integer>
| TIMEOUT <unsigned_integer>

<connect_statement> ::=
CONNECT <parameter_name> IDENTIFIED BY <parameter_name> [<connect_option>...]
| CONNECT <parameter_name> IDENTIFIED BY <password> [<connect_option>...]
| CONNECT <user_name> IDENTIFIED BY <parameter_name> [<connect_option>...]
| CONNECT <user_name> IDENTIFIED BY <password> [<connect_option>...]

<constraint_definition> ::=
CHECK <search_condition>
| CONSTRAINT <search_condition>
| CONSTRAINT <constraint_name> CHECK <search_condition>

<constraint_name> ::=
 <identifier>

<conversion_function> ::=
  CHAR (<expression>[,<datetimeformat>])
| CHR (<expression>[,<unsigned_integer>])
| HEX (<expression>)
| HEXTORAW (<expression>)
| NUM (<expression>)

<create_dbproc_statement> ::=
CREATE DBPROC[EDURE] <procedure_name> [(<formal_parameter>,..)] [RETURNS CURSOR] AS <routine>

<create_domain_statement> ::=
CREATE DOMAIN <domain_name> <data_type> [<default_spec>] [<constraint_definition>]

<create_function_statement> ::=
 CREATE [PUBLIC] FUNCTION <dbfunction_name>
[(<formal_parameter1>,...)] RETURNS <data_type> [DETERMINISTIC] AS <routine>

<create_index_statement> ::=
CREATE [UNIQUE] INDEX <index_name> ON <table_name> (<index_spec>)

<create_role_statement> ::=
CREATE ROLE <role_name> [IDENTIFIED BY <password>]

<create_schema_statement> ::=
CREATE SCHEMA <schema_name_clause> [<schema_element>]

<create_sequence_statement>
::=
CREATE SEQUENCE
[<schema_name>.]<sequence_name>
[INCREMENT BY <integer>]
[START WITH <integer>]
[MAXVALUE <integer> | NOMAXVALUE]
[MINVALUE <integer> | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE <unsigned_integer> | NOCACHE]
[ORDER|NOORDER]

<create_synonym_statement> ::=
CREATE [PUBLIC] SYNONYM [<schema_name>.]<synonym_name> FOR <table_name>

<create_system_trigger_statement> ::=
CREATE SYSTEM TRIGGER [<schema_name>.]<trigger_name> AFTER RESTART EXECUTE (<routine>)

<create_table_statement> ::=
CREATE TABLE <table_name> (<column_definition> [,<table_description_element>,...])
[IGNORE ROLLBACK] [<sample_definition>]
| CREATE TABLE <table_name> [(<table_description_element>,...)]
[IGNORE ROLLBACK] [<sample_definition>]
AS <query_expression> [<duplicates_clause>]
| CREATE TABLE <table_name> LIKE <table_name> [IGNORE ROLLBACK]

<create_table_temp> :: =
<! <create_table_statement> for creating temporary tables, that is,
the table name table_name in the CREATE TABLE statement
must have the form TEMP.<identifier>. !>

<create_trigger_statement> ::=
CREATE TRIGGER <trigger_name> FOR <table_name> AFTER <trigger_event>,...
EXECUTE (<routine>) [WHENEVER <search_condition>]

<create_user_statement> ::=
CREATE USER <user_name> PASSWORD <password>
[<user_mode>]
[TIMEOUT <unsigned_integer>]
[COSTWARNING <unsigned_integer>]
[COSTLIMIT <unsigned_integer>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]
| CREATE USER <user_name> PASSWORD <password> LIKE <source_user>
| CREATE USER <user_name> PASSWORD <password> USERGROUP <usergroup_name>

<create_usergroup_statement>
::=
CREATE USERGROUP
<usergroup_name>
[<usergroup_mode>]
[TIMEOUT <unsigned_integer>]
[COSTWARNING <unsigned_integer>]
[COSTLIMIT <unsigned_integer>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<create_view_statement> ::=
CREATE [OR REPLACE] VIEW <table_name> [(<alias_name>,...)]
AS <query_expression> [WITH CHECK OPTION]

D

<data_type> ::=
CHAR[ACTER] [(<unsigned_integer>)] [ASCII | BYTE | UNICODE]
| VARCHAR [(<unsigned_integer>)] [ASCII | BYTE | UNICODE]
| LONG [VARCHAR] [ASCII | BYTE | UNICODE]
| BOOLEAN
| FIXED (<unsigned_integer> [,<unsigned_integer>])
| FLOAT (<unsigned_integer>)
| INT[EGER]
| SMALLINT
| DATE
| TIME
| TIMESTAMP

<date_function> ::=
ADDDATE (<date_or_timestamp_expression>, <expression>)
| DATEDIFF ( <date_or_timestamp_expression>, <date_or_timestamp_expression> )
| DAYNAME ( <date_or_timestamp_expression> )
| DAYOFMONTH ( <date_or_timestamp_expression> )
| DAYOFWEEK ( <date_or_timestamp_expression> )
| DAYOFYEAR ( <date_or_timestamp_expression> )
| MAKEDATE ( <expression>, <expression> )
| MONTHNAME ( <date_or_timestamp_expression> )
| SUBDATE ( <date_or_timestamp_expression>, <expression> )
| WEEKOFYEAR ( <date_or_timestamp_expression> )

<date_or_timestamp_expression> ::=
<expression>

<datetimeformat> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<dbfunction_call> ::=
 <dbfunction_name> ( [<expression>,...] )

<dbfunction_name> ::=
 [<schema_name>.]<identifier>

<dbproc_name> ::=
[<schema_name>.]<identifier>

<declare_cursor_statement> ::=
DECLARE <result_table_name> CURSOR FOR <select_statement>

<default_predicate> ::=
<column_spec> <comp_op> DEFAULT

<default_spec> ::=
DEFAULT <literal>
| DEFAULT NULL
| DEFAULT USER
| DEFAULT USERGROUP
| DEFAULT SYSDBA
| DEFAULT DATE
| DEFAULT TIME
| DEFAULT TIMESTAMP
| DEFAULT UTCDATE
| DEFAULT UTCDIFF
| DEFAULT TIMEZONE
| DEFAULT TRUE
| DEFAULT FALSE
| DEFAULT TRANSACTION
| DEFAULT STAMP
| DEFAULT SERIAL[(<unsigned_integer>)]

<delete_rule> ::=
ON DELETE CASCADE
| ON DELETE RESTRICT
| ON DELETE SET DEFAULT
| ON DELETE SET NULL

<delete_statement> ::=
DELETE [FROM] <table_name> [<reference_name>]
[KEY <key_spec>,...] [WHERE <search_condition>] [NOWAIT]
| DELETE [FROM] <table_name> [<reference_name>]
WHERE CURRENT OF <result_table_name> [NOWAIT]

<delimiter_token> ::=
( | ) | , | . | + | - | * | / | < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for computers with ASCII code)

<derived_column> ::=
<expression> [ [AS] <result_column_name>]

<digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<digit_sequence> ::=
<digit>...

<distinct_function>::=
<set_function_name> ( DISTINCT <expression> )

<distinct_spec> ::=
DISTINCT
| ALL

<domain_name> ::=
[<schema_name>.]<identifier>

<double_quotes> ::=
"

<drop_dbproc_statement> ::=
DROP DBPROC[EDURE] <dbproc_name>

<drop_definition> ::=
DROP <column_name>,... [<cascade_option>] [RELEASE SPACE]
| DROP (<column_name>,...) [<cascade_option>] [RELEASE SPACE]
| DROP CONSTRAINT <constraint_name>
| DROP FOREIGN KEY <referential_constraint_name>
| DROP PRIMARY KEY

<drop_domain_statement> ::=
DROP DOMAIN <domain_name>

<drop_function_statement> ::=
 DROP [PUBLIC] FUNCTION <dbfunction_name>

<drop_index_statement> ::=
DROP INDEX <index_name> [ON <table_name>]

<drop_role_statement> ::=
DROP ROLE <role_name>

<drop_schema_statement> ::=
DROP SCHEMA <schema_name> [<cascade_option>]

<drop_sequence_statement> ::=
DROP SEQUENCE [<schema_name>.]<sequence_name>

<drop_synonym_statement> ::=
DROP [PUBLIC] SYNONYM [<schema_name>.]<synonym_name>

<drop_system_trigger_statement> ::=
DROP SYSTEM TRIGGER [<schema_name>.]<trigger_name>

<drop_table_statement> ::=
DROP TABLE <table_name> [<cascade_option>]

<drop_table_temp> ::=
DROP TABLE TEMP.<identifier>

<drop trigger statement> ::=
DROP TRIGGER <trigger_name> OF <table_name>

<drop_user_statement> ::=
DROP USER <user_name> [<cascade_option>]

<drop_usergroup_statement> ::=
DROP USERGROUP <usergroup_name> [<cascade_option>]

<drop_view_statement> ::=
DROP VIEW <table_name> [<cascade_option>]

<duplicates_clause> ::=
REJECT DUPLICATES
| IGNORE DUPLICATES
| UPDATE DUPLICATES

E

<equal_or_not> ::=
<>
| =
| ~= (for machines with ASCII code)

<exists_predicate> ::=
EXISTS <subquery>

<exists_table_statement> ::=
EXISTS TABLE <table_name>

<explain_statement> ::=
EXPLAIN [(<result_table_name>)] <query_statement>
| EXPLAIN [(<result_table_name>)] <single_select_statement>

<exponent> ::=
[<sign>][[<digit>]<digit>]<digit>

<expression> ::=
<term>
| <expression> + <term>
| <expression> - <term>

<expression_list> ::=
(<expression>,...)

<extended_expression> ::=
<expression>
| DEFAULT
| STAMP

<extended_letter> ::=
#
| @
| $

<extended_value_spec> ::=
DEFAULT
| STAMP
| <value_spec>

<extraction_function> ::=
DATE ( <expression> )
| DAY ( <date_or_timestamp_expression> )
| HOUR ( <time_or_timestamp_expression> )
| MICROSECOND ( <expression> )
| MINUTE ( <time_or_timestamp_expression> )
| MONTH ( <date_or_timestamp_expression> )
| SECOND ( <time_or_timestamp_expression> )
| TIME ( <expression> )
| TIMESTAMP ( <expression>[, <expression> ] )
YEAR ( <date_or_timestamp_expression> )

F

<factor> ::=
[<sign>] <value_spec>
| [<sign>] <column_spec>
| [<sign>] <function_spec>
| [<sign>] <set_function_spec>
| <scalar_subquery>
| <expression>

<fetch_statement> ::=
 FETCH [FIRST | LAST | NEXT | PREV | <position> | SAME] [<result_table_name>]
INTO <parameter_spec>,...

<final_select> ::=
<select_statement>

<first_character> ::=
<letter>
| <extended_letter>
| <language_specific_character>

<first_password_character> ::=
<letter>
| <extended_letter>
| <language_specific_character>
| <digit>

<fixed_point_literal> ::=
[<sign>]<digit_sequence>[.<digit_sequence>]
| [sign]<digit_sequence>.
| [sign].<digit_sequence>

<floating_point_literal> ::=
<mantissa>E<exponent>
| <mantissa>e<exponent>

<formal_parameter> ::=
IN <argument> <data_type>
| OUT <argument> <data_type>
| INOUT <argument> <data_type>

<formal_parameter1> ::=
<argument1> <data_type>

<from_clause> ::=
FROM <from_table_spec>,...

<from_table_spec> ::=
<table_name> [AS][<reference_name>]
| <result_table_name> [AS][<reference_name>]
| (<query_expression>) [AS][<reference_name>]
| <joined_table>

<function_spec> ::=
  <arithmetic_function>
| <conversion_function>
| <date_function>
| <dbfunction_call>
| <extraction_function>
| <special_function>
| <string_function>
| <time_function>
| <trigonometric_function>

G

<grant_statement> ::=
  GRANT <priv_spec>,... TO <grantee>,... [WITH GRANT OPTION]
| GRANT <schema_priv_spec> TO <grantee>,...
| GRANT EXECUTE ON <dbproc_name> TO <grantee>,...
| GRANT EXECUTE ON <dbfunction_name> TO <grantee>,...
| GRANT SELECT ON <sequence_name> TO <grantee>,... [WITH GRANT OPTION]

<grant_user_statement> ::=
  GRANT USER <granted_users> [FROM <user_name>] TO <user_name>

<grant_usergroup_statement> ::=
  GRANT USERGROUP <granted_usergroups> [FROM <user_name>] TO <user_name>

<granted_usergroups> ::=
  <usergroup_name>,...
| *

<granted_users> ::=
<user_name>,...
| *

<grantee> ::=
<user_name>
| <usergroup_name>
| <role_name>
| PUBLIC

<group_clause> ::=
GROUP BY <expression>,...

H

<having_clause> ::=
HAVING <search_condition>

<hex_digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| A | B | C | D | E | F
| a | b | c | d | e | f

<hex_digit_seq> ::=
<hex_digit><hex_digit>
| <hex_digit_seq><hex_digit><hex_digit>

<hex_literal> ::=
x''
| X''
| x'<hex_digit_seq>'
| X'<hex_digit_seq>'

<hours> ::=
<expression>

I

<identifier> ::=
<simple_identifier>
| <double_quotes><special_identifier><double_quotes>

<identifier_tail_character> ::=
<digit>
| <letter>
| <extended_letter>
| <language_specific_character>
| <underscore>

<if_statement> ::=
IF <search_condition> THEN <statement> [ELSE <statement>]

<in_predicate> ::=
<expression> [NOT] IN <subquery>
| <expression> [NOT] IN <expression_list>
| <expression_list> [NOT] IN <subquery>
| <expression_list> [NOT] IN (<expression_list>,...)

<index_name> ::=
<identifier>

<index_spec> ::=
<column_name> [ASC|DESC],...
| <dbfunction_name> (<column_name>,...) [ASC|DESC]

<indicator_name> ::=
  <parameter_name>

<initial_select> ::=
  <query_spec>

<insert_expression> ::=
  <extended_expression>
| <subquery>

<insert_statement> ::=
  INSERT [INTO] <table_name> [(<column_name>,...)]
    VALUES (<insert_expression>,...) [<duplicates_clause>] [NOWAIT]
| INSERT [INTO] <table_name> [(<column_name>,...)]
    <query_expression> [<duplicates_clause>] [NOWAIT]
| INSERT [INTO] <table_name> SET <set_insert_clause>,... [<duplicates_clause>] [NOWAIT]

<integer> ::=
  [sign]<unsigned_integer>

J

<join_predicate> ::=
  <expression> [<outer_join_indicator>] <comp_op> <expression> [<outer_join_indicator>]

<join_spec> ::=
  ON <search_condition>

<joined_table> ::=
  <from_table_spec> CROSS JOIN <from_table_spec>
| <from_table_spec> [INNER] JOIN <from_table_spec> <join_spec>
| <from_table_spec> [LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER]] JOIN
    <from_table_spec> <join_spec>

K

<key_definition> ::
  PRIMARY KEY (<column_name>,...)

<key_or_not_null_spec> ::=
  [PRIMARY] KEY
| NOT NULL [WITH DEFAULT]

<key_spec> ::=
  <column_name> = <value_spec>

<key_word> ::=
  <not_reserved_key_word>
| <reserved_keyword>

L

<language_specific_character> ::=
 <! <every letter that occurs in a Northern, Central, or Southern European language
 and is not included in the <letter> list>
| <for UNICODE-enabled databases: every character that is not included in the
ASCII code list from 0 to 127> !>

<letter> ::=
  A | B | C | D | E | F | G | H | I | J | K | L | M
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z
| a | b | c | d | e | f | g | h | i | j | k | l | m
| n | o | p | q | r | s | t | u | v | w | x | y | z

<like_expression> ::=
  <expression>
| '<pattern_element>...'

<like_predicate> ::=
  <expression> [NOT] LIKE <like_expression> [ESCAPE <expression>]

<literal> ::=
  <string_literal>
| <numeric_literal>

<local_variable> ::=
  <variable_name> <data_type>

<local_variable_list> ::=
  <local_variable>
| <local_variable_list>;<local_variable>

<local_variables> ::=
  VAR <local_variable_list>;

<lock_option> ::=
  WITH LOCK [(IGNORE)|(NOWAIT)] [EXCLUSIVE | OPTIMISTIC] [ISOLATION LEVEL <unsigned_integer>]

<lock_spec> ::=
  TABLE <table_name>,...
| <row_spec>...
| TABLE <table_name>,... <row_spec>...

<lock_statement> ::=
LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN SHARE MODE
| LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN EXCLUSIVE MODE
| LOCK [(WAIT)|(NOWAIT)] <row_spec>... OPTIMISTIC
| LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN SHARE MODE <lock_spec> IN EXCLUSIVE MODE

M

<mantissa> ::=
<fixed_point_literal>

<mapchar_set_name> ::=
<identifier>

<match_char> ::=
<! Every character except
%
| X'1F'
| <underscore>
| X'1E' !>

<match_set> ::=
<underscore>
| X'1E'
| <match_char>

<match_string> ::=
%
| X'1F'

<minutes> ::=
<expression>

<modify_column_definition> ::=
<column_name> <data_type> <column_attributes>
| <column_name> <data_type>
| <column_name> <column_attributes>

<modify_definition> ::=
  MODIFY (<modify_column_definition>,...)

<monitor_statement> ::=
  MONITOR INIT

N

<new_index_name> ::=
<index_name>

<new_schema_name> ::=
<schema_name>

<new_table_name> ::=
<table_name>

<new_user_name> ::=
<user_name>

<new_usergroup_name> ::=
<usergroup_name>

<next_stamp_statement> ::=
NEXT STAMP [INTO] <parameter_name>

<not_reserved_key_word> ::=

ADD | ADDRESS | ADD_MONTHS | AFTER
ALTERIN | ANALYZE | AND | ANSI
APPEND | ARCHIVE | AS | ASC
AT | AUTHORIZATION | AUTO | AUTOSAVE
BACKUP_PAGES | BAD | BEFORE | BEGIN
BEGINLOAD | BEGINPROC | BETWEEN | BLOCK
BLOCKSIZE | BOTH | BREAK | BUFFER
BUFFERPOOL | BWHIERARCHY | BY |
CACHE | CACHELIMIT | CACHES | CALL
CANCEL | CASCADE | CATALOG | CATCH
CHECKPOINT | CLEAR | CLOSE | CLUSTER
COMMENT | COMMIT | COMPUTE | CONFIG
CONNECT | CONSTRAINTS | CONTAINER | CONTINUE
COSTLIMIT | COSTWARNING | CREATE | CREATEIN
CURRENT_DATE | CURRENT_SCHEMA | CURRENT_TIME | CURRENT_TIMESTAMP
CURRVAL | CURSOR | CYCLE |
DATA | DAYS | DB2 | DBA
DBPROC | DBPROCEDURE | DB_ABOVE_LIMIT | DB_BELOW_LIMIT
DEBUG | DECLARE | DEFAULTCODE | DEGREE
DESC | DESCRIBE | DEVICE | DIAGNOSE
DIMENSION | DISABLE | DIV | DO
DOMAIN | DROP | DROPIN | DSETPASS
DUPLICATES | DYNAMIC |  |
EDITPROC | ELSE | ENABLE | END
ENDLOAD | ENDPROC | ERROR | ESCAPE
ESTIMATE | EUR | EVENT | EXCLUSIVE
EXECUTE | EXPLAIN | EXPLICIT | EXTENDED
FACT | FALSE | FETCH | FILE
FLUSH | FORCE | FOREIGN | FORMAT
FREEPAGE | FUNCTION | FVERSION |
GET | GRANT |  |
HIGH | HOLD | HOURS |
IDENTIFIED | IF | IMPLICIT | IN
INCREMENT | INDEXNAME | INDICATOR | INFO
INIT | INITRANS | INOUT | INPROC
INSTANCE | INSTR | IS | ISO
ISOLATION |  |  |
JAVA | JIS |  |
LABEL | LANGUAGE | LAST_DAY | LEVEL
LIKE | LOAD | LOCAL | LOCK
LOGFULL | LOGWRITER | LOG_ABOVE_LIMIT | LOW
MAXTRANS | MAXVALUE | MEDIANAME | MEDIUM
MICROSECONDS | MIGRATE | MINUS | MINUTES
MINVALUE | MODE | MODIFY | MONITOR
MONTHS | MONTHS_BETWEEN |  |
NAME | NEW | NEW_TIME | NEXTVAL
NEXT_DAY | NLSSORT | NLS_DATE_FORMAT | NLS_DATE_LANGUAGE
NLS_LANGUAGE | NLS_SORT | NOCACHE | NOCYCLE
NOLOG | NOMAXVALUE | NOMINVALUE | NONE
NOORDER | NOREWIND | NORMAL | NOSORT
NOWAIT | NUMBER | NVL |
OBID | OFF | ONLY | OPEN
OPTIMISTIC | OPTIMIZE | OPTION | OR
ORACLE | OUT | OUTER | OVERWRITE
PACKAGE | PAGE | PAGES | PARAM
PARSE | PARSEID | PASSWORD | PCTFREE
PCTUSED | PERCENT | PING | PIPE
POS | PRECISION | PREPARE | PRIV
PRIVILEGES | PROC | PROCEDURE | PSM
PUBLIC |  |  |
QUICK |  |  |
RANGE | RAW | RAWTOHEX | READ
RECURSIVE | REFERENCES | REGISTER | RELEASE
REMOTE | REMOVE | RENAME | REPLICATION
RESOURCE | RESTART | RESTORE | RESTRICT
RESUME | RETURN | RETURNS | REUSE
REVOKE | ROLE | ROLLBACK | ROW
ROWNUM | ROWS |  |
SAME | SAMPLE | SAPR3 | SAVE
SAVEPOINT | SCHEMA | SECONDS | SELECTIVITY
SEQUENCE | SERVERDB | SESSION | SHARE
SHUTDOWN | SNAPSHOT | SOUNDS | SQLID
SQLMODE | STANDARD | STANDBY | START
STARTPOS | STAT | STATE | STATIC
STOP | STORAGE | SUBPAGES | SUBTRANS
SUSPEND | SWITCH | SYNCHRONIZE | SYNONYM
SYSDATE |  |  |
TABID | TABLESPACE | TAKEOVER | TAPE
TEMP | THEN | TIMEOUT | TOPIC
TO_CHAR | TO_DATE | TO_NUMBER | TRACE
TRIGGER | TRUE | TRY | TYPE
UNIQUE | UNKNOWN | UNLOAD | UNLOCK
UNTIL | UNUSED | USA | USAGE
USERID |  |  |
VALIDPROC | VARCHAR2 | VERIFY | VERSION
VIEW | VOLUME | VSIZE | VTRACE
WAIT | WHENEVER | WHILE | WORK
WRITE | WRITER |  |
YEARS |  |  |

<null_predicate> ::=
<expression> IS [NOT] NULL

<numeric_literal> ::=
<fixed_point_literal>
| <floating_point_literal>

O

<object_spec> ::=
  COLUMN <table_name>.<column_name>
| DBPROC[EDURE] <dbproc_name>
| DOMAIN <domain_name>
| FOREIGN KEY <table_name>.<referential_constraint_name>
| INDEX <index_name> ON <table_name>
| SEQUENCE <sequence_name>
| [PUBLIC] SYNONYM <synonym_name>
| TABLE <table_name>
| TRIGGER <trigger_name>.<table_name>
| USER <user_name>
| USERGROUP <usergroup_name>
| <parameter_name>

<old_index_name> ::=
  <index_name>

<old_table_name> ::=
  <table_name>

<order_clause> ::=
  ORDER BY <sort_spec>,...

<outer_join_indicator> ::=
  (+)

P

<parameter_name> ::=
  :<identifier>
| ?

<parameter_spec> ::=
  <parameter_name> [<indicator_name>]

<password> ::=
<identifier>
| <first_password_character>[<identifier_tail_character>...]

<pattern_element> ::=
<match_string>
| <match_set>

<position> ::=
  POS (<unsigned_integer>)
| POS (<parameter_spec>)
| ABSOLUTE <integer>
| ABSOLUTE <parameter_spec>
| RELATIVE <integer>
| RELATIVE <parameter_spec>

<predicate> ::=
  <between_predicate>
| <bool_predicate>
| <comparison_predicate>
| <default_predicate>
| <exists_predicate>
| <in_predicate>
| <join_predicate>
| <like_predicate>
| <null_predicate>
| <quantified_predicate>
| <rowno_predicate>
| <sound_predicate>

<priv_spec> ::=
  ALL [PRIV[ILEGES]] ON [TABLE] <table_name>,...
| <privilege>,...  ON [TABLE] <table_name>,...
| <role_name>

<privilege> ::=
  ALTER
| DELETE
| INDEX
| INSERT
| REFERENCES [(<column_name>,...)]
| SELECT [(<column_name>,...)]
| SELUPD [(<column_name>,...)]
| UPDATE [(<column_name>,...)]

Q

<quantified_predicate> ::=
<expression> <comp_op> <quantifier> <expression_list>
| <expression> <comp_op> <quantifier> <subquery>
| <expression_list> <equal_or_not> <quantifier> (<expression_list>,...)
| <expression_list> <equal_or_not> <quantifier> <subquery>

<quantifier> ::=
ALL
| SOME
| ANY

<query_expression> ::=
<query_term>
| <query_expression> UNION [ALL] <query_term>
| <query_expression> EXCEPT [ALL] <query_term>

<query_primary> ::=
<query_spec>
| (<query_expression>)

<query_spec> ::=
SELECT [<distinct_spec>] <select_column>,... <table_expression>

<query_statement> ::=
<declare_cursor_statement>
| <recursive_declare_cursor_statement>
| <select_statement>

<query_term> ::=
<query_primary>
| <query_term> INTERSECT [ALL] <query_primary>

R

<recursive_declare_cursor_statement> ::=
DECLARE <result_table_name> CURSOR FOR WITH RECURSIVE <reference_name> (<alias_name>,...) AS (<initial_select> UNION ALL <recursive_select>) <final_select>

<recursive_select> ::=
  <query_spec>

<reference_name> ::=
  <identifier>

<referenced_column> ::=
  <column_name>

<referenced_table> ::=
  <table_name>

<referencing_column> ::=
  <column_name>

<referential_constraint_definition> ::=
FOREIGN KEY [<referential_constraint_name>] (<referencing_column>,...)
REFERENCES <referenced_table> [(<referenced_column>,...)] [<delete_rule>]

<referential_constraint_name> ::=
<identifier>

<regular_token> ::=
<literal>
| <key_word>
| <identifier>
| <parameter_name>

<release_statement> ::=
COMMIT [WORK] RELEASE
| ROLLBACK [WORK] RELEASE

<rename_column_statement> ::=
  RENAME COLUMN <table_name>.<column_name> TO <column_name>

<rename_index_statement> ::=
  RENAME INDEX <old_index_name> [ON <table_name>] TO <new_index_name>

<rename_schema_name> ::=
  RENAME SCHEMA <schema_name> TO <new_schema_name>

<rename_synonym_statement> ::=
  RENAME [PUBLIC] SYNONYM <old_synonym_name> TO <new_synonym_name>

<rename_table_statement> ::=
RENAME TABLE <old_table_name> TO <new_table_name>

<rename_user_statement> ::=
RENAME USER <user_name> TO <new_user_name>

<rename_usergroup_statement> ::=
RENAME USERGROUP <usergroup_name> TO <new_usergroup_name>

<rename_view_statement> ::=
RENAME VIEW <old_table_name> TO <new_table_name>

<reserved_key_word> ::=

ABS | ABSOLUTE | ACOS | ADDDATE
ADDTIME | ALL | ALPHA | ALTER
ANY | ASCII | ASIN | ATAN
ATAN2 | AVG |  |
BINARY | BIT | BOOLEAN | BYTE
CASE | CEIL | CEILING | CHAR
CHARACTER | CHECK | CHR | COLUMN
CONCAT | CONSTRAINT | COS | COSH
COT | COUNT | CROSS | CURDATE
CURRENT | CURTIME |  |
DATABASE | DATE | DATEDIFF | DAY
DAYNAME | DAYOFMONTH | DAYOFWEEK | DAYOFYEAR
DEC | DECIMAL | DECODE | DEFAULT
DEGREES | DELETE | DIGITS | DISTINCT
DOUBLE |  |  |
EXCEPT | EXISTS | EXP | EXPAND
FIRST | FIXED | FLOAT | FLOOR
FOR | FROM | FULL |
GET_OBJECTNAME | GET_SCHEMA | GRAPHIC | GREATEST
GROUP |  |  |
HAVING | HEX | HEXTORAW | HOUR
IFNULL | IGNORE | INDEX | INITCAP
INNER | INSERT | INT | INTEGER
INTERNAL | INTERSECT | INTO |
JOIN |  |  |
KEY |  |  |
LAST | LCASE | LEAST | LEFT
LENGTH | LFILL | LIST | LN
LOCATE | LOG | LOG10 | LONG
LONGFILE | LOWER | LPAD | LTRIM
MAKEDATE | MAKETIME | MAPCHAR | MAX
MBCS | MICROSECOND | MIN | MINUTE
MOD | MONTH | MONTHNAME |
NATURAL | NCHAR | NEXT | NO
NOROUND | NOT | NOW | NULL
NUM | NUMERIC |  |
OBJECT | OF | ON | ORDER
PACKED | PI | POWER | PREV
PRIMARY |  |  |
RADIANS | REAL | REJECT | RELATIVE
REPLACE | RFILL | RIGHT | ROUND
ROWID | ROWNO | RPAD | RTRIM
SECOND | SELECT | SELUPD | SERIAL
SET | SHOW | SIGN | SIN
SINH | SMALLINT | SOME | SOUNDEX
SPACE | SQRT | STAMP | STATISTICS
STDDEV | SUBDATE | SUBSTR | SUBSTRING
SUBTIME | SUM | SYSDBA |
TABLE | TAN | TANH | TIME
TIMEDIFF | TIMESTAMP | TIMEZONE | TO
TOIDENTIFIER | TRANSACTION | TRANSLATE | TRIM
TRUNC | TRUNCATE |  |
UCASE | UID | UNICODE | UNION
UPDATE | UPPER | USER | USERGROUP
USING | UTCDATE | UTCDIFF |
VALUE | VALUES | VARCHAR | VARGRAPHIC
VARIANCE |  |  |
WEEK | WEEKOFYEAR | WHEN | WHERE
WITH |  |  |
YEAR |  |  |
ZONED |  |  |

<result_column_name> ::=
<identifier>

<result_table_name> ::=
<identifier>

<revoke_statement> ::=
REVOKE <priv_spec>,... FROM <grantee>,... [<cascade_option>]
| REVOKE <schema_priv_spec> FROM <grantee>,...
| REVOKE EXECUTE ON <dbproc_name> FROM <grantee>,...
| REVOKE EXECUTE ON <dbfunction_name> FROM <grantee>,...
| REVOKE SELECT ON <sequence_name> FROM <grantee>,... [<cascade_option>]

<role_name> ::=
<identifier>

<rollback_statement> ::=
ROLLBACK [WORK]

<rollback_to_statement> ::=
ROLLBACK TO [SAVEPOINT <sql_savepoint_name>

<routine>
::=
[<local_variables>]
<statement_list>;

<routine_sql_statement> ::=
<call_statement>
| <close_statement>
| <create_table_temp>
| <declare_cursor_statement>
| <delete_statement>
| <drop_table_temp>
| <fetch_statement>
| <insert_statement>
| <lock_statement>
| <recursive_declare_cursor_statement>
| <select_statement>
| <single_select_statement>
| <subtrans_statement>
| <update_statement>

<row_spec> ::=
ROW <table_name> KEY <key_spec>,...
| ROW <table_name> CURRENT OF <result_table_name>

<rowno_column> ::=
ROWNO [ [AS] <result_column_name>]

<rowno_predicate> ::=
ROWNO < <unsigned_integer>
| ROWNO < <parameter_spec>
| ROWNO <= <unsigned_integer>
| ROWNO <= <parameter_spec>

S

<sample_definition> ::=
SAMPLE <unsigned_integer> ROWS
| SAMPLE <unsigned_integer> PERCENT

<savepoint_statement> ::=
SAVEPOINT <sql_savepoint_name>

<scalar_subquery> ::=
<subquery>

<schema_authorization_identifier> ::=
<identifier>

<schema_element> ::=
<create_table_statement>
| <create_view_statement>
| <create_dbproc_statement>
| <create_function_statement>
| <create_sequence_statement>

<schema_name> ::=
<identifier>

<schema_name_clause> ::=
<schema_name
| <schema_name> AUTHORIZATION <schema_authorization_identifier>

<schema_priv_spec> ::=
<schema_privilege> ON <schema_name>,...

<schema_privilege> ::=
CREATEIN
| DROPIN

<search_and_result_spec> ::=
<search_expression>, <result_expression>

<search_condition> ::=
<boolean_term>
| <search_condition> OR <boolean_term>

<searched_case_function> ::=
WHEN <search_condition> THEN <result_expression>
[...]
[ELSE <default_expression>]
END

<searched_case_statement> ::=
CASE
<searched_case_when_clause>...
[<case_else_clause>]
END [CASE]

<searched_case_when_clause> ::=
WHEN <search_condition> THEN <statement>;

<seconds> ::=
<expression>

<select_column> ::=
  <table_columns>
| <derived_column>
| <rowno_column>
| <stamp_column>

<select_statement> ::=
  <query_expression> [<order_clause>] [<update_clause>] [<lock_option>]
    [FOR REUSE]

<sequence_name> ::=
<identiefier>

<set_function_name> ::=
AVG
| COUNT
| MAX
| MIN
| STDDEV
| SUM
| VARIANCE

<set_function_spec> ::=
COUNT (*)
| <distinct_function>
| <all_function>

<set_insert_clause> ::=
<column_name> = <extended_value_spec>

<set_statement> ::=
SET ROLE ALL [EXCEPT <role_name>,...]
| SET ROLE NONE
| SET ROLE <role_name>,... [IDENTIFIED BY <password>]
| SET ISOLATION LEVEL <unsigned_integer>
| SET CURRENT_SCHEMA = <schema_name>

<set_update_clause> ::=
<column_name> = <extended_expression>
| <column_name>,... = (<extended_expression>,...)
| (<column_name>,...) = (<extended_expression>,...)
| <column_name> = <subquery>
| (<column_name>,...) = <subquery>

<sign> ::=
  +
| -

<simple_case_function> ::=
  CASE <check_expression>
    WHEN <search_expression> THEN <result_expression>
      [...]
    [ELSE <default_expression>]
  END

<simple_case_statement> ::=
  CASE <expression>
    <simple_case_when_clause>...
    [<case_else_clause>]
  END [CASE]

<simple_case_when_clause> ::=
WHEN <literal>[, ...] THEN <statement>;

<simple_identifier> ::=
<first_character>[<identifier_tail_character>...]

<single_select_statement> ::=
  SELECT [<distinct_spec>] <select_column>,... INTO <parameter_spec>,...
    FROM <from_table_spec>,...[<where_clause>] [<group_clause>]
    [<having_clause>] [<lock_option>]

<sort_spec> ::=
  <unsigned_integer> [ASC | DESC]
| <expression> [ASC | DESC]

<sound_predicate> ::=
  <expression> [NOT] SOUNDS [LIKE] <expression>

<source_user> ::=
  <user_name>

<special_character> ::=
  <! Every character except
    <digit>
  | <letter>
  | <extended_letter>
  | <hex_digit>
  | <language_specific_character >
  | <character for the end of a line in a file> !>

<special_function> ::=
<case_function>
| DECODE (<check_expression>,<search_and_result_spec>,...[,<default_expression>])
| GREATEST (<expression>,<expression>,...)
| LEAST (<expression>,<expression>,...)
| VALUE (<expression>,<expression>,...)

<special_identifier> ::=
<special_identifier_character>...

<special_identifier_character> ::=
<! <any character> !>

<sql_comment> ::=
/*<sql_comment_text>*/
| --<sql_comment_text>

<sql_comment_text> ::=
<! <comment text> !>

<sql_savepoint_name> ::=
<identifier>

<sql_statement> ::=
<alter_index_statement>
| <alter_password_statement>
| <alter_table_statement>
| <alter_user_statement>
| <alter_usergroup_statement>
| <call_statement>
| <close_statement>
| <comment_on_statement>
| <commit_statement>
| <connect_statement>
| <create_dbproc_statement>
| <create_domain_statement>
| <create_function_statement>
| <create_index_statement>
| <create_role_statement>
| <create_schema_statement>
| <create_sequence_statement>
| <create_synonym_statement>
| <create_system_trigger_statement>
| <create_table_statement>
| <create_trigger_statement>
| <create_user_statement>
| <create_usergroup_statement>
| <create_view_statement>
| <delete_statement>
| <drop_dbproc_statement>
| <drop_domain_statement>
| <drop_function_statement>
| <drop_index_statement>
| <drop_role_statement>
| <drop_schema_statement>
| <drop_sequence_statement>
| <drop_synonym_statement>
| <drop_system_trigger_statement>
| <drop_table_statement>
| <drop_trigger_statement>
| <drop_user_statement>
| <drop_usergroup_statement>
| <drop_view_statement>
| <exists_table_statement>
| <explain_statement>
| <fetch_statement>
| <grant_statement>
| <grant_user_statement>
| <grant_usergroup_statement>
| <insert_statement>
| <lock_statement>
| <monitor_statement>
| <next_stamp_statement>
| <query_statement>
| <release_statement>
| <rename_column_statement>
| <rename_index_statement>
| <rename_schema_statement>
| <rename_synonym_statement>
| <rename_table_statement>
| <rename_user_statement>
| <rename_usergroup_statement>
| <rename_view_statement>
| <revoke_statement>
| <rollback_statement>
| <rollback_to_statement>
| <savepoint_statement>
| <set_statement>
| <single_select_statement>
| <subtrans_statement>
| <unlock_statement>
| <update_statement>
| <update_statistics_statement>

<stamp_column> ::=
STAMP [ [AS] <result_column_name>]

<statement> ::=
BEGIN <statement_list> END
| BREAK
| CONTINUE
| CONTINUE EXECUTE
| <if_statement>
| <while_statement>
| <assignment_statement>
| <case_statement>
| RETURN [<expression>]
| STOP (<expression> [,<expression>] )
| TRY <statement_list>; CATCH <statement>
| <routine_sql_statement>

<statement_list> ::=
<statement>
| <statement_list> ; <statement>

<string_function> ::=
<string_spec> || <string_spec>
| <string_spec> & <string_spec>
| ALPHA (<string_spec>[,<unsigned_integer>])
| ASCII (<string_spec>)
| EXPAND (<string_spec>,<unsigned_integer>)
| GET_OBJECTNAME (<string_literal>)
| GET_SCHEMA (<string_literal>)
| INITCAP (<string_spec>)
| LFILL (<string_spec>,<string_literal>[,<unsigned_integer>])
| LOWER (<string_spec>)
| LPAD (<string_spec>,<expression>,<string_literal>[,<unsigned_integer>])
| LTRIM (<string_spec>[,<string_spec>])
| MAPCHAR (<string_spec>[,<unsigned_integer>][,<mapchar_set_name>])
| REPLACE (<string_spec>,<string_spec>[,<string_spec>])
| RFILL (<string_spec>,<string_literal>[,<unsigned_integer>])
| RPAD (<string_spec>,<expression>,<string_literal>[,<unsigned_integer>])
| RTRIM (<string_spec>[,<string_spec>])
| SOUNDEX (<string_spec>)
| SUBSTR (<string_spec>,<expression>[,<expression>])
| TRANSLATE (<string_spec>,<string_spec>,<string_spec>)
| TRIM (<string_spec>[,<string_spec>])
| UPPER (<string_spec>)

<string_literal> ::=
''
| '<character>...'
| <hex_literal>

<string_spec> ::=
<expression>

<subquery> ::=
(<query_expression>)

<subtrans_statement> ::=
SUBTRANS BEGIN
| SUBTRANS END
| SUBTRANS ROLLBACK

<synonym_name> ::=
<identifier>

T

<table_columns> ::=
  *
| <table_name>.*
| <reference_name>.*

<table_description_element> ::=
  <column_definition>
| <constraint_definition>
| <referential_constraint_definition>
| <key_definition>
| <unique_definition>

<table_expression> ::=
  <from_clause> [<where_clause>] [<group_clause>] [<having_clause>]

<table_name> ::=
  [<schema_name>.]<identifier>

<term> ::=
<factor>
| <term> * <factor>
| <term> / <factor>
| <term> DIV <factor>
| <term> MOD <factor>

<time_expression> ::=
<expression>

<time_or_timestamp_expression> ::=
<expression>

<time_function> ::=
ADDTIME (<time_or_timestamp_expression>, <time_expression> )
| MAKETIME (<hours>, <minutes>, <seconds> )
| SUBTIME ( <time_or_timestamp_expression>, <time_expression> )
| TIMEDIFF ( <time_or_timestamp_expression>, <time_or_timestamp_expression> )

<token> ::=
<regular_token>
| <delimiter_token>

<trigger_event> :: =
  INSERT
| UPDATE [(<column_list>)]
| DELETE

<trigger_name> ::=
  <identifier>

<trigonometric_function> ::=
  COS ( <expression> )
| SIN ( <expression> )
| TAN ( <expression> )
| COT ( <expression> )
| COSH ( <expression> )
| SINH ( <expression> )
| TANH ( <expression> )
| ACOS ( <expression> )
| ASIN ( <expression> )
| ATAN ( <expression> )
| ATAN2 ( <expression>, <expression> )
| RADIANS ( <expression> )
| DEGREES ( <expression> )

U

<underscore> ::=
_

<unique_definition> ::=
  [CONSTRAINT <index_name>] UNIQUE (<column_name>,...)

<unlock_statement> ::=
  UNLOCK <row_spec>... IN SHARE MODE
| UNLOCK <row_spec>... IN EXCLUSIVE MODE
| UNLOCK <row_spec>... IN SHARE MODE <row_spec>... IN EXCLUSIVE MODE
| UNLOCK <row_spec>... OPTIMISTIC

<unsigned_integer> ::=
  <numeric_literal>

<update_clause> ::=
  FOR UPDATE [OF <column_name>,...] [NOWAIT]

<update_statement> ::=
  UPDATE [OF] <table_name> [<reference_name>] SET <set_update_clause>,...
    [KEY <key_spec>,...] [WHERE <search_condition>] [NOWAIT] [IGNORE TRIGGER]
| UPDATE [OF] <table_name> [<reference_name>] (<column_name>,...)
    VALUES (<extended_value_spec>,...) [KEY <key_spec>,...]
    [WHERE <search_condition>] [NOWAIT] [IGNORE TRIGGER]
| UPDATE [OF] <table_name> [<reference_name>] SET <set_update_clause>,...
    WHERE CURRENT OF <result_table_name> [NOWAIT]
| UPDATE [OF] <table_name> [<reference_name>] (<column_name>,...)
    VALUES (<extended_value_spec>,...) WHERE CURRENT OF <result_table_name> [NOWAIT]

<update_statistics_statement> ::=
UPDATE STAT[ISTICS] COLUMN <table_name>.<column_name>
[ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] COLUMN (<column_name>,...) FOR <table_name>
[ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] COLUMN (*) FOR <table_name>
[ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] <table_name> [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] [<schema_name>.][<identifier>]* [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] AS PER SYSTEM TABLE

<user_mode> ::=
DBA
| RESOURCE
| STANDARD

<user_name> ::=
<identifier>

<usergroup_mode> ::=
RESOURCE
| STANDARD

<usergroup_name> ::=
  <identifier>

V

<value_spec> ::=
<literal>
| <parameter_spec>
| NULL
| USER
| USERGROUP
| SYSDBA
| CURRENT_SCHEMA
| UID
| [<schema_name>.]<sequence_name>.NEXTVAL
| [<schema_name>.]<sequence_name>.CURRVAL
| <table_name>.CURRVAL
| DATE
| TIME
| TIMESTAMP
| UTCDATE
| TIMEZONE
| UTCDIFF
| TRUE
| FALSE
| TRANSACTION

<variable_name> ::=
<identifier>

W

<where_clause> ::=
WHERE <search_condition>

<while_statement> ::=
WHILE <search_condition> DO <statement>


add_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation add_definition

<add_definition> ::=
ADD <column_definition>,...
| ADD (<column_definition>,...)
| ADD <constraint_definition>
| ADD <key_definition>
| ADD <referential_constraint_definition>


alias_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alias_name

< alias_name > ::=
  < identifier >


all_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation all_function

< all_function > ::=
< set_function_name > ( [ALL] < expression > )


alter_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alter_definition

< alter_definition > ::=
  ALTER CONSTRAINT < constraint_name > CHECK < search_condition >
| ALTER < key_definition >


alter_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alter_index_statement

< alter_index_statement > ::=
  ALTER INDEX < index_name > [ON < table_name >] ENABLE
| ALTER INDEX <index_name> [ON <table_name>] DISABLE
| ALTER INDEX <index_name> [ON <table_name>] INIT USAGE


alter_password_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alter_password_statement

< alter_password_statement >::=
  ALTER PASSWORD <old_ password > TO <new_password>
| ALTER PASSWORD < user_name > <new_password>


alter_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alter_table_statement

<alter_table_statement> ::=
ALTER TABLE <table_name> <add_definition>
| ALTER TABLE <table_name> <alter_definition>
| ALTER TABLE <table_name> <column_change_definition>
| ALTER TABLE <table_name> <drop_definition>
| ALTER TABLE <table_name> <modify_definition>
| ALTER TABLE <table_name> <referential_constraint_definition>
| ALTER TABLE <table_name> <sample_definition>


alter_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alter_user_statement

<alter_user_statement> ::=
ALTER USER <user_name> [<user_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]


alter_usergroup_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation alter_usergroup_statement

<alter_usergroup_statement> ::=
ALTER USERGROUP <usergroup_name> [<usergroup_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]


argument (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation argument

<argument> ::=
<identifier>


argument1 (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation argument1

<argument1> ::=
  <identifier>


arithmetic_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation arithmetic_function

<arithmetic_function> ::=
TRUNC ( <expression>[, <expression>] )
| ROUND ( <expression>[, <expression>] )
| NOROUND ( <expression> )
| FIXED ( <expression>[, <unsigned_integer> [, <unsigned_integer>] ] )
| FLOAT ( <expression>[, <unsigned_integer> ] )
| CEIL ( <expression> )
| FLOOR ( <expression> )
| SIGN ( <expression> )
| ABS ( <expression> )
| POWER ( <expression>, <expression> )
| EXP ( <expression> )
| SQRT ( <expression> )
| LN ( <expression> )
| LOG ( <expression>, <expression> )
| PI
| LENGTH ( <expression> )
| INDEX ( <string_spec>, <string_spec> [,<expression>[, <expression>] ] )


assignment_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation assignment_statement

<assignment_statement> ::=
SET <variable_name> = <expression>


between_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation between_predicate

< between_predicate > ::=
  < expression > [NOT] BETWEEN <expression> AND <expression>


bool_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation bool_predicate

<bool_predicate> ::=
<column_spec> [IS [NOT] TRUE | IS [NOT] FALSE]


boolean_factor (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation boolean_factor

<boolean_factor> ::=
[NOT] <predicate>
| [NOT] (<search_condition>)


boolean_term (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation boolean_term

<boolean_term> ::=
<boolean_factor>
| <boolean_term> AND <boolean_factor>


call_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation call_statement

< call_statement > ::=
  CALL < dbproc_name > [(< expression >,...)] [WITH COMMIT]


cascade_option (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation cascade_option

< cascade_option > ::=
  CASCADE
| RESTRICT


case_else_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation case_else_clause

<case_else_clause> ::=
  ELSE <statement>


case_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation case_function

<case_function> ::=
<simple_case_function>
| <searched_case_function>


case_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation case_statement

<case_statement> ::=
<simple_case_statement>
| <searched_case_statement>


character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation character

< character > ::=
  < digit >
| < letter >
| < extended_letter >
| < hex_digit >
| < language_specific_character >
| < special_character >


close_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation close_statement

< close_statement > ::=
  CLOSE [< result_table_name >]


column_attributes (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_attributes

< column_attributes > ::=
  [< key_or_not_null_spec >] [< default_spec >] [UNIQUE] [< constraint_definition >]
    [REFERENCES < referenced_table > [(< referenced_column >)] [< delete_rule >]]


column_change_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_change_definition

<column_change_definition> ::=
COLUMN <column_name> ADD <default_spec>
| COLUMN <column_name> ALTER <default_spec>
| COLUMN <column_name> DEFAULT NULL
| COLUMN <column_name> DROP DEFAULT
| COLUMN <column_name> NOT NULL


column_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_definition

< column_definition > ::=
  < column_name > < data_type > [< column_attributes >]
| <column_name> < domain_name > [<column_attributes>]


column_list (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_list

<column_list> ::=
<column_name>
| <column_list>, <column_name>


column_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_name

< column_name > ::=
  < identifier >


column_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_spec

< column_spec > ::=
  < column_name >
| < table_name >.<column_name>
| < reference_name >.<column_name>
| < result_table_name >.<column_name>


comment (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation comment

< comment > ::=
  < string_literal >
| < parameter_name >


comment_on_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation comment_on_statement

< comment_on_statement > ::=
  COMMENT ON < object_spec > IS < comment >


commit_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation commit_statement

< commit_statement > ::=
  COMMIT [WORK]


comp_op (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation comp_op

<comp_op> ::=
<
| >
| <>
| !=
| =
| <=
| >=
| ~= | ~< | ~> (for machines with ASCII code)


comparison_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation comparison_predicate

< comparison_predicate > ::=
  < expression > < comp_op > <expression>
| <expression> <comp_op> < subquery >
| < expression_list > < equal_or_not > (<expression_list>)
| <expression_list> <equal_or_not> <subquery>


connect_mode (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation connect_mode

<connect_mode> ::=
ENABLE CONNECT
| DISABLE CONNECT


connect_option (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation connect_option

<connect_option> ::=
SQLMODE INTERNAL
| SQLMODE ANSI
| SQLMODE DB2
| SQLMODE ORACLE
| ISOLATION LEVEL <unsigned_integer>
| TIMEOUT <unsigned_integer>


connect_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation connect_statement

< connect_statement > ::=
  CONNECT < parameter_name > IDENTIFIED BY <parameter_name> [< connect_option >...]
| CONNECT <parameter_name> IDENTIFIED BY < password > [<connect_option>...]
| CONNECT < user_name > IDENTIFIED BY <parameter_name> [<connect_option>...]
| CONNECT <user_name> IDENTIFIED BY <password> [<connect_option>...]


constraint_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation constraint_definition

< constraint_definition > ::=
  CHECK < search_condition >
| CONSTRAINT <search_condition>
| CONSTRAINT < constraint_name > CHECK <search_condition>


constraint_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation constraint_name

< constraint_name > ::=
  < identifier >


conversion_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation conversion_function

< conversion_function > ::=
  NUM (< expression >)
| CHR (<expression>[,< unsigned_integer >])
| HEX (<expression>)
| HEXTORAW (<expression>)
| CHAR (<expression>[,< datetimeformat >])


create_dbproc_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_dbproc_statement

<create_dbproc_statement> ::=
CREATE DBPROC[EDURE] <dbproc_name> [(<formal_parameter>,..)] [RETURNS CURSOR] AS <routine>


create_domain_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_domain_statement

< create_domain_statement > ::=
  CREATE DOMAIN < domain_name > < data_type > [< default_spec >] [< constraint_definition >]


create_function_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_function_statement

<create_function_statement> ::=
  CREATE [PUBLIC] FUNCTION <dbfunction_name>
    [(<formal_parameter1>,...)] RETURNS <data_type> [DETERMINISTIC] AS <routine>


create_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_index_statement

<create_index_statement> ::=
CREATE [UNIQUE] INDEX <index_name> ON <table_name> (<index_spec>)


create_role_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_role_statement

< create_role_statement > ::=
  CREATE ROLE < role_name > [IDENTIFIED BY < password >]


create_schema_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_schema_statement

<create_schema_statement> ::=
CREATE SCHEMA <schema_name_clause> [<schema_element>...]


create_sequence_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_sequence_statement

<create_sequence_statement>
::=
CREATE SEQUENCE [<schema_name>.]<sequence_name>
[INCREMENT BY <integer>]
[START WITH <integer>]
[MAXVALUE <integer> | NOMAXVALUE]
[MINVALUE <integer> | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE <unsigned_integer>
| NOCACHE]
[ORDER|NOORDER]


create_synonym_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_synonym_statement

<create_synonym_statement> ::=
  CREATE [PUBLIC] SYNONYM [<schema_name>.]<synonym_name> FOR <table_name>


create_system_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_system_trigger_statement

<create_system_trigger_statement> ::=
CREATE SYSTEM TRIGGER [<schema_name>.]<trigger_name> AFTER RESTART EXECUTE (<routine>)


create_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_table_statement

<create_table_statement> ::=
CREATE TABLE <table_name> (<column_definition> [,<table_description_element>,...])
[IGNORE ROLLBACK] [<sample_definition>]
| CREATE TABLE <table_name> [(<table_description_element>,...)]
[IGNORE ROLLBACK] [<sample_definition>]
AS <query_expression> [<duplicates_clause>]
| CREATE TABLE <table_name> LIKE <table_name> [IGNORE ROLLBACK]


create_table_temp (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_table_temp

<create_table_temp> :: =
  <!  <create_table_statement> for creating temporary tables,
that is the table name table_name in the CREATE TABLE-statement
must have the format TEMP.<identifier> . !>


create_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_trigger_statement

<create_trigger_statement> ::=
CREATE TRIGGER <trigger_name> FOR <table_name> AFTER <trigger_event>,...
EXECUTE (<routine>) [WHENEVER <search_condition>]


create_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_user_statement

<create_user_statement> ::=
CREATE USER <user_name> PASSWORD <password>
[<user_mode>]
[TIMEOUT <unsigned_integer>]
[COSTWARNING <unsigned_integer>]
[COSTLIMIT <unsigned_integer>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]
| CREATE USER <user_name> PASSWORD <password> LIKE <source_user>
| CREATE USER <user_name> PASSWORD <password> USERGROUP <usergroup_name>


create_usergroup_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_usergroup_statement

<create_usergroup_statement>
::=
CREATE USERGROUP <usergroup_name>
[<usergroup_mode>]
[TIMEOUT <unsigned_integer>]
[COSTWARNING <unsigned_integer>]
[COSTLIMIT <unsigned_integer>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]


create_view_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation create_view_statement

< create_view_statement > ::=
  CREATE [OR REPLACE] VIEW < table_name > [(< alias_name >,...)]
    AS < query_expression > [WITH CHECK OPTION]


data_type (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation data_type

<data_type> ::=
  CHAR[ACTER] [(<unsigned_integer>)] [ASCII | BYTE | UNICODE]
| VARCHAR [(<unsigned_integer>)] [ASCII | BYTE | UNICODE]
| LONG [VARCHAR] [ASCII | BYTE | UNICODE]
| BOOLEAN
| FIXED (<unsigned_integer> [,<unsigned_integer>])
| FLOAT (<unsigned_integer>)
| INT[EGER]
| SMALLINT
| DATE
| TIME
| TIMESTAMP


date_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation date_function

< date_function > ::=
  ADDDATE ( < date_or_timestamp_expression >, < expression > )
| SUBDATE ( <date_or_timestamp_expression>, <expression> )
| DATEDIFF ( <date_or_timestamp_expression>, <date_or_timestamp_expression> )
| DAYOFWEEK ( <date_or_timestamp_expression> )
| WEEKOFYEAR ( <date_or_timestamp_expression> )
| DAYOFMONTH ( <date_or_timestamp_expression> )
| DAYOFYEAR ( <date_or_timestamp_expression> )
| MAKEDATE ( <expression>, <expression> )
| DAYNAME ( <date_or_timestamp_expression> )
| MONTHNAME ( <date_or_timestamp_expression> )


date_or_timestamp_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation date_or_timestamp_expression

<date_or_timestamp_expression> ::=
<expression>


datetimeformat (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation datetimeformat

< datetimeformat > ::=
  EUR
| INTERNAL
| ISO
| JIS
| USA


dbfunction_call (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation dbfunction_call

<dbfunction_call> ::=
  <dbfunction_name> ( [<expression>,...) )


dbfunction_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation dbfunction_name

<dbfunction_name> ::=
  [<schema_name>.]<identifier>


dbproc_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation dbproc_name

<dbproc_name> ::=
[<schema_name>.]<identifier>


declare_cursor_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation declare_cursor_statement

< declare_cursor_statement > ::=
  DECLARE < result_table_name > CURSOR FOR < select_statement >


default_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation default_predicate

< default_predicate > ::=
  < column_spec > < comp_op > DEFAULT


default_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation default_spec

< default_spec > ::=
  DEFAULT < literal >
| DEFAULT NULL
| DEFAULT USER
| DEFAULT USERGROUP
| DEFAULT SYSDBA
| DEFAULT DATE
| DEFAULT TIME
| DEFAULT TIMESTAMP
| DEFAULT UTCDATE
| DEFAULT UTCDIFF
| DEFAULT TIMEZONE
| DEFAULT TRUE
| DEFAULT FALSE
| DEFAULT TRANSACTION
| DEFAULT STAMP
| DEFAULT SERIAL[(< unsigned_integer >)]


delete_rule (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation delete_rule

< delete_rule > ::=
  ON DELETE CASCADE
| ON DELETE RESTRICT
| ON DELETE SET DEFAULT
| ON DELETE SET NULL


delete_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation delete_statement

<delete_statement>
::=
DELETE [FROM] <table_name>
[<reference_name>]
[KEY <key_spec>,...]
[WHERE <search_condition>]
[NOWAIT]
| DELETE [FROM] <table_name> [<reference_name>]
WHERE CURRENT OF <result_table_name>
[NOWAIT]


delimiter_token (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation delimiter_token

<delimiter_token> ::=
( | ) | , | . | + | - | * | / | < | > | <> | != | = | <= | >=
| ~= | ~< | ~> (for machines with ASCII code)


derived_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation derived_column

<derived_column> ::=
<expression> [ [AS] <result_column_name>]


digit (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation digit

<digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9


digit_sequence (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation digit_sequence

<digit_sequence> ::=
  <digit>...


distinct_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation distinct_function

<distinct_function>::=
<set_function_name> ( DISTINCT <expression> )


distinct_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation distinct_spec

< distinct_spec > ::=
  DISTINCT
| ALL


domain_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation domain_name

<domain_name> ::=
[<schema_name>.]<identifier>


double_quotes (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation double_quotes

<double_quotes> ::=
"


drop_dbproc_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_dbproc_statement

<drop_dbproc_statement> ::=
DROP DBPROC[EDURE] <dbproc_name>


drop_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_definition

< drop_definition > ::=
  DROP < column_name >,... [< cascade_option >] [RELEASE SPACE]
| DROP (<column_name>,...) [<cascade_option>] [RELEASE SPACE]
| DROP CONSTRAINT < constraint_name >
| DROP PRIMARY KEY


drop_domain_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_domain_statement

< drop_domain_statement > ::=
  DROP DOMAIN < domain_name >


drop_function_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_function_statement

<drop_function_spec> ::=
  DROP [PUBLIC] FUNCTION <dbfunction_name>


drop_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_index_statement

< drop_index_statement > ::=
  DROP INDEX < index_name > [ON < table_name >]


drop_role_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_role_statement

< drop_role_statement > ::=
  DROP ROLE < role_name >


drop_schema_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_schema_statement

<drop_schema_statement> ::=
DROP SCHEMA <schema_name> [<cascade_option>]


drop_sequence_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_sequence_statement

<drop_sequence_statement> ::=
DROP SEQUENCE [<schema_name>.]<sequence_name>


drop_synonym_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_synonym_statement

<drop_synonym_statement> ::=
DROP [PUBLIC] SYNONYM [<schema_name>.]<synonym_name>


drop_system_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_system_trigger_statement

<drop_system_trigger_statement> ::=
DROP SYSTEM TRIGGER [<schema_name>.]<trigger_name>


drop_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_table_statement

< drop_table_statement > ::=
  DROP TABLE < table_name > [< cascade_option >]


drop_table_temp (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_table_temp

<drop_table_temp> ::=
DROP TABLE TEMP.<identifier>


drop_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_trigger_statement

< drop_trigger_statement > ::=
  DROP TRIGGER < trigger_name > OF < table_name >


drop_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_user_statement

< drop_user_statement > ::=
  DROP USER < user_name > [< cascade_option >]


drop_usergroup_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_usergroup_statement

< drop_usergroup_statement > ::=
  DROP USERGROUP < usergroup_name > [< cascade_option >]


drop_view_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation drop_view_statement

< drop_view_statement > ::=
  DROP VIEW < table_name > [< cascade_option >]


duplicates_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation duplicates_clause

< duplicates_clause > ::=
  REJECT DUPLICATES
| IGNORE DUPLICATES
| UPDATE DUPLICATES


equal_or_not (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation equal_or_not

<equal_or_not> ::=
<>
| =
| ~= (for machines with ASCII code)


exists_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation exists_predicate

< exists_predicate > ::=
  EXISTS < subquery >


exists_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation exists_table_statement

< exists_table_statement > ::=
  EXISTS TABLE < table_name >


explain_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation explain_statement

< explain_statement > ::=
  EXPLAIN [(< result_table_name >)] < query_statement >
| EXPLAIN [(<result_table_name>)] < single_select_statement >


exponent (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation exponent

<exponent> ::=
[<sign>][[<digit>]<digit>]<digit>


expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation expression

< expression > ::=
  < term >
| <expression> + <term>
| <expression> - <term>


expression_list (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation expression_list

< expression_list > ::=
  (< expression >,...)


extended_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation extended_expression

<extended_expression> ::=
<expression>
| DEFAULT
| STAMP


extended_letter (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation extended_letter

<extended_letter> ::=
#
| @
| $


extended_value_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation extended_value_spec

<extended_value_spec> ::=
DEFAULT
| STAMP
| <value_spec>


extraction_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation extraction_function

<extraction_function> ::=
YEAR ( <date_or_timestamp_expression> )
| MONTH ( <date_or_timestamp_expression> )
| DAY ( <date_or_timestamp_expression> )
| HOUR ( <time_or_timestamp_expression> )
| MINUTE ( <time_or_timestamp_expression> )
| SECOND ( <time_or_timestamp_expression> )
| MICROSECOND ( <expression> )
| TIMESTAMP ( <expression>[, <expression> ] )
| DATE ( <expression> )
| TIME ( <expression> )


factor (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation factor

<factor> ::=
[<sign>] <value_spec>
| [<sign>] <column_spec>
| [<sign>] <function_spec>
| [<sign>] <set_function_spec>
| <scalar_subquery>
| <expression>


fetch_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation fetch_statement

< fetch_statement > ::=
  FETCH [FIRST | LAST | NEXT | PREV | < position > | SAME] [< result_table_name >]
    INTO < parameter_spec >,...


final_select (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation final_select

< final_select > ::=
  < select_statement >


first_character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation first_character

<first_character> ::=
<letter>
| <extended_letter>
| <language_specific_character>


first_password_character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation first_password_character

<first_password_character> ::=
<letter>
| <extended_letter>
| <language_specific_character>
| <digit>


fixed_point_literal (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation fixed_point_literal

< fixed_point_literal > ::=
  [< sign >]< digit_sequence >[.<digit_sequence>]
| [sign]<digit_sequence>.
| [sign].<digit_sequence>


floating_point_literal (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation floating_point_literal

< floating_point_literal > ::=
  < mantissa >E< exponent >
| <mantissa>e<exponent>


formal_parameter (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation formal_parameter

< formal_parameter > ::=
  IN < argument > < data_type >
| OUT <argument> <data_type>
| INOUT <argument> <data_type>


formal_parameter1 (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation formal_parameter1

<formal_parameter1> ::=
  <argument1> <data_type>


from_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation from_clause

<from_clause> ::=
FROM <from_table_spec>,...


from_table_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation from_table_spec

<from_table_spec> ::=
<table_name> [AS] [<reference_name>]
| <result_table_name> [AS] [<reference_name>]
| (<query_expression>) [AS] [<reference_name>]
| <joined_table>


function_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation function_spec

<function_spec> ::=
  <arithmetic_function>
| <trigonometric_function>
| <string_function>
| <date_function>
| <time_function>
| <extraction_function>
| <special_function>
| <conversion_function>
| <dbfunction_call>


grant_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation grant_statement

<grant_statement> ::=
GRANT <priv_spec>,... TO <grantee>,... [WITH GRANT OPTION]
| GRANT <schema_priv_spec> TO <grantee>,...
| GRANT EXECUTE ON <dbproc_name> TO <grantee>,...
| GRANT EXECUTE ON <dbfunction_name> TO <grantee>,...
| GRANT SELECT ON <sequence_name> TO <grantee>,... [WITH GRANT OPTION]


grant_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation grant_user_statement

< grant_user_statement > ::=
  GRANT USER < granted_users > [FROM < user_name >] TO <user_name>


grant_usergroup_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation grant_usergroup_statement

< grant_usergroup_statement > ::=
  GRANT USERGROUP < granted_usergroups > [FROM < user_name >] TO <user_name>


granted_usergroups (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation granted_usergroups

< granted_usergroups > ::=
  < usergroup_name >,...
| *


granted_users (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation granted_users

< granted_users > ::=
  < user_name >,...
| *


grantee (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation grantee

<grantee> ::=
<user_name>
| <usergroup_name>
| <role_name>
| PUBLIC


group_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation group_clause

<group_clause> ::=
GROUP BY <expression>,...


having_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation having_clause

<having_clause> ::=
HAVING <search_condition>


hex_digit (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation hex_digit

<hex_digit> ::=
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| A | B | C | D | E | F
| a | b | c | d | e | f


hex_digit_seq (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation hex_digit_seq

<hex_digit_seq> ::=
<hex_digit><hex_digit>
| <hex_digit_seq><hex_digit><hex_digit>


hex_literal (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation hex_literal

<hex_literal> ::=
x''
| X''
| x'<hex_digit_seq>'
| X'<hex_digit_seq>'


hours (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation hours

<hours> ::=
<expression>


identifier (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation identifier

< identifier > ::=
  < simple_identifier >
| < double quotes >< special_identifier ><double_quotes>


identifier_tail_character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation identifier_tail_character

<identifier_tail_character> ::=
| <digit>
| <letter>
| <extended_letter>
| <language_specific_character>
| <underscore>


if_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation if_statement

<if_statement> ::=
IF <search_condition> THEN <statement> [ELSE <statement>]


in_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation in_predicate

< in_predicate > ::=
  < expression > [NOT] IN < subquery >
| <expression> [NOT] IN < expression_list >
| <expression_list> [NOT] IN <subquery>
| <expression_list> [NOT] IN (<expression_list>,...)


index_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation index_name

< index_name > ::=
  < identifier >


index_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation index_spec

<index_spec> ::=
  <column_name> [ASC|DESC],...
| <dbfunction_name> (<column_name>,...) [ASC|DESC]


indicator_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation indicator_name

< indicator_name > ::=
  < parameter_name >


initial_select (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation initial_select

< initial_select > ::=
  < query_spec >


insert_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation insert_expression

< insert_expression > ::=
  < extended_expression >
| < subquery >


insert_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation insert_statement

<insert_statement> ::=
INSERT [INTO] <table_name> [(<column_name>,...)]
VALUES (<insert_expression>,...) [<duplicates_clause>] [NOWAIT]
| INSERT [INTO] <table_name> [(<column_name>,...)]
<query_expression> [<duplicates_clause>] [NOWAIT]
| INSERT [INTO] <table_name> SET <set_insert_clause>,... [<duplicates_clause>] [NOWAIT]


integer (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation integer

< integer > ::=
  [ sign ]< unsigned_integer >


join_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation join_predicate

< join_predicate > ::=
  < expression > [< outer_join_indicator >] < comp_op > <expression> [<outer_join_indicator>]


join_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation join_spec

<join_spec> ::=
  ON <search_condition>


joined_table (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation joined_table

<joined_table> ::=
<from_table_spec> CROSS JOIN <from_table_spec>
| <from_table_spec> [INNER] JOIN <from_table_spec> <join_spec>
| <from_table_spec> [LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER]] JOIN
<from_table_spec> <join_spec>


key_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation key_definition

< key_definition > ::
  PRIMARY KEY (< column_name >,...)


key_or_not_null_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation key_or_not_null_spec

< key_or_not_null_spec > ::=
  [PRIMARY] KEY
| NOT NULL [WITH DEFAULT]


key_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation key_spec

< key_spec > ::=
  < column_name > = < value_spec >


key_word (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation key_word

< key_word > ::=
  < not_reserved_key_word >
| < reserved_keyword >


language_specific_character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation language_specific_character

<language_specific_character> ::=
<! <every letter that occurs in a Northern, Central, or Southern European language
and is not included in the <letter> list>
| <for UNICODE-enabled databases: every character that is not included in the ASCII code list from 0 to 127>  !>


letter (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation letter

<letter> ::=
A | B | C | D | E | F | G | H | I | J | K | L | M
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z
| a | b | c | d | e | f | g | h | i | j | k | l | m
| n | o | p | q | r | s | t | u | v | w | x | y | z


like_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation like_expression

< like_expression > ::=
  < expression >
| '< pattern_element >...'


like_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation like_predicate

< like_predicate > ::=
  < expression > [NOT] LIKE < like_expression > [ESCAPE <expression>]


literal (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation literal

< literal > ::=
  < string_literal >
| < numeric_literal >


local_variable (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation local_variable

< local_variable > ::=
  < variable_name > < data_type >


local_variable_list (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation local_variable_list

< local_variable_list > ::=
  < local_variable >
| <local_variable_list>;<local_variable>


local_variables (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation local_variables

< local_variables > ::=
  VAR < local_variable_list >;


lock_option (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation lock_option

< lock_option > ::=
  WITH LOCK [(IGNORE)|(NOWAIT)] [EXCLUSIVE | OPTIMISTIC] [ISOLATION LEVEL < unsigned_integer >]


lock_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation lock_spec

< lock_spec > ::=
  TABLE < table_name >,...
| < row_spec >...
| TABLE <table_name>,... <row_spec>...


lock_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation lock_statement

< lock_statement > ::=
  LOCK [(WAIT)|(NOWAIT)] < lock_spec > IN SHARE MODE
| LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN EXCLUSIVE MODE
| LOCK [(WAIT)|(NOWAIT)] < row_spec >... OPTIMISTIC
| LOCK [(WAIT)|(NOWAIT)] <lock_spec> IN SHARE MODE <lock_spec> IN EXCLUSIVE MODE


mantissa (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation mantissa

<mantissa> ::=
<fixed_point_literal>


mapchar_set_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation mapchar_set_name

< mapchar_set_name > ::=
  < identifier >


match_char (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation match_char

<match_char> ::=
<! every character other than
%
| *
| X'1F'
| <underscore>
| ?
| X'1E'
| ( !>


match_set (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation match_set

<match_set> ::=
<underscore>
| X'1E'
| <match_char>


match_string (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation match_string

<match_string> ::=
  %
| X'1F'


minutes (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation minutes

<minutes> ::=
<expression>


modify_column_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation modify_column_definition

<modify_column_definition> ::=
<column_name> <data_type> <column_attributes>
| <column_name> <data_type>
| <column_name> <column_attributes>


modify_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation modify_definition

<modify_definition> ::=
MODIFY (<modify_column_definition>,...)


monitor_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation monitor_statement

< monitor_statement > ::=
  MONITOR INIT


new_index_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation new_index_name

< new_index_name > ::=
  < index_name >


new_schema_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation new_schema_name

<new_schema_name> ::=
<schema_name>


new_table_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation new_table_name

<new_table_name> ::=
<table_name>


new_user_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation new_user_name

<new_user_name> ::=
<user_name>


new_usergroup_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation new_usergroup_name

<new_usergroup_name> ::=
<usergroup_name>


next_stamp_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation next_stamp_statement

< next_stamp_statement > ::=
  NEXT STAMP [INTO] < parameter_name >


not_reserved_key_word (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation not_reserved_key_word

<not_reserved_key_word> ::=

ADD | ADDRESS | ADD_MONTHS | AFTER | ALTERIN
ANALYZE | AND | ANSI | APPEND | ARCHIVE
AS | ASC | AT | AUTHORIZATION | AUTO
AUTOSAVE |  |  |  |
BACKUP_PAGES | BAD | BEFORE | BEGIN | BEGINLOAD
BEGINPROC | BETWEEN | BLOCK | BLOCKSIZE | BOTH
BREAK | BUFFER | BUFFERPOOL | BWHIERARCHY | BY
CACHE | CACHELIMIT | CACHES | CALL | CANCEL
CASCADE | CATALOG | CATCH | CHECKPOINT | CLEAR
CLOSE | CLUSTER | COMMENT | COMMIT | COMPUTE
CONFIG | CONNECT | CONSTRAINTS | CONTAINER | CONTINUE
COSTLIMIT | COSTWARNING | CREATE | CREATEIN | CURRENT_DATE
CURRENT_SCHEMA | CURRENT_TIME | CURRENT_TIMESTAMP | CURRVAL | CURSOR
CYCLE |  |  |  |
DATA | DAYS | DB2 | DBA | DBPROC
DBPROCEDURE | DB_ABOVE_LIMIT | DB_BELOW_LIMIT | DEBUG | DECLARE
DEFAULTCODE | DEGREE | DESC | DESCRIBE | DEVICE
DIAGNOSE | DIMENSION | DISABLE | DIV | DO
DOMAIN | DROP | DROPIN | DSETPASS | DUPLICATES
DYNAMIC |  |  |  |
EDITPROC | ELSE | ENABLE | END | ENDLOAD
ENDPROC | ERROR | ESCAPE | ESTIMATE | EUR
EVENT | EXCLUSIVE | EXECUTE | EXPLAIN | EXPLICIT
EXTENDED |  |  |  |
FACT | FALSE | FETCH | FILE | FLUSH
FORCE | FOREIGN | FORMAT | FREEPAGE | FUNCTION
FVERSION |  |  |  |
GET | GRANT |  |  |
HIGH | HOLD | HOURS |  |
IDENTIFIED | IF | IMPLICIT | IN | INCREMENT
INDEXNAME | INDICATOR | INFO | INIT | INITRANS
INOUT | INPROC | INSTANCE | INSTR | IS
ISO | ISOLATION |  |  |
JAVA | JIS |  |  |
LABEL | LANGUAGE | LAST_DAY | LEVEL | LIKE
LOAD | LOCAL | LOCK | LOGFULL | LOGWRITER
LOG_ABOVE_LIMIT | LOW |  |  |
MAXTRANS | MAXVALUE | MEDIANAME | MEDIUM | MICROSECONDS
MIGRATE | MINUS | MINUTES | MINVALUE | MODE
MODIFY | MONITOR | MONTHS | MONTHS_BETWEEN |
NAME | NEW | NEW_TIME | NEXTVAL | NEXT_DAY
NLSSORT | NLS_DATE_FORMAT | NLS_DATE_LANGUAGE | NLS_LANGUAGE | NLS_SORT
NOCACHE | NOCYCLE | NOLOG | NOMAXVALUE | NOMINVALUE
NONE | NOORDER | NOREWIND | NORMAL | NOSORT
NOWAIT | NUMBER | NVL |  |
OBID | OFF | ONLY | OPEN | OPTIMISTIC
OPTIMIZE | OPTION | OR | ORACLE | OUT
OUTER | OVERWRITE |  |  |
PACKAGE | PAGE | PAGES | PARAM | PARSE
PARSEID | PASSWORD | PCTFREE | PCTUSED | PERCENT
PING | PIPE | POS | PRECISION | PREPARE
PRIV | PRIVILEGES | PROC | PROCEDURE | PSM
PUBLIC |  |  |  |
QUICK |  |  |  |
RANGE | RAW | RAWTOHEX | READ | RECURSIVE
REFERENCES | REGISTER | RELEASE | REMOTE | REMOVE
RENAME | REPLICATION | RESOURCE | RESTART | RESTORE
RESTRICT | RESUME | RETURN | RETURNS | REUSE
REVOKE | ROLE | ROLLBACK | ROW | ROWNUM
ROWS |  |  |  |
SAME | SAMPLE | SAPR3 | SAVE | SAVEPOINT
SCHEMA | SECONDS | SELECTIVITY | SEQUENCE | SERVERDB
SESSION | SHARE | SHUTDOWN | SNAPSHOT | SOUNDS
SQLID | SQLMODE | STANDARD | STANDBY | START
STARTPOS | STAT | STATE | STATIC | STOP
STORAGE | SUBPAGES | SUBTRANS | SUSPEND | SWITCH
SYNCHRONIZE | SYNONYM | SYSDATE |  |
TABID | TABLESPACE | TAKEOVER | TAPE | TEMP
THEN | TIMEOUT | TOPIC | TO_CHAR | TO_DATE
TO_NUMBER | TRACE | TRIGGER | TRUE | TRY
TYPE |  |  |  |
UNIQUE | UNKNOWN | UNLOAD | UNLOCK | UNTIL
UNUSED | USA | USAGE | USERID |
VALIDPROC | VARCHAR2 | VERIFY | VERSION | VIEW
VOLUME | VSIZE | VTRACE |  |
WAIT | WHENEVER | WHILE | WORK | WRITE
WRITER |  |  |  |
YEARS |  |  |  |


null_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation null_predicate

< null_predicate > ::=
  < expression > IS [NOT] NULL


numeric_literal (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation numeric_literal

<numeric_literal> ::=
<fixed_point_literal>
| <floating_point_literal>


object_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation object_spec

< object_spec > ::=
  COLUMN < table_name >.< column_name >
| DBPROC[EDURE] < dbproc_name >
| DOMAIN < domain_name >
| FOREIGN KEY <table_name>.< referential_constraint_name >
| INDEX < index_name > ON <table_name>
| SEQUENCE < sequence_name >
| [PUBLIC] SYNONYM < synonym_name >
| TABLE <table_name>
| TRIGGER < trigger_name >.<table_name>
| USER < user_name >
| USERGROUP < usergroup_name >
| < parameter_name >


old_index_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation old_index_name

< old_index_name > ::=
  < index_name >


old_table_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation old_table_name

< old_table_name > ::=
  < table_name >


order_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation order_clause

< order_clause > ::=
  ORDER BY < sort_spec >,...


outer_join_indicator (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation outer_join_indicator

<outer_join_indicator> ::=
(+)


parameter_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation parameter_name

<parameter_name> ::=
:<identifier>
| ?


parameter_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation parameter_spec

< parameter_spec > ::=
  < parameter_name > [< indicator_name >]


password (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation password

< password > ::=
  < identifier >
| < first_password_character >[< identifier_tail_character >...]


pattern_element (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation pattern_element

<pattern_element> ::=
<match_string>
| <match_set>


position (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation position

< position > ::=
  POS (< unsigned_integer >)
| POS (< parameter_spec >)
| ABSOLUTE < integer >
| ABSOLUTE <parameter_spec>
| RELATIVE <integer>
| RELATIVE <parameter_spec>


predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation predicate

< predicate > ::=
  < between_predicate >
| < bool_predicate >
| < comparison_predicate >
| < default_predicate >
| < exists_predicate >
| < in_predicate >
| < join_predicate >
| < like_predicate >
| < null_predicate >
| < quantified_predicate >
| < rowno_predicate >
| < sound_predicate >


priv_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation priv_spec

< priv_spec > ::=
  ALL [PRIV[ILEGES]] ON [TABLE] < table_name >,...
| < privilege >,... ON [TABLE] <table_name>,...
| < role_name >


privilege (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation privilege

<privilege> ::=
INSERT
| UPDATE [(<column_name>,...)]
| SELECT [(<column_name>,...)]
| SELUPD [(<column_name>,...)]
| DELETE
| INDEX
| ALTER
| REFERENCES [(<column_name>,...)]


quantified_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation quantified_predicate

< quantified_predicate > ::=
  < expression > < comp_op > < quantifier > < expression_list >
| <expression> <comp_op> <quantifier> < subquery >
| <expression_list> < equal_or_not > <quantifier> (<expression_list>,...)
| <expression_list> <equal_or_not> <quantifier> <subquery>


quantifier (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation quantifier

<quantifier> ::=
ALL
| SOME
| ANY


query_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation query_expression

< query_expression > ::=
  < query_term >
| <query_expression> UNION [ALL] <query_term>
| <query_expression> EXCEPT [ALL] <query_term>


query_primary (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation query_primary

<query_primary> ::=
<query_spec>
| (<query_expression>)


query_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation query_spec

<query_spec> ::=
SELECT [<distinct_spec>] <select_column>,... <table_expression>


query_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation query_statement

<query_statement> ::=
<declare_cursor_statement>
| <recursive_declare_cursor_statement>
| <select_statement>


query_term (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation query_term

<query_term> ::=
<query_primary>
| <query_term> INTERSECT [ALL] <query_primary>


recursive_declare_cursor_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation recursive_declare_cursor_statement

< recursive_declare_cursor_statement > ::=
  DECLARE < result_table_name > CURSOR FOR WITH RECURSIVE < reference_name >
    (< alias_name >,...) AS (< initial_select > UNION ALL < recursive_select >) < final_select >


recursive_select (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation recursive_select

< recursive_select > ::=
  < query_spec >


reference_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation reference_name

< reference_name > ::=
  < identifier >


referenced_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation referenced_column

< referenced_column > ::=
  < column_name >


referenced_table (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation referenced_table

< referenced_table > ::=
  < table_name >


referencing_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation referencing_column

< referencing_column > ::=
  < column_name >


referential_constraint_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation referential_constraint_definition

< referential_constraint_definition > ::=
  FOREIGN KEY [< referential_constraint_name >] (< referencing_column >,...)
    REFERENCES < referenced_table > [(< referenced_column >,...)] [< delete_rule >]


referential_constraint_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation referential_constraint_name

< referential_constraint_name > ::=
  < identifier >


regular_token (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation regular_token

<regular_token> ::=
<literal>
| <key_word>
| <identifier>
| <parameter_name>


release_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation release_statement

< release_statement > ::=
  COMMIT [WORK] RELEASE
| ROLLBACK [WORK] RELEASE


rename_column_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_column_statement

< rename_column_statement > ::=
  RENAME COLUMN < table_name >.< column_name > TO <column_name>


rename_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_index_statement

< rename_index_statement > ::=
  RENAME INDEX < old_index_name > [ON < table_name >] TO < new_index_name >


rename_schema_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_schema_statement

<rename_schema_statement> ::=
RENAME SCHEMA <schema_name> TO <new_schema_name>


rename_synonym_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_synonym_statement

< rename_synonym_statement > ::=
  RENAME [PUBLIC] SYNONYM <old_ synonym_name > TO <new_synonym_name>


rename_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_table_statement

< rename_table_statement > ::=
  RENAME TABLE < old_table_name > TO < new_table_name >


rename_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_user_statement

<rename_user_statement> ::=
RENAME USER <user_name> TO <new_user_name>


rename_usergroup_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_usergroup_statement

<rename_usergroup_statement> ::=
RENAME USERGROUP <usergroup_name> TO <new_usergroup_name>


rename_view_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rename_view_statement

< rename_view_statement > ::=
  RENAME VIEW < old_table_name > TO < new_table_name >


reserved_key_word (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation reserved_key_word

<reserved_key_word> ::=

ABS | ABSOLUTE | ACOS | ADDDATE | ADDTIME
ALL | ALPHA | ALTER | ANY | ASCII
ASIN | ATAN | ATAN2 | AVG |
BINARY | BIT | BOOLEAN | BYTE |
CASE | CEIL | CEILING | CHAR | CHARACTER
CHECK | CHR | COLUMN | CONCAT | CONSTRAINT
COS | COSH | COT | COUNT | CROSS
CURDATE | CURRENT | CURTIME |  |
DATABASE | DATE | DATEDIFF | DAY | DAYNAME
DAYOFMONTH | DAYOFWEEK | DAYOFYEAR | DEC | DECIMAL
DECODE | DEFAULT | DEGREES | DELETE | DIGITS
DISTINCT | DOUBLE |  |  |
EXCEPT | EXISTS | EXP | EXPAND |
FIRST | FIXED | FLOAT | FLOOR | FOR
FROM | FULL |  |  |
GET_OBJECTNAME | GET_SCHEMA | GRAPHIC | GREATEST | GROUP
HAVING | HEX | HEXTORAW | HOUR |
IFNULL | IGNORE | INDEX | INITCAP | INNER
INSERT | INT | INTEGER | INTERNAL | INTERSECT
INTO |  |  |  |
JOIN |  |  |  |
KEY |  |  |  |
LAST | LCASE | LEAST | LEFT | LENGTH
LFILL | LIST | LN | LOCATE | LOG
LOG10 | LONG | LONGFILE | LOWER | LPAD
LTRIM |  |  |  |
MAKEDATE | MAKETIME | MAPCHAR | MAX | MBCS
MICROSECOND | MIN | MINUTE | MOD | MONTH
MONTHNAME |  |  |  |
NATURAL | NCHAR | NEXT | NO | NOROUND
NOT | NOW | NULL | NUM | NUMERIC
OBJECT | OF | ON | ORDER |
PACKED | PI | POWER | PREV | PRIMARY
RADIANS | REAL | REJECT | RELATIVE | REPLACE
RFILL | RIGHT | ROUND | ROWID | ROWNO
RPAD | RTRIM |  |  |
SECOND | SELECT | SELUPD | SERIAL | SET
SHOW | SIGN | SIN | SINH | SMALLINT
SOME | SOUNDEX | SPACE | SQRT | STAMP
STATISTICS | STDDEV | SUBDATE | SUBSTR | SUBSTRING
SUBTIME | SUM | SYSDBA |  |
TABLE | TAN | TANH | TIME | TIMEDIFF
TIMESTAMP | TIMEZONE | TO | TOIDENTIFIER | TRANSACTION
TRANSLATE | TRIM | TRUNC | TRUNCATE |
UCASE | UID | UNICODE | UNION | UPDATE
UPPER | USER | USERGROUP | USING | UTCDATE
UTCDIFF |  |  |  |
VALUE | VALUES | VARCHAR | VARGRAPHIC | VARIANCE
WEEK | WEEKOFYEAR | WHEN | WHERE | WITH
YEAR |  |  |  |
ZONED |  |  |  |


result_column_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation result_column_name

< result_column_name > ::=
  < identifier >


result_table_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation result_table_name

< result_table_name > ::=
  < identifier >


revoke_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation revoke_statement

<revoke_statement> ::=
REVOKE <priv_spec>,... FROM <grantee>,... [<cascade_option>]
| REVOKE <schema_priv_spec> FROM <grantee>,...
| REVOKE EXECUTE ON <dbproc_name> FROM <grantee>,...
| REVOKE EXECUTE ON <dbfunction_name> FROM <grantee>,...
| REVOKE SELECT ON <sequence_name> FROM <grantee>,... [<cascade_option>]


role_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation role_name

< role_name > ::=
  < identifier >


rollback_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rollback_statement

< rollback_statement > ::=
  ROLLBACK [WORK]


rollback_to_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rollback_to_statement

<rollback_to_statement> ::=
ROLLBACK TO [SAVEPOINT] <sql_savepoint_name>


routine (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation routine

< routine > ::=
  [< local_variables >] < statement_list >;


routine_sql_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation routine_sql_statement

<routine_sql_statement> ::=
<call_statement>
| <close_statement>
| <create_table_temp>
| <declare_cursor_statement>
| <delete_statement>
| <drop_table_temp>
| <fetch_statement>
| <insert_statement>
| <lock_statement>
| <recursive_declare_cursor_statement>
| <select_statement>
| <single_select_statement>
| <subtrans_statement>
| <update_statement>


row_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation row_spec

<row_spec> ::=
ROW <table_name> KEY <key_spec>,...
| ROW <table_name> CURRENT OF <result_table_name>


rowno_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rowno_column

<rowno_column> ::=
ROWNO [ [AS] <result_column_name>]


rowno_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation rowno_predicate

< rowno_predicate > ::=
  ROWNO < < unsigned_integer >
| ROWNO < < parameter_spec >
| ROWNO <= < unsigned_integer >
| ROWNO <= < parameter_spec >


sample_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sample_definition

< sample_definition > ::=
  SAMPLE < unsigned_integer > ROWS
| SAMPLE <unsigned_integer> PERCENT


savepoint_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation savepoint_statement

<savepoint_statement> ::=
SAVEPOINT <sql_savepoint_name>


scalar_subquery (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation scalar_subquery

<scalar_subquery> ::=
<subquery>


schema_authorization_identifier (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_authorization_identifier

<schema_authorization_identifier> ::=
<identifier>


schema_element (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_element

<schema_element> ::=
<create_table_statement>
| <create_view_statement>
| <create_dbproc_statement>
| <create_function_statement>
| <create_sequence_statement>


schema_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_name

<schema_name> ::=
<identifier>


schema_name_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_name_clause

<schema_name_clause> ::=
<schema_name>
| <schema_name> AUTHORIZATION <schema_authorization_identifier>


schema_priv_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_priv_spec

<schema_priv_spec> ::=
<schema_privilege> ON <schema_name>,...


schema_privilege (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_privilege

<schema_privilege> ::=
CREATEIN
| DROPIN


search_and_result_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation search_and_result_spec

< search_and_result_spec > ::=
  <search_ expression >, <result_expression>


search_condition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation search_condition

< search_condition > ::=
  < boolean_term >
| <search_condition> OR <boolean_term>


searched_case_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation searched_case_function

< searched_case_function > ::=
  WHEN < search_condition > THEN <result_ expression >
    [...]
  [ELSE <default_expression>]
END


searched_case_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation searched_case_statement

< searched_case_statement > ::=
  CASE
    < searched_case_when_clause >…
    [< case_else_clause >]
  END [CASE]


searched_case_when_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation searched_case_when_clause

<searched_case_when_clause> ::=
WHEN <search_condition> THEN <statement>;


seconds (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation seconds

<seconds> ::=
<expression>


select_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation select_column

< select_column > ::=
  < table_columns >
| < derived_column >
| < rowno_column >
| < stamp_column >


select_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation select_statement

< select_statement > ::=
  < query_expression > [< order_clause >] [< update_clause >] [< lock_option >]
    [FOR REUSE]


sequence_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sequence_name

< sequence_name > ::=
  < identifier >


set_function_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_function_name

<set_function_name> ::=
AVG
| COUNT
| MAX
| MIN
| STDDEV
| SUM
| VARIANCE


set_function_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_function_spec

< set_function_spec > ::=
  COUNT (*)
| < distinct_function >
| < all_function >


set_insert_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_insert_clause

<set_insert_clause> ::=
<column_name> = <extended_value_spec>


set_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_statement

<set_statement> ::=
SET ROLE ALL [EXCEPT <role_name>,...]
| SET ROLE NONE
| SET ROLE <role_name>,... [IDENTIFIED BY <password>]
| SET ISOLATION LEVEL <unsigned_integer>
| SET CURRENT_SCHEMA = <schema_name>


set_update_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_update_clause

<set_update_clause> ::=
<column_name> = <extended_expression>
| <column_name>,... = (<extended_expression>,...)
| (<column_name>,...) = (<extended_expression>,...)
| <column_name> = <subquery>
| (<column_name>,...) = <subquery>


sign (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sign

<sign> ::=
+
| -


simple_case_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation simple_case_function

<simple_case_function> ::=
  CASE <check_expression>
    WHEN <search_expression> THEN <result_expression>
      [...]
    [ELSE <default_expression>]
  END


simple_case_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation simple_case_statement

< simple_case_statement > ::=
  CASE < expression >
    < simple_case_when_clause >...
    [< case_else_clause >]
  END [CASE]


simple_case_when_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation simple_case_when_clause

<simple_case_when_clause> ::=
  WHEN <literal>[, ...] THEN <statement>;


simple_identifier (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation simple_identifier

<simple_identifier> ::=
<first_character>[<identifier_tail_character>...]


single_select_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation single_select_statement

< single_select_statement > ::=
  SELECT [< distinct_spec >] < select_column >,... INTO < parameter_spec >,...
    FROM < from_table_spec >,...[< where_clause >] [< group_clause >]
    [< having_clause >] [< lock_option >]


sort_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sort_spec

< sort_spec > ::=
  < unsigned_integer > [ASC | DESC]
| < expression > [ASC | DESC]


sound_predicate (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sound_predicate

< sound_predicate > ::=
  < expression > [NOT] SOUNDS [LIKE] <expression>


source_user (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation source_user

< source_user > ::=
  < user_name >


special_character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation special_character

<special_character> ::=
  <!  Every character except
    <digit>
  | <letter>
  | <extended_letter>
  | <hex_digit>
  | <language_specific_character>
  | <character for the end of a line in a file> !>


special_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation special_function

<special_function> ::=
<case_function>
| DECODE (<check_expression>,<search_and_result_spec>,...[,<default_expression>])
| GREATEST (<expression>,<expression>,...)
| LEAST (<expression>,<expression>,...)
| VALUE (<expression>,<expression>,...)


special_identifier (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation special_identifier

<special_identifier> ::=
<special_identifier_character>...


special_identifier_character (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation special_identifier_character

<special_identifier_character> ::=
Any character


sql_comment (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sql_comment

<sql_comment> ::=
/*<sql_comment_text>*/
| --<sql_comment_text>


sql_comment_text (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sql_comment_text

<sql_comment_text> ::=
<! <Kommentartext> !>


sql_savepoint_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sql_savepoint_name

<sql_savepoint_name> ::=
<identifier>


sql_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sql_statement

<sql_statement> ::=
<alter_index_statement>
| <alter_password_statement>
| <alter_table_statement>
| <alter_user_statement>
| <alter_usergroup_statement>
| <call_statement>
| <close_statement>
| <comment_on_statement>
| <commit_statement>
| <connect_statement>
| <create_dbproc_statement>
| <create_domain_statement>
| <create_function_statement>
| <create_index_statement>
| <create_role_statement>
| <create_schema_statement>
| <create_sequence_statement>
| <create_synonym_statement>
| <create_table_statement>
| <create_trigger_statement>
| <create_user_statement>
| <create_usergroup_statement>
| <create_view_statement>
| <delete_statement>
| <drop_dbproc_statement>
| <drop_domain_statement>
| <drop_function_statement>
| <drop_index_statement>
| <drop_role_statement>
| <drop_schema_statement>
| <drop_sequence_statement>
| <drop_synonym_statement>
| <drop_table_statement>
| <drop_trigger_statement>
| <drop_user_statement>
| <drop_usergroup_statement>
| <drop_view_statement>
| <exists_table_statement>
| <explain_statement>
| <fetch_statement>
| <grant_statement>
| <grant_user_statement>
| <grant_usergroup_statement>
| <insert_statement>
| <lock_statement>
| <monitor_statement>
| <next_stamp_statement>
| <query_statement>
| <release_statement>
| <rename_column_statement>
| <rename_index_statement>
| <rename_schema_statement>
| <rename_synonym_statement>
| <rename_table_statement>
| <rename_user_statement>
| <rename_usergroup_statement>
| <rename_view_statement>
| <revoke_statement>
| <rollback_statement>
| <rollback_to_statement>
| <savepoint_statement>
| <set_statement>
| <single_select_statement>
| <subtrans_statement>
| <unlock_statement>
| <update_statement>
| <update_statistics_statement>


stamp_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation stamp_column

<select_column> ::=
STAMP [ [AS] <result_column_name>]


statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation statement

<statement> ::=
BEGIN <statement_list> END
| BREAK
| CONTINUE
| CONTINUE EXECUTE
| <if_statement>
| <while_statement>
| <assignment_statement>
| <case_statement>
| <RETURN> [<expression>]
| STOP (<expression> [,<expression>] )
| TRY <statement_list>; CATCH <statement>
| <routine_sql_statement>


statement_list (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation statement_list

<statement_list> ::=
<statement>
| <statement_list> ; <statement>


string_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation string_function

<string_function> ::=
  <string_spec> || <string_spec>
| <string_spec> & <string_spec>
| ALPHA (<string_spec>[,<unsigned_integer>])
| ASCII (<string_spec>)
| EXPAND (<string_spec>,<unsigned_integer>)
| GET_OBJECTNAME (<string_literal>)
| GET_SCHEMA (<string_literal>)
| INITCAP (<string_spec>)
| LFILL (<string_spec>,<string_literal>[,<unsigned_integer>])
| LOWER (<string_spec>)
| LPAD (<string_spec>,<expression>,<string_literal>[,<unsigned_integer>])
| LTRIM (<string_spec>[,<string_spec>])
| MAPCHAR (<string_spec>[,<unsigned_integer>][,<mapchar_set_name>])
| REPLACE (<string_spec>,<string_spec>[,<string_spec>])
| RFILL (<string_spec>,<string_literal>[,<unsigned_integer>])
| RPAD (<string_spec>,<expression>,<string_literal>[,<unsigned_integer>])
| RTRIM (<string_spec>[,<string_spec>])
| SOUNDEX (<string_spec>)
| SUBSTR (<string_spec>,<expression>[,<expression>])
| TRANSLATE (<string_spec>,<string_spec>,<string_spec>)
| TRIM (<string_spec>[,<string_spec>])
| UPPER (<string_spec>)


string_literal (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation string_literal

<string_literal> ::=
''
| '<character>...'
| <hex_literal>


string_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation string_spec

<string_spec> ::=
  <expression>


subquery (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation subquery

< subquery > ::=
  (< query_expression >)


subtrans_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation subtrans_statement

< subtrans_statement > ::=
  SUBTRANS BEGIN
| SUBTRANS END
| SUBTRANS ROLLBACK


synonym_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation synonym_name

< synonym_name > ::=
  < identifier >


table_columns (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation table_columns

< table_columns > ::=
  *
| < table_name >.*
| < reference_name >.*


table_description_element (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation table_description_element

< table_description_element > ::=
  < column_definition >
| < constraint_definition >
| < referential_constraint_definition >
| < key_definition >
| < unique_definition >


table_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation table_expression

< table_expression > ::=
  < from_clause > [< where_clause >] [< group_clause >] [< having_clause >]


table_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation table_name

<table_name> ::=
[<schema_name>.]<identifier>


term (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation term

< term > ::=
  < factor >
| <term> * <factor>
| <term> / <factor>
| <term> DIV <factor>
| <term> MOD <factor>


time_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation time_expression

<time_expression> ::=
<expression>


time_or_timestamp_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation time_or_timestamp_expression

<time_or_timestamp_expression> ::=
<expression>


time_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation time_function

< time_function > ::=
  ADDTIME ( < time_or_timestamp_expression >, < time_expression > )
| SUBTIME ( <time_or_timestamp_expression>, <time_expression> )
| TIMEDIFF ( <time_or_timestamp_expression>, <time_or_timestamp_expression> )
| MAKETIME ( < hours >, < minutes >, < seconds > )


token (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation token

<token> ::=
<regular_token>
| <delimiter_token>


trigger_event (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation trigger_event

<trigger_event> :: =
INSERT
| UPDATE [(<column_list>)]
| DELETE


trigger_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation trigger_name

< trigger_name > ::=
  < identifier >


trigonometric_function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation trigonometric_function

< trigonometric_function > ::=
  COS ( < expression > )
| SIN ( <expression> )
| TAN ( <expression> )
| COT ( <expression> )
| COSH ( <expression> )
| SINH ( <expression> )
| TANH ( <expression> )
| ACOS ( <expression> )
| ASIN ( <expression> )
| ATAN ( <expression> )
| ATAN2 ( <expression>, <expression> )
| RADIANS ( <expression> )
| DEGREES ( <expression> )


underscore (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation underscore

<underscore> ::=
_


unique_definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation unique_definition

< unique_definition > ::=
  [CONSTRAINT < index_name >] UNIQUE (< column_name >,...)


unlock_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation unlock_statement

< unlock_statement > ::=
  UNLOCK < row_spec >... IN SHARE MODE
| UNLOCK <row_spec>... IN EXCLUSIVE MODE
| UNLOCK <row_spec>... IN SHARE MODE <row_spec>... IN EXCLUSIVE MODE
| UNLOCK <row_spec>... OPTIMISTIC


unsigned_integer (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation unsigned_integer

< unsigned_integer > ::=
  < numeric_literal >


update_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation update_clause

<update_clause> ::=
  FOR UPDATE [OF <column_name>,...] [NOWAIT]


update_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation update_statement

<update_statement> ::=
UPDATE [OF] <table_name> [<reference_name>] SET <set_update_clause>,...
[KEY <key_spec>,...] [WHERE <search_condition>] [NOWAIT] [IGNORE TRIGGER]
| UPDATE [OF] <table_name> [<reference_name>] (<column_name>,...)
VALUES (<extended_value_spec>,...) [KEY <key_spec>,...]
[WHERE <search_condition>] [NOWAIT] [IGNORE TRIGGER]
| UPDATE [OF] <table_name> [<reference_name>] SET <set_update_clause>,...
WHERE CURRENT OF <result_table_name> [NOWAIT]
| UPDATE [OF] <table_name> [<reference_name>] (<column_name>,...)
VALUES (<extended_value_spec>,...) WHERE CURRENT OF <result_table_name> [NOWAIT]


update_statistics_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation update_statistics_statement

<update_statistics_statement> ::=
UPDATE STAT[ISTICS] COLUMN <table_name>.<column_name>
[ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] COLUMN (<column_name>,...) FOR <table_name>
[ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] COLUMN (*) FOR <table_name>
[ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] <table_name> [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] [<schema_name>.][<identifier>]* [ESTIMATE [<sample_definition>]]
| UPDATE STAT[ISTICS] AS PER SYSTEM TABLE


user_mode (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation user_mode

<user_mode> ::=
DBA
| RESOURCE
| STANDARD


user_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation user_name

< user_name > ::=
  < identifier >


usergroup_mode (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation usergroup_mode

<usergroup_mode> ::=
RESOURCE
| STANDARD


usergroup_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation usergroup_name

< usergroup_name > ::=
  < identifier >


value_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation value_spec

<value_spec> ::=
<literal>
| <parameter_spec>
| NULL
| USER
| USERGROUP
| SYSDBA
| CURRENT_SCHEMA
| UID
| [<schema_name>.]<sequence_name>.NEXTVAL
| [<schema_name>.]<sequence_name>.CURRVAL
| <table_name>.CURRVAL
| DATE
| TIME
| TIMESTAMP
| UTCDATE
| TIMEZONE
| UTCDIFF
| TRUE
| FALSE
| TRANSACTION


variable_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation variable_name

<variable_name> ::=
<identifier>


where_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation where_clause

<where_clause> ::=
WHERE <search_condition>


while_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation while_statement

<while_statement> ::=
WHILE <search_condition> DO <statement>


Syntax Notation (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Syntax Notation

This documentation uses the BNF syntax notation with the following conventions:

 | Explanation
KEYWORDS | Keywords are shown in uppercase letters for the sake of clarity. They can be entered in uppercase or lowercase letters.
<xyz> | Terms in angle brackets are placeholders for syntactical units explained in this document. Do not use angle brackets when entering an SQL statement.
<! Text !> | Texts enclosed in angled brackets and exclamation points indicate that the syntactical unit is explained by means of a text. Do not use angled brackets and exclamation points when entering an SQL statement.
clause ::= rule | Clauses are the building blocks of SQL statements. Rules describe how these building blocks are put together to form more complex clauses and also dictate the notation that is used.
clause1 clause2 | The two clauses are written one after the other, separated by at least one blank.
[clause] | Optional clause. This clause can be ignored. Do not use square brackets when entering an SQL statement.
Clause1 | clause2 | ... | clausen | Alternative clauses. You can use exactly one of these clauses.
Clause,... | The clause can be repeated as often as required. The individual repetitions must be written one after the other and separated by a comma and any number of blanks.
Clause... | The clause can be repeated as often as required. The individual repetitions must be written one immediately after the other and separated by spaces.


Syntax Changes (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Syntax Changes

Some syntax changes have been introduced in the transition from database version 7.5 to version 7.6. The most significant changes are listed below.

SQL Statement in Version 7.6

Change in Version 7.6 as Compared to Version 7.5

create_user_statement
alter_user_statement

The optional syntax element connect_mode is supported.

create_dbproc_statement
drop_dbproc_statement

Use of the keywords DBPROC and DBPROCEDURE is allowed.

create_function_statement
drop_function_statement

The optional syntax element PUBLIC and/or DETERMINISTIC is supported.

create_schema_statement
drop_schema_statement
rename_schema_statement

The use of schemas is supported.

The introduction of the schema concept brought syntax changes to several other SQL statements not individually listed here. For many of the object identifiers for which previously an owner was specified, now a schema is specified instead.

create_system_trigger_statement
drop_system_trigger_statement

The use of system triggers is supported.

create_table_statement

The optional syntax element NO FIXED LENGTH COLUMN is no longer supported.

delete_statement
insert_statement

The optional syntax element NOWAIT is supported.

grant_statement
revoke_statement

The syntax variant required for using schemas has been added in each case.

parameter_name

For specifying a parameter name, only the two variants :<identifier> and ? are supported; the other options have been eliminated.

savepoint_statement
rollback_to_statement

The setting and use of SQL savepoints is supported.

select_column

The syntax variants <result_column_name> = <expression>, <result_column_name> = ROWNO and <result_column_name> = STAMP are no longer supported.

set_statement

The syntax variant required for using schemas has been added.

update_statement

The optional syntax elements NOWAIT and/or IGNORE TRIGGER are supported.

update_statistics

The syntax variant UPDATE STATISTICS AS PER SYSTEM TABLE is supported.

GET_OWNER(x,o)
GET_SCHEMA(x,o)

The string function GET_OWNER(x,o) has been renamed GET_SCHEMA(x,o).

named_query_expression
named_query_primary
named_query_spec
named_query_term

All SQL statements and syntax elements in this area are no longer supported.

open_cursor_statement

The SQL statement open_cursor_statement is no longer supported.

See also:

Syntax Directory


System Tables (SAP Library - MaxDB Library)

 Entering content frame

Component documentation System Tables

The database system contains a series of system tables with information about database objects and their connection to each other, statistics system tables, monitor system tables and loader system tables.

The following information describes how to evaluate the system tables.

· When you specify SELECT statements for the system tables, you have to bear in mind some general information.

· To find out which system table contains information for a particular database term, consult the list of database terms.

· To find out which information a particular system table can provide, see the examples of SELECT statements in the section on Evaluating System Tables.

The examples make use of the database objects and data of the HOTEL Demo Schema for the SQL Tutorial.

· For a complete definition of some of the most important system tables, see Definition of the System Tables.


General Notes (SAP Library - MaxDB Library)

 Entering content frame

Background documentation General Notes

If you want to evaluate system tables, note the following information:

· When system tables are evaluated, the system only outputs information for objects of which the current user is the owner, or for which the user has at least some privilege (the user therefore knows the object). This authorization concept may mean that the table definition visible for the current user differs from the actual definition.
The definition of a view table is only visible for the owner of the view table.

· When you query the system table(s), you should enter conditions that describe the required object as precisely as possible. Entering the object owner considerably speeds up the search for the relevant information.

· When you specify search commands, you should specify equivalence conditions where possible. Specifying LIKE conditions is less effective.

· For performance reasons, when you query information from system tables, you should use not only the SQL statement SELECT * but also limit the number of output columns to those columns that you actually require.
When you query statistical information from system tables, in particular, additional actions are performed to determine column values in the database system when certain output columns are requested. As a result, you should only have the system determine this column information if you really need it.

· Simple identifiers are always created in the database instance in upper-case letters, irrespective of how they were entered when the data was defined.
If you use simple identifiers in a search condition, you must enter the single quotes that are typical for specifying literals.
For performance reasons, the simple identifier should not be converted to upper-case letters by the database system when the SQL statement is executed; you should enter the simple identifier directly in upper-case letters in the search condition.

CREATE TABLE mytab (…)
SELECT … FROM … WHERE … = 'MYTAB'

· Special identifiers are always specified in double quotes in the data definition. In the database instance, these are stored as they were entered, that is, they are not converted to upper-case letters.
If you use special identifiers in a search condition, you must enter the single quotes that are typical for specifying literals.

CREATE TABLE "this is mytab" (…)
SELECT … FROM … WHERE … = 'this is mytab'

See also:

Identifier (identifier)


Database Terms (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Terms

To determine information about your database system, its objects, structures, status information, and so on, you have to evaluate the relevant system tables.

A list of database terms and references to the system tables that can provide the information on the terms is provided below. The terms are listed in alphabetical order.

 | Term | Explanation |  | System table
B | User | defined current |  | USERS SESSIONS
 | Operating System | of the database instance |  | VERSION
C | Char set (character set) | MapChar set |  | MAPCHARSETS
 | Column | definition, domain, default value primary key privilege indexed in the referential constraint of a table in view table |  | COLUMNS INDEXCOLUMNS FOREIGNKEYCOLUMNS VIEWCOLUMNS
 | Constraint | NOT NULL columns primary key on a column or table on a domain referential UNIQUE |  | COLUMNS CONSTRAINTS DOMAINCONSTRAINTS FOREIGNKEYS INDEXES
D | Database instance | of the current database session information |  | USERS INSTANCE
 | Database parameters | currently valid |  | ACTIVECONFIGURATION
 | Database procedure | name and other information parameters |  | DBPROCEDURES DBPROCPARAMS
 | Database session | your own and all active roles active in the database session |  | SESSIONS SESSION_ROLES
 | Default value | for a column for a domain for a role |  | COLUMNS DOMAINS ROLES
 | Domain | name and other information constraint for column definition |  | DOMAINS DOMAINCONSTRAINTS COLUMNS
E | Result table | Existence |  | TABLES
F | Foreign key (referential constraint) | name and other information columns |  | FOREIGNKEYS FOREIGNKEYCOLUMNS
I | Identification | internal identification of a table internal identification of a user |  | TABLES USERS
 | Isolation level | of the current database session |  | SESSIONS
L | Lock | currently requested |  | LOCKS LOCK_WAITS
 | Log Area | Utilization |  | LOGSTATISTICS
 | Log Queue | ID and other information |  | LOGQUEUESTATISTICS
M | MapChar set | name and other information |  | MAPCHARSETS
 | Migration (Upgrade) | log |  | POSTUPGRADECHECKLIST
P | Parameter | of a database procedure database parameter |  | DBPROCPARAMS ACTIVECONFIGURATION
 | Privilege | of a role of a column of a schema of a table | ROLEPRIVILEGES COLUMNS SCHEMAPRIVILEGES TABLES TABLEPRIVILEGES
R | Computer | Name Utilization |  | USERS MACHINEUTILIZATION
 | Referential constraint | name and other information columns |  | FOREIGNKEYS FOREIGNKEYCOLUMNS
 | Release (version) | database software |  | VERSION
 | Role | name and other information privileges active in the database session |  | ROLES ROLEPRIVILEGES SESSION_ROLES
S | Schema | name and other information privileges |  | SCHEMAS SCHEMAPRIVILEGES
 | Key | primary key secondary key foreign key (referential constraint) |  | COLUMNS FOREIGNKEYCOLUMNS FOREIGNKEYS
 | Sequence | current value |  | SEQUENCES
 | Server node (computer) | name utilization |  | USERS MACHINEUTILIZATION
 | Session | your own and all active roles active in the database session |  | SESSIONS SESSION_ROLES
 | Column | definition, domain, default value primary key privilege indexed in the referential constraint of a table in view table |  | COLUMNS INDEXCOLUMNS FOREIGNKEYCOLUMNS VIEWCOLUMNS
 | Lock | currently requested |  | LOCKS LOCK_WAITS
 | SQL Mode | of the current database session |  | SESSIONS
 | Statistics | time and sample value from the last time UPDATE STATISTICS ran |  | TABLES
 | Synonym | synonyms existence |  | SYNONYMS TABLES
T | Table | name and other information definition synonym privilege view definition constraint referential constraint index view table primary key secondary key triggers |  | TABLES COLUMNS SYNONYMS TABLEPRIVILEGES VIEWCOLUMNS CONSTRAINTS FOREIGNKEYS INDEXES VIEWS COLUMNS FOREIGNKEYCOLUMNS TRIGGERS
 | Timeout | of the current database session |  | SESSIONS
 | Triggers | name and other information |  | TRIGGERS
U | UNIQUE | index |  | INDEXES
 | Upgrade | logs |  | POSTUPGRADECHECKLIST
 | User | defined current |  | USERS SESSIONS
V | Version | database software and operating system |  | VERSION
 | View table | name and other information definition existence synonym tables and columns |  | VIEWS VIEWDEFS TABLES SYNONYMS VIEWCOLUMNS
 | Proposed value | for a column for a domain for a role |  | COLUMNS DOMAINS ROLES
W | Domains | name and other information constraint for column definition |  | DOMAINS DOMAINCONSTRAINTS COLUMNS
Z | Character set | MapChar set |  | MAPCHARSETS


ACTIVECONFIGURATION (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text ACTIVECONFIGURATION

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableACTIVECONFIGURATION to determine the following database information, among other things:

· Name and value of the database parameter RUNDIRECTORY

SELECT parametername, value
FROM SYSINFO.ACTIVECONFIGURATION
WHERE parametername = 'RUNDIRECTORY'

· Displaying whether the parameter MAXBACKUPDEVS can be changed in the ONLINE operational state and whether it is immediately effective following any change

SELECT parametername, changeable
FROM activeconfiguration
WHERE parametername = 'MAXBACKUPDEVS'


CACHESTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text CACHESTATISTICS

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableCACHE STATISTICS to determine the following database information, among other things:

· Displaying all caches whose hit rate is below 90%

SELECT name, accesscount, hitrate
FROM SYSINFO.CACHESTATISTICS
WHERE hitrate < '90'

· Displaying the caches that show more failed accesses than successful ones

SELECT *
FROM SYSINFO.CACHESTATISTICS
WHERE successfulaccesscount < unsuccessfulaccesscount


COLUMNS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text COLUMNS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Examples

You can use the system tableCOLUMNS to determine the following database information, among other things:

· Columns of the table RESERVATION in the order in which they were defined, together with the respective comments.

SELECT columnname, comment
FROM DOMAIN.COLUMNS
WHERE tablename = 'RESERVATION' ORDER BY pos

· Data types of all columns of the table CUSTOMER

SELECT columnname, datatype, len, dec, codetype
FROM DOMAIN.COLUMNS
WHERE tablename = 'CUSTOMER'

· All columns of the base tables of the schema HOTEL that have the data type DATE

SELECT tablename,columnname
FROM DOMAIN.COLUMNS
WHERE schemaname = 'HOTEL'
AND tabletype = 'TABLE'
AND datatype = 'DATE'

· All columns of the table HOTEL for which the default value was defined, as well as the default value itself.

SELECT columnname, ″DEFAULT″
FROM DOMAIN.COLUMNS
WHERE schemaname = 'HOTEL'
AND tablename = 'HOTEL'
AND ″DEFAULT″ IS NOT NULL

Note that the column DEFAULT has to be defined as a special identifier (Identifier in double quotes) because DEFAULT is a reserved keyword.

· All primary key columns of the table ROOM, sorted according to sequence in the primary key.

SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'ROOM' AND mode = 'KEY' ORDER BY keypos

· All columns of the table CUSTOMER defined as NOT NULL.

SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'CUSTOMER' AND mode = 'MAN'

· All columns of the table RESERVATION that can be changed by the user MONA.

SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'RESERVATION' AND columnprivileges LIKE '%UPD%'

· All columns of the table RESERVATION that can be changed by the user MONA, for whom this privilege may be passed on.

SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'RESERVATION' AND columnprivileges LIKE '%UPD+%'

The prerequisite for the following example is the definition of the domains and their use in the tables. Proceed as described in SQL Tutorial, Domains.

· All table columns for which the definition of the domain name_domain or birthday_domain was specified.

SELECT schemaname, tablename, columnname
FROM DOMAIN.COLUMNS
WHERE domainname = 'NAME_DOMAIN' OR domainname = 'BIRTHDAY_DOMAIN'

Columns in the index: see INDEXCOLUMNS

Columns in the referential constraint: see FOREIGNKEYCOLUMNS

Primary table or view table columns in the view table: see VIEWCOLUMNS


CONSTRAINTS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text CONSTRAINTS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define and use constraints. Proceed as described in SQL Tutorial, Constraints.

Examples

You can use the system tableCONSTRAINTS to determine the following database information, among other things:

· All conditions on the columns of the tables of the HOTEL schema that represent explicit value checks

SELECT tablename, constraintname, definition
FROM DOMAIN.CONSTRAINTS
WHERE schemaname = 'HOTEL'

· All conditions on the columns of the table CUTSOMER that represent explicit value checks

SELECT tablename, constraintname
FROM DOMAIN.CONSTRAINTS
WHERE tablename = 'CUSTOMER'

Constraints (integrity conditions) that relate to NOT NULL definitions, primary keys, UNIQUE definitions or referential constrains are not found with this SELECT statement.

NOT-NULL columns: see COLUMNS

Primary keys: see COLUMNS

UNIQUE columns: see INDEXES

Referential constraint: see FOREIGNKEYS

Columns in a referential constraint: see FOREIGNKEYCOLUMNS

Constraint of a domain: see DOMAINCONSTRAINTS


DATASTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text DATASTATISTICS

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableDATASTATISTICS to determine the following database information, among other things:

· Displaying the fill level of the database instance

SELECT usablesize, usedsize, usedsizepercentage, datafull
FROM SYSINFO.DATASTATISTICS

· Displaying which part of the database instance is occupied with permanent and temporary data, respectively.

SELECT usedpermanentsize, usedtemporarysize
FROM SYSINFO.DATASTATISTICS


DATAVOLUMES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text DATAVOLUMES

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableDATAVOLUMES to determine the following database information, among other things:

· Displaying the description and size of the volume.

SELECT path, configuredsize
FROM SYSINFO.DATAVOLUMES

· Displaying the area available for data and the area used for data of the volume with ID 1.

SELECT usablesize, usedsize, usedsizepercentage
FROM SYSINFO.DATAVOLUMES
WHERE ID = 1


DBPROCEDURES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text DBPROCEDURES

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create database procedures. Proceed as described in SQL Tutorial, Database Functions.

Examples

You can use the system tableDBPROCEDURES to determine the following database information, among other things:

· All database procedures of the HOTEL schema and their comments that were created in the last 10 days

SELECT schemaname, dbprocname, comment
FROM DOMAIN.DBPROCEDURES
WHERE schemaname = 'HOTEL' AND createdate >= subdate(date,10)

· All database procedures of the SYSLOADER schema and their definition

SELECT schemaname, dbprocname, definition
FROM DOMAIN.DBPROCEDURES
WHERE schemaname = 'SYSLOADER'

Parameters of a database procedure: see DBPROCPARAMS


DBPROCPARAMS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text DBPROCPARAMS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create database procedures and database functions and use them. Proceed as described in SQL Tutorial, Database Procedures and Database Functions.

Examples

You can use the system tableDBPROCPARAMS to determine the following database information, among other things:

· All input parameters of the database function AVGPRICE in the HOTEL schema and the following parameter information: data type, length and the number of the affected parameter in the range of all parameters within that database function.

SELECT parametername, datatype, len, dec, pos
FROM DOMAIN.DBPROCPARAMS
WHERE schemaname = 'HOTEL'
AND dbprocname = 'AVGPRICE'
AND "IN/OUT-TYPE" = 'IN'

· All output parameters of the database procedure AVG_PRICE in the HOTEL schema and the following parameter information: data type, length and the number of the affected parameter in the range of all parameters within that database procedure.

SELECT parametername, datatype, len, dec, pos
FROM DOMAIN.DBPROCPARAMS
WHERE schemaname = 'HOTEL'
AND dbprocname = 'AVG_PRICE'
AND "IN/OUT-TYPE" = 'OUT'

· Total number of parameters of the database procedure AVG_PRICE in the schema HOTEL

SELECT COUNT(*)
FROM DOMAIN.DBPROCPARAMS
WHERE schemaname = 'HOTEL'
AND dbprocname = 'AVG_PRICE'

Database procedures: see DBPROCEDURES

Database Functions: see FUNCTIONS


DOMAINCONSTRAINTS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text DOMAINCONSTRAINTS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create domains. Proceed as described in SQL Tutorial, Domains.

Examples

You can use the system tableDOMAINCONSTRAINTS to determine the following database information, among other things:

· All domains for which a constraint on the permissible values was defined and the definition of this domain

SELECT domainname, definition
FROM DOMAIN.DOMAINCONSTRAINTS

· All domains of the user MONA for which a constraint on the permissible values was defined.

SELECT owner, domainname
FROM DOMAIN.DOMAINCONSTRAINTS
WHERE owner = 'MONA'

All domains: see DOMAINS


DOMAINS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text DOMAINS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create domains. Proceed as described in SQL Tutorial, Domains.

Examples

You can use the system tableDOMAINS to determine the following database information, among other things:

· All domains for which the data type DATE was defined

SELECT owner, domainname
FROM DOMAIN.DOMAINS
WHERE datatype = 'DATE'

· All of your domains in which a default value was agreed

SELECT domainname, datatype, len, dec, "DEFAULT"
FROM DOMAIN.DOMAINS
WHERE owner = 'MONA'
AND "DEFAULT" IS NOT NULL

Note that the column DEFAULT has to be defined as a special identifier (Identifier in double quotes) because DEFAULT is a reserved keyword.

Constraint of a domain: see DOMAINCONSTRAINTS

Domain for column definition: see COLUMNS


FOREIGNKEYCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text FOREIGNKEYCOLUMNS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create referential constraints. Proceed as described in SQL Tutorial, Foreign Key Relationships Between Tables.

Examples

You can use the system tableFOREIGN KEY COLUMNS to determine the following database information, among other things:

· All referential constraints in which the column CNO in the CUSTOMER table is the referenced column

SELECT schemaname, tablename, columnname, fkeyname, rule
FROM DOMAIN.FOREIGNKEYCOLUMNS
WHERE reftablename = 'CUSTOMER'
AND refcolumnname = 'CNO'

· All referential constraints in which the column HNO in the RESERVATION table is the referenced column

SELECT fkeyname, rule
FROM DOMAIN.FOREIGNKEYCOLUMNS
WHERE tablename = 'RESERVATION'
AND columnname = 'HNO'

· All referential constraints in which the referencing columns are from the RESERVATION table

SELECT DISTINCT fkeyname, rule, refschemaname, reftablename
FROM DOMAIN.FOREIGNKEYCOLUMNS
WHERE tablename = 'RESERVATION'

All referential constraints: see FOREIGNKEYS


FOREIGNKEYS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text FOREIGNKEYS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create referential constraints. Proceed as described in SQL Tutorial, Foreign Key Relationships Between Tables.

Examples

You can use the system tableFOREIGN KEYS to determine the following database information, among other things:

· All referential constraints in which the RESERVATION table is the referencing table

SELECT fkeyname, tablename
FROM DOMAIN.FOREIGNKEYS
WHERE tablename = 'RESERVATION'

· All referential constraints generated with the DELETE CASCADE rule

SELECT schemaname, fkeyname
FROM DOMAIN.FOREIGNKEYS
WHERE rule = 'DELETE CASCADE'

Columns in referential constraints: see FOREIGNKEYCOLUMNS


FUNCTIONS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text FUNCTIONS

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create database functions. Proceed as described in the SQL Tutorial, Database Functions.

Examples

You can use the system tableFUNCTIONS to determine the following database information, among other things:

· All database functions of the HOTEL schema that were created in the last 10 days

SELECT schemaname, functionname
FROM DOMAIN.FUNCTIONS
WHERE schemaname = 'HOTEL' AND createdate >= subdate(date,10)

· Number of parameters for the database function AVGPRICE

SELECT schemaname, functionname, parameter
FROM DOMAIN.FUNCTIONS
WHERE functionname = 'AVGPRICE'

Parameters of a database function: see DBPROCPARAMS


INDEXCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text INDEXCOLUMNS

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create indexes. Proceed as described in SQL Tutorial, Indexes.

Examples

You can use the system tableINDEXCOLUMN to determine the following database information, among other things:

· All indexed columns of the table CUSTOMER

SELECT DISTINCT columnname
FROM DOMAIN.INDEXCOLUMNS
WHERE tablename = 'CUSTOMER'

· All inversions for the table CUSTOMER, sorted according to the index and there according to the sequence of columns as specified in the index definition

SELECT indexname, type, columnname, sort
FROM DOMAIN.INDEXCOLUMNS
WHERE tablename = 'CUSTOMER' ORDER BY indexname, columnno

· Information about the columns that comprise the ADDRESS_INDEX of the table CUSTOMER

SELECT columnname, sort, datatype, len
FROM DOMAIN.INDEXCOLUMNS
WHERE tablename = 'CUSTOMER'
AND indexname ='ADDRESS_INDEX' ORDER BY columnno

All indexes: see INDEXES


INDEXES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text INDEXES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create indexes. Proceed as described in SQL Tutorial, Indexes.

Examples

You can use the system tableINDEXES to determine the following database information, among other things:

· All indexes for the table CUSTOMER and information on which indexes are not currently being used for search operations (so have status DISABLED)

SELECT indexname, disabled
FROM DOMAIN.INDEXES
WHERE tablename = 'CUSTOMER'

· All UNIQUE indexes (regardless of which of the possible SQL statements was used to create them: CREATE INDEX Statement or UNIQUE Definition)

SELECT schemaname, tablename, indexname
FROM DOMAIN.INDEXES
WHERE type = 'UNIQUE'

Columns of an index: see INDEXCOLUMNS


INSTANCE (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text INSTANCE

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableINSTANCE to determine the following database information, among other things:

· Name with which the database instance can be addressed

SELECT node
FROM SYSINFO.INSTANCE

· Time at which the ONLINE operational state was reached

SELECT onlinestatedate
FROM SYSINFO.INSTANCE


LOCKS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text LOCKS

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Examples

You can use the system tableLOCKS to determine the following database information, among other things:

· All locks that are currently held on table ROOM

SELECT lockmode, lockstate, rowidlength, rowidhex, rowid
FROM DOMAIN.LOCKS
WHERE tablename = 'ROOM'

· All locks that the current user holds in that database session on table ROOM

SELECT lockmode, lockstate, rowidlength, rowidhex, rowid
FROM DOMAIN.LOCKS, SYSINFO.SESSIONS
WHERE tablename = 'ROOM'
AND locks.session = sessions.sessionid

· All locks that are currently held on the table with the hexadecimal internal identification 000000000000035D

SELECT lockmode, lockstate, rowidlength, rowidhex, rowid
FROM DOMAIN.LOCKS
WHERE tableid = X'000000000000035D'

If the current user is the database administrator (DBA user) or the database system administrator (SYSDBA user), then all currently held locks are shown.

Users that belong to other user classes only see the locks held by that one user.


LOGQUEUESTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text LOGQUEUESTATISTICS

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableLOGQUEUESTATISTICS to determine the following database information, among other things:

· ID of the log queue

SELECT QUEUEID
FROM SYSINFO.LOGQUEUESTATISTICS

· Number of wait situations due to log queue overflow

SELECT QUEUEOVERFLOWCOUNT
FROM SYSINFO.LOGQUEUESTATISTICS


LOGSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text LOGSTATISTICS

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableLOGSTATISTICS to determine the following database information, among other things:

· Size of the log area and used log area

SELECT usablesize, usedsize, usedsizepercentage
FROM SYSINFO.LOGSTATISTICS

· Number of log queues and their size(s)

SELECT queuecount, queuesize
FROM SYSINFO.LOGSTATISTICS

· Size of the log area that has not yet been backed up

SELECT notsavedsize, notsavedpercentage
FROM SYSINFO.LOGSTATISTICS


MAPCHARSETS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text MAPCHARSETS

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableMAPCHARSETS to determine the following database information, among other things:

· Names of all mapchar sets

SELECT DISTINCT mapcharsetname
FROM DOMAIN.MAPCHARSETS

· Conversion of the hexadecimal value D6 in the mapchar set DEFAULT MAP

SELECT map_code, map_character
FROM DOMAIN.MAPCHARSETS
WHERE mapcharsetname = 'DEFAULTMAP'
AND intern = X'D6'


ROLEPRIVILEGES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text ROLEPRIVILEGES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define and use roles. Proceed as described in SQL Tutorial, Roles.

Examples

You can use the system tableROLEPRIVILEGES to determine the following database information, among other things:

· All privileges granted directly to the role ROLE_1 for the CITY table. Privileges granted indirectly, that is, granted for the CITY table via a different role, are not displayed.

SELECT privileges
FROM DOMAIN.ROLEPRIVILEGES
WHERE grantee = 'ROLE_1'
AND schemaname = 'HOTEL'
AND tablename = 'CITY'

· All roles that were granted to ROLE_4. Specification of who granted the role.

SELECT role, grantor
FROM DOMAIN.ROLEPRIVILEGES
WHERE grantee = 'ROLE_4'
AND role IS NOT NULL

All roles: see ROLES

Role for a user that is automatically activated when a database session is opened: see ROLES

All roles that are active in the current database session: see SESSION_ROLES


ROLES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text ROLES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define and use roles. Proceed as described in SQL Tutorial, Roles.

Examples

You can use the system tableROLES to determine the following database information, among other things:

· All roles for which it is necessary to enter a password to activate them

SELECT owner, role
  FROM DOMAIN.ROLES
    WHERE password_required = 'YES'

· Role of the current user that is automatically activated when a database session is opened

SELECT role
  FROM DOMAIN.ROLES
    WHERE defaultrole = 'YES'

All roles that are active in the current database session: see SESSION_ROLES

Role privilege: see ROLEPRIVILEGES


SEQUENCES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text SEQUENCES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define and use sequences. Proceed as described in SQL Tutorial, Number Generators for Tables.

Examples

You can use the system tableSEQUENCES to determine the following database information, among other things:

· All sequences whose incremental value is not +1 and the threshold values of the sequences

SELECT owner, sequence_name, increment_by, min_value, max_value
FROM DOMAIN.SEQUENCES
WHERE increment_by <> 1

· All sequences with a positive incremental value. The values are not assigned cyclically, and there are, at most, only 1000 free values remaining.

SELECT owner, sequence_name, last_number, max_value
FROM DOMAIN.SEQUENCES
WHERE increment_by > 0
AND cycle_flag = 'N'
AND max_value - last_number <= 1000

· Current value of the sequence SEQU

SELECT last_number
FROM DOMAIN.SEQUENCES
WHERE schemaname = 'HOTEL'
AND sequence_name = 'SEQU'

· The last value of the sequence SEQU in the current database session

SELECT hotel.sequ.currval
FROM DUAL


SESSION_ROLES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text SESSION_ROLES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define and use roles. Proceed as described in SQL Tutorial, Roles.

Examples

You can use the system tableSESSION_ROLES to determine the following database information, among other things:

· All roles that are active in the current database session

SELECT role
FROM DOMAIN.SESSION_ROLES

All roles: see ROLES

Role for a user that is automatically activated when a database session is opened: see ROLES

Role privilege: see ROLEPRIVILEGES


SESSIONS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text SESSIONS

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableSESSIONS to determine the following database information, among other things:

· All users currently logged on and the name of the computer on which the application is running

SELECT username, applicationnode
FROM SYSINFO.SESSIONS
WHERE own = 'YES'

· Parameters of your database session

SELECT sqlmode, isolationlevel, timeout, sessionid
FROM SYSINFO.SESSIONS
WHERE own = 'YES'

All defined users: see USERS


SYNONYMS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text SYNONYMS

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define synonyms. To do this, use the CREATE SYNONYM Statement (create_synonym_statement).

Examples

You can use the system tableSYNONYMS to determine the following database information, among other things:

· The table (basis table, view table) for which the PUBLIC synonym SHORT_TAB was defined

SELECT tableowner, tablename
  FROM DOMAIN.SYNONYMS
    WHERE public = 'YES'
      AND synonymname = 'SHORT_TAB'

· Private synonym for the CITY table of the user MONA

SELECT synonymname
  FROM DOMAIN.SYNONYMS
    WHERE tableschemaname = 'HOTEL'
      AND tableowner = 'MONA'
      AND tablename = 'CITY'

Existence of a synonym: see TABLES


TABLEPRIVILEGES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text TABLEPRIVILEGES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define privileges. Proceed as described in SQL Tutorial, Database Users and Their Privileges.

Examples

You can use the system tableTABLEPRIVILEGES to determine the following database information, among other things:

· All tables for which the current user has been granted a privilege. Own tables are not output.

SELECT schemaname, tablename, privilege
  FROM DOMAIN.TABLEPRIVILEGES
    WHERE grantee = 'MONA'

· All tables for which the current user has been granted the SELECT privilege and is allowed to pass this on. Own tables are not output.

SELECT schemaname, owner, tablename
  FROM DOMAIN.TABLEPRIVILEGES
    WHERE grantee = 'MONA'
      AND privilege LIKE '%SEL%'
      AND is_grantable = 'YES'

· All privileges that the current user has granted to the user DAVID

SELECT schemaname, tablename, privilege
  FROM DOMAIN.TABLEPRIVILEGES
    WHERE grantor = 'MONA'
      AND grantee = 'DAVID'

All tables: see TABLES

Existence of a table: see TABLES

Table definition: see COLUMNS

Synonym for a table: see SYNONYMS

Table privilege: see TABLES

Table in a view definition: see VIEWCOLUMNS


TABLES (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text TABLES

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Examples

You can use the system tableTABLES to determine the following database information, among other things:

· All tables, view tables and synonyms that the current user can select in the HOTEL schema

SELECT tablename, type
FROM DOMAIN.TABLES
WHERE schemaname = 'HOTEL'
AND privileges LIKE '%SEL%'

· All result tables of the current user

SELECT tablename
FROM DOMAIN.TABLES
WHERE type = 'RESULT'

· All own tables for which the last update-statistics run was more than 30 days ago

SELECT tablename, updstatdate
FROM DOMAIN.TABLES
WHERE updstatdate <= subdate(DATE,30)

· Information about with which sample values an update-statistics run was performed on the CUSTOMER table

SELECT sample_percent, sample_rows
FROM DOMAIN.TABLES
WHERE tablename = 'CUSTOMER'

· Internal ID of the HOTEL table

SELECT tableid
FROM DOMAIN.TABLES
WHERE tablename = 'HOTEL'

If the table is a basis table, the internal ID can be used, for example, in queries on locks (see LOCKS).

Table definition: see COLUMNS

Primary key: COLUMNS

Synonym for a table: see SYNONYMS

Table privilege: see TABLEPRIVILEGES

Table in a view definition: see VIEWCOLUMNS

Constraint of a column or table: see CONSTRAINTS

Referential constraint: see FOREIGNKEYS

Index: see INDEXES

View table: VIEWS

Secondary key: see FOREIGNKEYCOLUMNS

Trigger: see TRIGGERS


TRIGGERS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text TRIGGERS

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define triggers. Proceed as described in SQL Tutorial, Database Triggers.

Examples

You can use the system tableTRIGGERS to determine the following database information, among other things:

· Update trigger for the HOTEL table

SELECT triggername, definition
FROM DOMAIN.TRIGGERS
WHERE tablename = 'HOTEL'
AND UPDATE = 'YES'

· Table and action for which the trigger HOTEL_UPDATE was defined

SELECT owner, triggername, insert, update, delete
FROM DOMAIN.TRIGGERS
WHERE triggername = 'HOTEL_UPDATE'


USERS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text USERS

Prerequisites

You have the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as a database user.

Define other database users. Proceed as described in SQL Tutorial, Database Users and Their Privileges.

Examples

You can use the system tableUSERS to determine the following database information, among other things:

· All defined database users of the database user class STANDARD

SELECT owner, username
FROM DOMAIN.USERS
WHERE usermode = 'STANDARD'

· All users who have not changed their passwords for more than 6 months

SELECT username, pwcreadate, pwcreatime
FROM DOMAIN.USERS
WHERE pwcreadate <= subdate(date,183)

· All users who are allowed to log on to the database instance multiple times

SELECT username, usermode
FROM DOMAIN.USERS
WHERE connectmode = 'MULTIPLE'

· Name of the database instance on which the current database session was opened. Name of the computer on which this database instance is running.

SELECT DISTINCT serverdb, servernode
FROM DOMAIN.USERS

Currently active user: see SESSIONS


VERSION (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text VERSION

Prerequisites

Log on to the database instance DEMODB.

Examples

You can use the system tableVERSION to determine the following database information, among other things:

· Version of the software used by the currently active database instance

SELECT MAJORVERSION, MINORVERSION, CORRECTIONLEVEL, BUILD
FROM SYSINFO.VERSION

· Version of the operating system

SELECT OPERATINGSYSTEM
FROM SYSINFO.VERSION

· Kernel variant

SELECT KERNELVARIANT
FROM SYSINFO.VERSION


VIEWCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text VIEWCOLUMNS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define view tables. Proceed as described in SQL Tutorial, View Tables.

Examples

You can use the system tableVIEW COLUMNS to determine the following database information, among other things:

· All tables on which the view table CUSTOMER_ADDR is based

SELECT tablename, viewcolumnname, columnname
FROM DOMAIN.VIEWCOLUMNS
WHERE schemaname = 'HOTEL'
AND viewname = 'CUSTOMER_ADDR'

· Column of the table on which the CITY column of the view table CUSTOMER_ADDR is based

SELECT tablename, columnname
FROM DOMAIN.VIEWCOLUMNS
WHERE schemaname = 'HOTEL'
AND viewname = 'CUSTOMER_ADDR'
AND viewcolumnname = 'CITY'

· Determining whether the TITLE column of the CUSTOMER table is used in a view table

SELECT schemaname, viewname, viewcolumnname
FROM DOMAIN.VIEWCOLUMNS
WHERE tablename = 'CUSTOMER'
AND columnname = 'TITLE'

All view tables: see VIEWS

Definition of a view table: see VIEWDEFS

Existence of a view table: see TABLES


VIEWDEFS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text VIEWDEFS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Create view tables. Proceed as described in SQL Tutorial, View Tables.

Examples

You can use the system tableVIEWDEFS to determine the following database information, among other things:

· SQL statement text used in the view table definition

SELECT definition
FROM DOMAIN.VIEWDEFS
WHERE schemaname = 'HOTEL'
AND viewname = 'CUSTOMER_ADDR'

· Length of the view table definition

SELECT len
FROM DOMAIN.VIEWDEFS
WHERE schemaname = 'HOTEL'
AND viewname = 'CUSTOMER_ADDR'

Only the owner of a view table can select the definition. No output is provided for any other users.

All view tables: see VIEWS

Existence of a view table: see TABLES

Tables and columns forming the basis for a view table: see VIEWCOLUMNS


VIEWS (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text VIEWS

Prerequisites

You have generated the HOTEL Demo Schema for the SQL Tutorial.

Log on to the database instance DEMODB as user MONA.

Define view tables. Proceed as described in SQL Tutorial, View Tables.

Examples

You can use the system tableVIEWS to determine the following database information, among other things:

· All privileges of the view table CUSTOMER_ADDR

SELECT privileges
FROM DOMAIN.VIEWS
WHERE schemaname = 'HOTEL'
AND viewname = 'CUSTOMER_ADDR'

· All view tables with their comments that the current user can see without being the owner

SELECT schemaname, viewname, comment
FROM DOMAIN.VIEWS
WHERE owner <> 'MONA'

Definition text of a view table: see VIEWDEFS

Existence of a view table: see TABLES

Synonym for a view table: see SYNONYMS

Tables and columns forming the basis for a view table: see VIEWCOLUMNS


Definitions of the System Tables (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Definitions of the System Tables

System Tables with Information About Database Objects

The database system contains a series of system tables with information about the database objects and their relationships to each other. These system tables are available in the DOMAIN schema in every SQL mode. You have to specify the schema to access these tables in every SQL mode other than INTERNAL.

Definitions of the Most Important DOMAIN System Tables:

COLUMNS | CONNECTEDUSERS | CONNECTPARAMETERS
CONSTRAINTS | DBPROCEDURES | DBPROCPARAMS
DOMAINCONSTRAINTS | DOMAINS | FOREIGNKEYCOLUMNS
FOREIGNKEYS | FUNCTIONS | INDEXCOLUMNS
INDEXES | LOCKS | LOCK_WAITS
MAPCHARSETS | PACKAGES | ROLEPRIVILEGES
ROLES | SCHEMAPRIVILEGES | SCHEMAS
SEQUENCES | SESSION_ROLES | SYNONYMS
SYSTEMTRIGGERS | TABLEPRIVILEGES | TABLES
TRIGGERS | USERS | VERSIONS
VIEWCOLUMNS | VIEWDEFS | VIEWS

System Tables with Information About Database States

The database system contains a series of system tables with information about the system configuration and system load. These system tables are available in the SYSINFO schema in every SQL mode. You do not need to specify the schema to access these tables.

Definitions of the Most Important SYSINFO System Tables:

ACTIVECONFIGURATION | BACKUPTHREADS | CACHESTATISTICS
COMMANDCACHESTATISTICS | COMMANDSTATISTICS | CONSISTENTVIEWOPENTRANSACTIONS
CONSISTENTVIEWS | DATACACHE | DATASTATISTICS
DATAVOLUMES | FILEDIRECTORIES | FILES
HOTSTANDBYCOMPONENT | HOTSTANDBYGROUP | INSTANCE
IOBUFFERCACHES | IOTHREADSTATISTICS | IOTHREADSTATISTICSRESET
LOGINFORMATION | LOGQUEUESTATISTICS | LOGQUEUESTATISTICSRESET
LOGSTATISTICS | LOGSTATISTICSRESET | LOGVOLUMES
MACHINECONFIGURATION | MACHINEUTILIZATION | MEMORYALLOCATORSTATISTICS
OPTIMIZERINFORMATION | READERWRITERLOCKINFORMATION | READERWRITERLOCKSTATISTICS
READERWRITERLOCKSTATISTICSRESET | READERWRITERLOCKWAITINGTASKS | RESTARTINFORMATION
SERVERTASKS | SESSIONS | SNAPSHOTS
SPINLOCKPOOLSTATISTICS | SPINLOCKSTATISTICS | TASKLOADBALANCINGINFORMATION
TASKLOADBALANCINGTASKGROUPSTATES | TASKLOADBALANCINGTASKMOVES | TRANSACTIONHISTORY
TRANSACTIONS | UNLOADEDSTATEMENTS | VERSION

Statistics System Tables

The database system contains a number of system tables that you can use to select information about the configuration, structures, and sizes of database objects. These statistics system tables are available in the database system administrator (SYSDBA user) schema. You do not need to specify the schema to access these tables.

Statistics System Tables

DBPARAMETERS | INDEXSTATISTICS | LOCKLISTSTATISTICS
OPTIMIZERSTATISTICS | SERVERDBSTATISTICS | TABLESTATISTICS
TRANSACTIONS | USERSTATISTICS |

Monitor System Tables

The database system contains a number of system tables that you can use to access monitor information. These monitor system tables are available in the database systems administrator (SYSDBA user) schema. You do not need to specify the schema to access these tables.

The monitor system tables return results for the database system administrator (SYSDBA user) and for all users of the database user class database administrator (DBA user). Unauthorized users receive error message 100 – row not found.

The monitor system tables are structured as follows:

DESCRIPTION | CHAR(40)
VALUE | FIXED(20)

Each row contains a counter value that is described by the value contained in the DESCRIPTION column.

Monitor System Tables

MONITOR | MONITOR_CACHES | MONITOR_LOAD
MONITOR_LOCK | MONITOR_LOG | MONITOR_LONG
MONITOR_PAGES | MONITOR_ROW | MONITOR_TRANS

Loader System Tables

The database system contains a range of system tables that are used by the Loader. These Loader system tables are available in the SYSLOADER schema. You need to specify the schema SYSLOADER to access these tables.

Loader System Tables

CODEPAGE | TRANSFORMATIONMODEL | TRANSFORMATIONMONITOR
TRANSFORMATIONPACKAGES | TRANSFORMATIONRESOURCES | TRANSFORMATIONSTATISTICS
TRANSFORMATIONSTEPS |  |

Upgrade System Tables

These upgrade system tables are available in the database system administrator (SYSDBA user) schema.

The upgrade system tables are only visible for the database system administrator (SYSDBA user).

Upgrade System Tables

POSTUPGRADECHECKLIST | POSTUPGRADECHECKLIST<version> | POSTUPGRADECHECKLISTUNICODE
SYSUPGRADEHISTORY |  |


ACTIVECONFIGURATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation ACTIVECONFIGURATION

Definition

The system table ACTIVECONFIGURATION contains the names and values of the database parameters that are currently active.

Structure

ACTIVECONFIGURATION

PARAMETERNAME | CHAR(32) | Name of database parameter
PERMANENT | CHAR(3) | Indicates whether the value of the database parameter is reset when the system switches to operational state OFFLINE (YES | NO)
CHANGEABLE | CHAR(10) | Indicates whether the value of the database parameter can be changed in operational state ONLINE and whether the change takes effect immediately (YES | NO)
VALUE | CHAR(256) | Value of database parameter

See also:

Evaluating System Tables, ACTIVECONFIGURATION

Concepts of the Database System, Database Parameters


BACKUPTHREADS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation BACKUPTHREADS

Definition

The system table BACKUPTHREADS contains information about I/O operations of the last backup or the current one.

Structure

BACKUPTHREADS

THREADID | FIXED(10) | ID of the thread in the operating system
THREADNAME | CHAR(16) | Name of the thread
IODIRECTION | CHAR(6) | I/O type (READ | WRITE)
IOCOUNT | FIXED(20) | Number of I/O operations
IOPAGECOUNT | FIXED(20) | Number of pages read/written during the I/O operation
IOTIME | FIXED(20) | Total time of the I/O operations with active time measurement (µs)
IOTIMEMEASUREMENTCOUNT | FIXED(20) | Number of measured I/O operations
PENDINGIOCOUNT | FIXED(5) | Number of pending I/O calls
MAXPENDINGIOCOUNT | FIXED(5) | Maximum number of pending I/O calls
PATH | CHAR(256) | Name of the backup medium on which the I/O calls were executed


CACHESTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CACHESTATISTICS

Definition

The system table CACHESTATISTICS contains information on accesses to caches since the last time the database instance was started.

Structure

CACHESTATISTICS

SESSIONID | FIXED(10) | ID of the database session if the corresponding cache is session-specific; otherwise NULL.
NAME | CHAR(20) | Cache name
ACCESSCOUNT | FIXED(20) | Number of accesses to the cache
SUCCESSFULACCESSCOUNT | FIXED(20) | Number of successful accesses to the cache
UNSUCCESSFULACCESSCOUNT | FIXED(20) | Number of unsuccessful accesses to the cache
HITRATE | FIXED(3) | Percentage of successful accesses to the cache (%)

See also:

Evaluating System Tables, CACHESTATISTICS


CLASSCONTAINER_CHAINS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CLASSCONTAINER_CHAINS

Definition

The system table CLASSCONTAINERS_CHAINS provides statistics for each file and container in which OMS objects are stored.

Structure

CLASSCONTAINER_CHAINS

CLASS_ID | CHAR(8) BYTE | ID of the container file
SEQUELCONTAINER | FIXED(10) | Index of the sequel container file for objects of variable length (otherwise 0)
CHAIN_ID | FIXED(10) | No longer in use (always 1)
SUBROOT | FIXED(10) | No longer in use (always the root of the file)
OBJECTCOUNT | FIXED(10) | Number of object boxes used
PAGECOUNT | FIXED(10) | Number of pages
ACTIVE_GC_TASKID | FIXED(10) | No longer in use (always 0)
RELEASEEMPTYPAGES | CHAR(3) | No longer in use (always NULL)

See also:

Database Administration in CCMS, Structure link Class Container


CLASSCONTAINER_KEYS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CLASSCONTAINER_KEYS

Definition

The system table CLASSCONTAINER_KEYS returns the root of the inversion files for OMS objects with keys.

Structure

CLASSCONTAINER_KEYS

CLASS_ID | CHAR(8) BYTE | ID of the container file
KEY_PARTITION | FIXED(10) | Index of the key inversion
KEY_ROOT | FIXED(10) | Root of the inversion file

See also:

Database Administration in CCMS, Structure link Class Container


CLASSCONTAINER_ROOTS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CLASSCONTAINER_ROOTS

Definition

The system table CLASSCONTAINERS_ROOTS describes the files and containers in which OMS objects are stored.

Structure

CLASSCONTAINER_ROOTS

CLASS_ID | CHAR(8) BYTE | ID of the container file
SEQUELCONTAINER | FIXED(10) | Index of the sequel container file for objects of variable length (otherwise 0)
ROOT | FIXED(10) | Root of the container file
KEY_PARTITIONCOUNT | FIXED(10) | Number of inversions for persistent objects with key (otherwise 0)
VAROBJ_CONTAINER | CHAR(3) | Container contains objects of variable length ( YES | NO )
DELETED | CHAR(3) | Application deleted the container, but physical deletion by garbage collectors has not yet taken place
MAX_OBJBODYSIZE | FIXED(10) | Maximum object size for objects that can be stored in this container
MAX_OBJPERPAGE | FIXED(10) | Maximum number of persistent objects that fit on one page
MAX_CHAINS | FIXED(10) | No longer in use (always 1)
UNUSED_BYTEPERPAGE | FIXED(10) | Number of unused bytes per page in the container file

See also:

Database Administration in CCMS, Structure link Class Container


CLASSCONTAINERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CLASSCONTAINERS

Definition

The system table CLASSCONTAINERS describes the files and containers in which OMS objects are stored.

Structure

CLASSCONTAINERS

GUID | CHAR(16) | ID of the C++ class whose objects are stored in the container
CLASS_NAME | CHAR(64) | Name of the C++ class whose objects are stored in the container
SCHEMANAME | CHAR(32) | Name of the schema to which the container belongs
CONTAINERNO | FIXED(32) | User-defined number of the container
CLASS_ID | CHAR(8) BYTE | ID of the container
SIZE | FIXED(5) | Definition length of the objects stored in this container if the length is not variable (bytes)
PAGECOUNT | FIXED(10) | Size of the container (pages)
FREE_PAGES | FIXED(10) | Number of pages not completely full
EMPTY_PAGES | FIXED(10) | Not relevant
KEY_LEAF_PAGES | FIXED(10) | Number of leaves of the index tree for containers that supported key accesses
OBJECTS_PER_PAGES | FIXED(10) | NULL (not relevant)
GARBAGEOBJCHECKED | FIXED(10) | NULL (not relevant)
GARBAGEOBJRELEASED | FIXED(10) | NULL (not relevant)
OCCUPANCY | FIXED(10) | Fill level of the container (%)
FREE_EOT_PAGES | FIXED(10) | NULL (not relevant)

See also:

Database Administration in CCMS, Structure link Class Container


COLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation COLUMNS

Definition

The system table COLUMNS contains the columns of all the tables, view tables, results tables, and synonyms for which the current user has privileges.

Structure

COLUMNS

SCHEMANAME | CHAR(32) | Name of the schema of the database object
OWNER | CHAR(32) | Name of the owner of the database object
TABLENAME | CHAR(32) | Name of the database object
COLUMNNAME | CHAR(32) | Column name
MODE | CHAR(3) | Type of column (KEY | MAN | OPT)
DATATYPE | CHAR(10) | Data type of the column (BOOLEAN | CHAR | DATE | FIXED | FLOAT | INTEGER | LONG | SMALLINT | TIME | TIMESTAMP)
CODETYPE | CHAR(8) | Code attribute of column (ASCII | BYTE | UNICODE)
LEN | FIXED(4) | Length or precision of the column
DEC | FIXED(3) | Number of decimal places in the columns of data type FIXED
NULLABLE | CHAR(3) | Column can accept NULL value (YES | NO)
COLUMNPRIVILEGES | CHAR(8) | Privileges of the current user for the column
DEFAULT | CHAR(254) | DEFAULT value for the column
DEFAULTFUNCTION | CHAR(12) | Name, if the DEFAULT value is one of the following value specifications: NULL | USER | USERGROUP | SYSDBA | UID | DATE | TIME | TIMESTAMP | UTCDATE | TIMEZONE | UTCDIFF | TRUE | FALSE | TRANSACTION Otherwise NULL value
DOMAINOWNER | CHAR(32) | Name of the domain owner used for column definition
DOMAINNAME | CHAR(32) | Name of the domain used for column definition
POS | FIXED(4) | Original position of the column in the table
KEYPOS | FIXED(4) | Original position of the key column in the table
PHYSICALPOS | FIXED(4) | Position of column on disk
CREATEDATE | DATE(10) | Creation date of the column
CREATETIME | TIME(8) | Creation time of the column
ALTERDATE | DATE(10) | Alter date of the column
ALTERTIME | TIME(8) | Alter time of the column
TABLETYPE | CHAR(8) | Type of table (TABLE | VIEW | SYNONYM | RESULT | SYSTEM)
COMMENT | LONG | Comment on the column

See also:

Evaluating System Tables, COLUMNS

Reference Manual, Data Type (data_type)


COMMANDCACHESTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation COMMANDCACHESTATISTICS

Definition

The system table COMMANDCACHESTATISTICS contains the statistical information collected about the command cache activities since the last time the database instance was started. The command cache contains the SQL statements and their execution plans shared by different database sessions (the following refers to the SQL statement and execution plan collectively as a command).

Structure

COMMANDCACHESTATISTICS

USABLESIZE | FIXED(10) | Size of the command cache (KB)
USEDSIZE | FIXED(10) | Size of the area of the command cache that is actually used (KB)
USEDSIZEPERCENTAGE | FIXED(3) | Size of the area of the command cache that is actually used (%)
MAXUSEDSIZE | FIXED(10) | Maximum used area of the command cache (KB)
MAXUSEDSIZEPERCENTAGE | FIXED(3) | Maximum used area of the command cache (%)
COMMANDCOUNT | FIXED(10) | Number of stored commands
MAXCOMMANDCOUNT | FIXED(10) | Maximum number of stored commands
INSERTCOMMANDCOUNT | FIXED(10) | Number of inserts
DELETECOMMANDCOUNT | FIXED(10) | Number of deletes
FAILEDALLOCATECOUNT | FIXED(10) | Number of memory requests not fulfilled
CLEANUPCOUNT | FIXED(10) | Number of operations that encountered a lack of space in the main memory
CLEANUPCOMMANDCOUNT | FIXED(10) | Number of commands modified due to lack of space in the main memory
INVALIDATECOUNT | FIXED(10) | Number of data definition statements that made execution plans invalid
CURRENTUNLOADSTATEMENTCOUNT | FIXED(10) | Number of SQL statements currently displaced to disk
UNLOADSTATEMENTCOUNT | FIXED(10) | Number of SQL statements displaced to disk
RELOADSTATEMENTCOUNT | FIXED(10) | Number of SQL statements reloaded to the main memory
DELETEPLANCOUNT | FIXED(10) | Number of execution plans deleted due to lack of space in the main memory
HASHTABLESLOTCOUNT | FIXED(5) | Number of slots in the hash table
USEDHASHTABLESLOTCOUNT | FIXED(5) | Number of used slots in the hash table
MAXUSEDHASHTABLESLOTCOUNT | FIXED(5) | Maximum number of used slots in the hash table
AVGHASHTABLECHAINENTRYCOUNT | FIXED(5) | Average length of the hash entry overflow chains
MAXHASHTABLECHAINENTRYCOUNT | FIXED(5) | Maximum length of the hash entry overflow chains


COMMANDSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation COMMANDSTATISTICS

Definition

The system table COMMANDSTATISTICS describes SQL statements that are stored in the command cache, and also contains statistical information on the activities of these SQL statements collected since the last time the database instance was started. The command cache contains the SQL statements and their execution plans shared by different database sessions

Structure

COMMANDSTATISTICS

COMMANDID | CHAR(8) BYTE | ID of the SQL statement
INTERNAL | CHAR(3) | SQL statement was generated implicitly (YES | NO)
HASHVALUE | FIXED(10) | Hash value
HASHTABLESLOT | FIXED(5) | Slot in the hash table
STATUS | CHAR(10) | Status (PREPARING | PREPARED | INVALID)
USERNAME | CHAR(32) | Name of the database user
SCHEMANAME | CHAR(32) | Current schema when execution plan created
SQLMODE | CHAR(8) | SQL mode when execution plan created
ISOLATIONLEVEL | FIXED(3) | Isolation level when execution plan created
DATEFORMAT | CHAR(50) | Date and time format when execution plan created
MASSCOMMAND | CHAR(3) | Date and time format when execution plan created
STATEMENTCODETYPE | CHAR(15) | Code attribute of the SQL statement (ASCII | UNICODE | UNICODE SWAP)
QUERYREWRITE | CHAR(10) | Indicates whether and which type of query rewrite has taken place (NO | STATEMENT | OPERATOR)
STATEMENTSIZE | FIXED(10) | Length of the SQL statement (bytes)
STATEMENT | LONG | SQL statement
PLANSIZE | FIXED(10) | Memory requirements of the execution plan (bytes)
PREPARECOUNT | FIXED(10) | Number of execution preparations
REFERENCECOUNT | FIXED(5) | Number of database sessions for which the SQL statement has been prepared for execution
CURRENTEXECUTECOUNT | FIXED(5) | Current number of executions
EXECUTECOUNT | FIXED(10) | Number of executions
PREPARETIME | FIXED(20) | Parse time (ms)
EXECUTETIME | FIXED(20) | Total duration of executions (ms)
AVGEXECUTETIME | FIXED(20) | Average execution time (ms)
MINEXECUTETIME | FIXED(20) | Minimum execution time (ms)
MAXEXECUTETIME | FIXED(20) | Maximum execution time (ms)
READROWCOUNT | FIXED(20) | Number of rows read
QUALIFIEDROWCOUNT | FIXED(20) | Number of qualified rows
VIRTUALREADCOUNT | FIXED(20) | Number of reads in the data cache
PHYSICALREADCOUNT | FIXED(20) | Number of reads in the data cache that triggered reads on the disk
FETCHROWCOUNT | FIXED(20) | Number of rows (in the result tables generated by the SQL statement) sent to the application
SUSPENDCOUNT | FIXED(20) | Number of suspends
WAITCOUNT | FIXED(20) | Number of waits caused by lock collisions


CONNECTEDUSERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CONNECTEDUSERS

Definition

The system table CONNECTEDUSERS contains all the database users who are logged on.

Structure

CONNECTEDUSERS

USERNAME | CHAR(32) | Name of the user
TERMID | CHAR(18) | Terminal ID
SESSION | FIXED(10) | Database session
CATALOG_CACHE_SIZE | FIXED(10) | Size of the cache for catalog information in this database session (in pages)

The system table CONNECTEDUSERS exists only to enable compatibility with older database versions. Instead of the system table CONNECTEDUSERS, use the system table SESSIONS.

See also:

Evaluating System Tables, SESSIONS

Concepts of the Database System, Database Users


CONNECTPARAMETERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CONNECTPARAMETERS

Definition

The system table CONNECTPARAMETERS contains information about session-specific parameters.

Structure

CONNECTPARAMETERS

SQLMODE | CHAR(8) | SQL mode (ANSI | DB2 | ORACLE | INTERNAL)
ISOLEVEL | FIXED(10) | Isolation level (0-3)
TIMEOUT | FIXED(10) | Value for session timeout
SESSION | FIXED(10) | Database session

The system table CONNECTPARAMETERS exists only to enable compatibility with older database versions. Instead of the system table CONNECTPARAMETERS, use the system table SESSIONS.

See also:

Evaluating System Tables, SESSIONS


CONSISTENTVIEWOPENTRANSACTIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CONSISTENTVIEWOPENTRANSACTIONS

Definition

The system table CONSISTENTVIEWOPENTRANSACTIONS describes the transactions that were active when the consistent view was generated.

Structure

CONSISTENTVIEWOPENTRANSACTIONS

CONSISTENTVIEWID | FIXED(15) | ID of the consistent view
TRANSACTIONID | FIXED(15) | ID of the transaction that was active when the consistent view was generated

Concepts of the Database System, Example: Consistent View


CONSISTENTVIEWS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CONSISTENTVIEWS

Definition

The system table CONSISTENTVIEWS describes the currently active consistent views.

Structure

CONSISTENTVIEWS

CONSISTENTVIEW | CHAR(6) BYTE | ID of the consistent view
CREATORTRANSCOUNT | CHAR(20) | ID of the transaction that generated the consistent view
OPENTRANS | CHAR(6) BYTE | ID of another transaction that was active at the time the consistent view was generated
OPENDATE | DATE | Date on which the consistent view was generated
OPENTIME | TIME | Time at which the consistent view was generated
LASTUSED | FIXED(10) | Elapsed time since the consistent view was last used (s)
CANCELED | CHAR(3) | Consistent view was implicitly closed due to insufficient memory ( YES | NO )

See also:

Concepts of the Database System, Example: Consistent View


CONSTRAINTCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CONSTRAINTCOLUMNS

Definition

The system table CONSTRAINTCOLUMNS contains the columns specified in the CONSTRAINT definitions for the tables for which the current user has privileges.

Structure

CONSTRAINTCOLUMNS

SCHEMANAME | CHAR(32) | Name of the schema
OWNER | CHAR(32) | Name of the owner
TABLENAME |  | Name of table with the CONSTRAINT definition
CONSTRAINTNAME | CHAR(32) | Name of the CONSTRAINT definition
CONSTRAINTTYPE | CHAR(12) | Type of CONSTRAINT definition (CHECK | FOREIGN KEY | KEY | UNIQUE_CONST)
COLUMNNAME | CHAR(32) | Name of the column
COLUMNNO | FIXED(4) | Number of the column within the table or constraint

See also:

Reference Manual, CONSTRAINT Definition (constraint_definition)


CONSTRAINTS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CONSTRAINTS

Definition

The system table CONSTRAINTS contains the CONSTRAINT definitions for all the tables for which the current user has privileges.

Structure

CONSTRAINTS

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of table with the CONSTRAINT definition
CONSTRAINTNAME | CHAR(32) | Name of the CONSTRAINT definition
DEFINITION | LONG | Text of the CONSTRAINT definition

See also:

Evaluating System Tables, CONSTRAINTS

Reference Manual, CONSTRAINT Definition (constraint_definition)


DATACACHE (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DATACACHE

Definition

The system table DATACACHE describes the areas of the data cache.

Structure

DATACACHE

USABLESIZE | FIXED(20) | Size of the data cache (KB)
USEDSIZE | FIXED(20) | Used area of the data cache (KB)
MAXUSEDSIZE | FIXED(20) | Maximum used area of the data cache (KB)
OMSDATASIZE | FIXED(20) | Size of the area of the data cache that is used for storing the OMS data (KB)
OMSUNLOADEDVERSIONSIZE | FIXED(20) | Size of the OMS versions that were displaced from the main memory for space reasons (KB)
HISTORYDATASIZE | FIXED(20) | Size of the area of the data cache that is required for consistent reads and transaction management (KB)
SQLDATASIZE | FIXED(20) | Size of the area of the data cache that is not required either for OMS or for consistent reads and transaction management (KB)
CHANGEDDATASIZE | FIXED(20) | Amount of changed data since the last savepoint that has to be written to data area at next savepoint (KB)
PENDINGOPERATIONCOUNT | FIXED(10) | Number of structure-changing operations that need to be included in the next savepoint


DATASTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DATASTATISTICS

Definition

The system table DATASTATISTICS describes the current fill level of the database instance and the maximum fill level since the last time the database instance was started.

Structure

DATASTATISTICS

USABLESIZE | FIXED(20) | Data area available for data (KB)
USEDSIZE | FIXED(20) | Memory in data area that is actually used for data (KB)
USEDSIZEPERCENTAGE | FIXED(3) | Memory in data area that is actually used for data (%)
DATAFULL | CHAR(3) | Data area is full (YES | NO)
USEDSIZEONVOLUMES | FIXED(20) | Amount of data written to data area (KB)
USEDSIZENOTONVOLUMES | FIXED(20) | Amount of permanent data that has to be written to data area at next savepoint (KB)
USEDPERMANENTSIZE | FIXED(20) | Data area used for permanent data (KB)
USEDTEMPORARYSIZE | FIXED(20) | Data area (KB) used for temporary data
MAXUSEDSIZE | FIXED(20) | Maximum data area used for data at a savepoint (KB)
MAXUSEDPERMANENTSIZE | FIXED(20) | Maximum data area used for permanent data at a savepoint (KB)
MAXUSEDTEMPORARYSIZE | FIXED(20) | Maximum data area used for temporary data at a savepoint (KB)
INCREMENTALBACKUPSIZE | FIXED(20) | Amount of data that needs to be backed up in next incremental backup (KB)
LASTEMERGENCYHISTORYCLEANUP | TIMESTAMP | Time at which undo log files were last deleted due to lack of space in data area (according to history file)
CONVERTERVERSION | FIXED(10) | The converter data saved to the data area at the last savepoint is assigned a unique number (converter version). This number is stored in the restart record.
MAXTEMPORARYDATAPAGENUMBER | FIXED(10) | Highest page number available for temporary pages
MAXPERMANENTDATAPAGENUMBER | FIXED(10) | Highest page number available for permanent pages
MAXPERMANENTSTATICDATAPAGENUMBER | FIXED(10) | Highest page number available for permanent, static pages

See also:

Evaluating System Tables, DATASTATISTICS


DATAVOLUMES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DATAVOLUMES

Definition

The system table DATAVOLUMES describes the data volumes in which data is stored.

Structure

DATAVOLUMES

ID | FIXED(5) | Number of the volume
MODE | CHAR(10) | Mode of the volume (NORMAL | SEQUENTIAL)
PATH | CHAR(256) | Name of the volume
CONFIGUREDSIZE | FIXED(20) | Configured size of the volume (KB)
USABLESIZE | FIXED(20) | Area of the volume that can be used for data (KB)
USEDSIZE | FIXED(20) | Area of the volume used for data (KB)
USEDSIZEPERCENTAGE | FIXED(3) | Area of the volume used as a percentage of the total area that can be used for data
DROPVOLUME | CHAR(3) | Volume is being removed from the database (YES | NO)


DBPARAMETERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DBPARAMETERS

Definition

The statistics system table DBPARAMETERS contains the parameters that were defined for the database instance using the database tool Database Managersap.

Structure

DBPARAMETERS

DESCRIPTION | CHAR(32) | Description of how to interpret the column VALUE
VALUE | CHAR(256) | Value

The system table DBPARAMETERS exists only to enable compatibility with older database versions. Instead of the system table DBPARAMETERS, use the system table ACTIVECONFIGURATION.


DBPROCEDURES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DBPROCEDURES

Definition

The system table DBPROCEDURES contains all the database procedures for which the current user has privileges.

Structure

DBPROCEDURES

SCHEMANAME | CHAR(32) | Name of the schema of the database procedure
DBPROCNAME | CHAR(32) | Name of the database procedure
OWNER | CHAR(32) | Name of the owner of the database procedure
PACKAGE | CHAR(32) | Package containing the database procedure
PARAMETER | FIXED(4) | Number of parameters for the database procedure
CREATEDATE | DATE(10) | Creation date of the database procedure
CREATETIME | TIME(8) | Creation time of the database procedure
EXECUTION_KIND | CHAR(6) | Execution location of database procedure (INPROC | LOCAL)
LANGUAGE | CHAR(32) | Implementation language of database procedure (SPL | C++ | JAVA | ...)
SQL_SUPPORT | CHAR(3) | Database procedure may contain SQL statements (YES | NO)
CURSOR_SUPPORT | CHAR(3) | The database system returns a cursor (YES | NO)
WAIT_FOR_CHCKPT | CHAR(3) | NO
REMOTE_LOCATION | CHAR(132) | NULL
DEFINITION | LONG | SQL statement for defining the database procedure
COMMENT | LONG | Comment on the database procedure

See also:

Evaluating System Tables, DBPROCEDURES

Reference Manual, Name of a Database Procedure (dbproc_name)


DBPROCPARAMS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DBPROCPARAMS

Definition

The system table DBPROCPARAMS contains all the parameters of a database procedure for which the current user has privileges.

Structure

DBPROCPARAMS

SCHEMANAME | CHAR(32) | Name of the schema of the database procedure
DBPROCNAME | CHAR(32) | Name of the database procedure
OWNER | CHAR(32) | Name of the owner of the database procedure
PARAMETERNAME | CHAR(32) | Name of the parameter
POS | FIXED(4) | Original position of the parameter in the database procedure
IN/OUT-TYPE | CHAR(6) | Type of parameter (IN | OUT)
DATATYPE | CHAR(10) | Data type of the parameter (BOOLEAN | CHAR | DATE | FIXED | FLOAT | TIME | TIMESTAMP)
CODETYPE | CHAR(8) | Code attribute of column (ASCII | BYTE | UNICODE)
LEN | FIXED(4) | Length or precision of the parameter
DEC | FIXED(3) | Number of decimal places of the parameter with data type FIXED
CREATEDATE | DATE(10) | Creation date of the database procedure
CREATETIME | TIME(8) | Creation time of the database procedure

See also:

Evaluating System Tables, DBPROCPARAMS

Reference Manual, Name of a Database Procedure (dbproc_name), Data Type (data_type)


DOMAINCONSTRAINTS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DOMAINCONSTRAINTS

Definition

The system table DOMAINCONSTRAINTS describes domains and their definitions.

Structure

DOMAINCONSTRAINTS

OWNER | CHAR(32) | Name of the owner of the domain
DOMAINNAME | CHAR(32) | Name of the domain
CONSTRAINTNAME | CHAR(32) | Name of the CONSTRAINT definition
DEFINITION | LONG | Text of the CONSTRAINT definition

See also:

Evaluating System Tables, DOMAINCONSTRAINTS

Reference Manual, CONSTRAINT Definition (constraint_definition)


DOMAINS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DOMAINS

Definition

The system table DOMAINS contains information about all domains.

Structure

DOMAINS

OWNER | CHAR(32) | Name of the owner of the domain
DOMAINNAME | CHAR(32) | Name of the domain
DATATYPE | CHAR(10) | Data type of the domain (BOOLEAN | CHAR | DATE | FIXED | FLOAT | INTEGER | LONG | SMALLINT | TIME | TIMESTAMP)
CODETYPE | CHAR(8) | Code attribute of domain (ASCII | BYTE | UNICODE)
LEN | FIXED(4) | Length or precision of the domain
DEC | FIXED(3) | Number of decimal places in domains of data type FIXED
DEFAULT | CHAR(254) | Default value for domain
DEFAULTFUNCTION | CHAR(12) | Name, if the DEFAULT value is one of the following value specifications: NULL | USER | USERGROUP | SYSDBA | UID | DATE | TIME | TIMESTAMP | UTCDATE | TIMEZONE | UTCDIFF | TRUE | FALSE | TRANSACTION Otherwise NULL value
DEFINITION | LONG | Domain definition text
CREATEDATE | DATE(10) | Creation date of the domain
CREATETIME | TIME(8) | Creation time of the domain
COMMENT | LONG | Comment on the domain

See also:

Evaluating System Tables, DOMAINS

Reference Manual, Data Type (data_type), Specifying Values (extended_value_spec)


FILEDIRECTORIES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation FILEDIRECTORIES

Definition

The system table FILEDIRECTORIES describes all file directories, that is, the general directory as well as the local directories of all database sessions.

Structure

FILEDIRECTORIES

SESSIONID | FIXED(10) | ID of the database session to which the local file directory belongs NULL for the general file directory
TASKID | FIXED(10) | ID of the task to which the local file directory belongs NULL for the general file directory
MAXUSEDFILEID | CHAR(8) BYTE | Largest assigned file number - for a local file directory, file number for temporary files - for a general file directory, file number for persistent files
ENTRYCOUNT | FIXED(10) | Number of entries in this file directory
CACHEENTRYCOUNT | FIXED(10) | Number of entries buffered in the cache of the local file directory NULL for the general file directory
HASHTABLESLOTCOUNT | FIXED(10) | Number of slots in the hash table of the file directory
USEDHASHTABLESLOTCOUNT | FIXED(10) | Number of occupied slots in the hash table of the file directory
MAXHASHTABLECHAINENTRYCOUNT | FIXED(10) | Longest hash chain in the hash table of the file directory since the last enlargement of the hash chain
RESIZEHASHTABLECOUNT | FIXED(10) | Number of times the hash table had to be resized
USEDPAGECOUNT | FIXED(10) | Number of occupied data pages for the general file directory NULL for the local directories
STATISTICSDELTACOUNT | FIXED(10) | Number of file directory entries that were changed after a savepoint
CURRENTSTATISTICSDELTACOUNT | FIXED(10) | Number of file directory entries that were changed after the current savepoint


FILES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation FILES

Definition

The system table FILES describes all internal database files except for LONG files.

Structure

FILES

FILEID | CHAR(8) BYTE | ID of the file
SESSIONID | FIXED(10) | ID of the database session in which temporary files were created NULL for persistent files
ROOT | FIXED(10) | Page number of the file root
TYPE | CHAR(20) | Type of file (TABLE | INDEX | FIXED OBJECT | VARIABLE OBJECT | KEYED OBJECT | KEYED OBJECT INDEX | SHORT COLUMN FILE | internal file type for temporary files | UNKNOWN)
PRIMARYFILEID | CHAR(8) BYTE | ID of the corresponding table if the file is of the type SHORT COLUMN FILE or INDEX or ID of the corresponding KEYED OBJECT if the file is of the type KEYED OBJECT INDEX or NULL if the file is of any other type
FILESTATE | CHAR(20) | File status (OK | DELETED | BAD | READ ONLY | UNKNOWN)
ENTRYCOUNT | FIXED(20) | Number of entries in the file NULL if there are no entries or if ENTRYCOUNT has not yet been determined
TREEINDEXSIZE | FIXED(20) | Space that is occupied by index pages of the file (KB) NULL if the file has no index pages or if TREEINDEXSIZE has not yet been determined
TREELEAVESSIZE | FIXED(20) | Space that is occupied by the leaf pages of the file (KB) NULL if TREELEAVESIZE has not yet been determined
LOBSIZE | FIXED(20) | Space that is occupied by LONG values of the table (KB) NULL if the file is not a table or if LOBSIZE has not yet been determined


FOREIGNKEYCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation FOREIGNKEYCOLUMNS

Definition

The system table FOREIGNKEYCOLUMNS contains the columns of all the referential CONSTRAINT definitions for which the current user has privileges.

Structure

FOREIGNKEYCOLUMNS

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
COLUMNNAME | CHAR(32) | Column name
FKEYNAME | CHAR(32) | Name of the referential CONSTRAINT definition
REFSCHEMANAME | CHAR(32) | Name of the schema of the referenced table
REFOWNER | CHAR(32) | Name of the owner of the referenced table
REFTABLENAME | CHAR(32) | Name of the referenced table
REFCOLUMNNAME | CHAR(32) | Name of the column of the referenced table
RULE | CHAR(18) | Rules for deleting the table
CREATEDATE | DATE(10) | Creation date of the referential CONSTRAINT definition
CREATETIME | TIME(8) | Creation time of the referential CONSTRAINT definition
COMMENT | LONG | Comment on the referential CONSTRAINT definition

See also:

Evaluating System Tables, FOREIGNKEYCOLUMNS

Reference Manual, Name of a Referential Constraint (referential_constraint_name)


FOREIGNKEYS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation FOREIGNKEYS

Definition

The system table FOREIGNKEYS contains all the referential CONSTRAINT definitions for which the current user has privileges.

Structure

FOREIGNKEYS

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
FKEYNAME | CHAR(32) | Name of the referential CONSTRAINT definition
RULE | CHAR(18) | Rules for deleting the table
CREATEDATE | DATE(10) | Creation date of the referential CONSTRAINT definition
CREATETIME | TIME(8) | Creation time of the referential CONSTRAINT definition

See also:

Evaluating System Tables, FOREIGNKEYS

Reference Manual, Name of a Referential Constraint (referential_constraint_name)


FUNCTIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation FUNCTIONS

Definition

The system table FUNCTIONS contains all the database functions for which the current user has privileges.

Structure

FUNCTIONS

SCHEMANAME | CHAR(32) | Name of the schema of the database function
FUNCTIONNAME | CHAR(32) | Name of the database function
OWNER | CHAR(32) | Name of the owner of the database function
PARAMETER | FIXED(4) | Number of parameters for the database function
CREATEDATE | DATE(10) | Creation data of the database function
CREATETIME | TIME(8) | Creation time of the database function
SQL_SUPPORT | CHAR(3) | Database function may contain SQL statements (YES | NO)
DETERMINISTIC | CHAR(3) | Database function can be deterministic (YES | NO)
DEFINITION | LONG | SQL statement for defining the database function
COMMENT | LONG | Comment on the database function

See also:

Evaluating System Tables, FUNCTIONS

Reference Manual, Name of a Database Function (dbfunction_name)


GARBAGECOLLECTOR_STATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation GARBAGECOLLECTOR_STATISTICS

Definition

The system table GARBAGECOLLECTOR_STATISTICS describes garbage collector activity.

Structure

GARBAGECOLLECTOR_STATISTICS

TASKID | FIXED(10) | ID of the task that is running as a garbage collector
ACTIVE | CHAR (3) | Task is active (YES | NO)
ACTIVE_COUNT | FIXED(20) | Number of times the task was activated
DELETE_OBJ | FIXED(20) | Number of persistent objects released by the garbage collectors
RELHIST_NORMAL | FIXED(20) | Number of history entries released by the garbage collectors
RELHIST_SENSITIVE | FIXED(20) | NULL value (no longer in use)
RELHIST_TRUNCATE | FIXED(20) | NULL value (no longer in use)
HIST_CREATE_FILE | FIXED(20) | Number of ‘Create Container’ history entries released by the garbage collectors
HIST_DELETE_OBJ | FIXED(20) | Number of ‘Delete Object’ history entries released by the garbage collectors
HIST_DROP_FILE | FIXED(20) | Number of ‘Drop Container’ history entries released by the garbage collectors
HIST_LOCK_OBJ | FIXED(20) | Number of ‘Lock Object’ history entries released by the garbage collectors
HIST_INSERT_OBJ | FIXED(20) | Number of ‘Insert Object’ history entries released by the garbage collectors
HIST_NEW_OBJ | FIXED(20) | Number of ‘New Object’ history entries released by the garbage collectors
HIST_UPDATE_OBJ | FIXED(20) | Number of ‘Update Object’ history entries released by the garbage collectors
RELPAGE_EMPTY | FIXED(20) | Number of pages released by the garbage collectors because they were empty
RELPAGE_DROPFILE | FIXED(20) | Number of pages that were released due to a ‘Drop Container’ statement
DROP_FILE | FIXED(20) | Number of ‘Drop Container’ commands carried out by the garbage collectors

See also:

Concepts of the Database System, History Management


HISTORYINFO (SAP Library - MaxDB Library)

 Entering content frame

Object documentation HISTORYINFO

Definition

The system table HISTORYINFO displays information regarding data history. This history is necessary for providing data for a consistent view.

Structure

HISTORYINFO

FILENO | FIXED(10) | Number of the history file
FIRSTTRANS | CHAR(20) | Oldest transaction that has not yet been processed by the garbage collector
LASTTRANS | CHAR(20) | Most recent transaction that has not yet been processed by the garbage collector
PAGECOUNT | FIXED(10) | Number of pages used by the history file and all undo log files referenced by it


HOTSTANDBYCOMPONENT (SAP Library - MaxDB Library)

 Entering content frame

Object documentation HOTSTANDBYCOMPONENT

Definition

The system table HOTSTANDBYCOMPONENT describes some of the details of the hot standby component in which the information of this system table is queried.

Structure

HOTSTANDBYCOMPONENT

LOCALNODE | CHAR(64) | Name with which hot standby component can be addressed
MASTERLOCALNODE | CHAR(64) | Name with which corresponding master component can be addressed
STANDBYROLE | CHAR(8) | Role within hot standby configuration (MASTER | STANDBY | UNKNOWN)
TAKEOVERDATE | TIMESTAMP | Time at which a TAKEOVER statement was received
DELAYTIME | FIXED(10) | Minimum number of seconds that must pass between the change being made in the master component, and the change also being made in this standby component
STANDBYSTATEDATE | TIMESTAMP | Time at which component reached the STANDBY operational state
SYNCHRONIZERECEIVECOUNT | FIXED(10) | Number of SYNCHRONIZE statements received by the component
FIRSTNEEDEDLOGOFFSET | FIXED(10) | Oldest position in log area from which log entries have to be redone
LASTVALIDLOGOFFSETRECEIVED | FIXED(10) | Position in log area up to which component can read log entries; this position was transferred with the last SYNCHRONIZE statement
INITSTANDBYDATE | TIMESTAMP | Time at which component received last INIT STANDBY statement
RESTARTSTANDBYDATE | TIMESTAMP | Time at which component sent last RESTART STANDBY statement
LASTSYNCHRONIZEDATE | TIMESTAMP | Time at which component received last SYNCHRONIZE statement
PREPARESTANDBYDATE | TIMESTAMP | Time at which component sent last PREPARE STANDBY statement
REGISTERSTANDBYDATE | TIMESTAMP | Time at which component sent last REGISTER STANDBY statement

See also:

Concepts of the Database System, Architecture of a Hot Standby System


HOTSTANDBYGROUP (SAP Library - MaxDB Library)

 Entering content frame

Object documentation HOTSTANDBYGROUP

Definition

The system table HOTSTANDBYGROUP describes which information the hot standby component (that is, the hot standby component in which the information from this system table is queried) holds about the other standby components.

Structure

HOTSTANDBYGROUP

LOCALNODE | CHAR(64) | Name with which component can be addressed
ADDNODEDATE | TIMESTAMP | Time at which component was added to hot standby configuration
REMOVENODEDATE | TIMESTAMP | Time at which component was deleted from hot standby configuration
STATE | CHAR(20) | Status of component (UNKNOWN, PREPARE STANDBY, WAIT FOR SYNCHRONIZE, DEACTIVATED, REGISTER STANDBY, REMOVED, ADDED)
PREPARESTANDBYDATE | TIMESTAMP | Time at which component received last PREPARE STANDBY statement
REGISTERSTANDBYDATE | TIMESTAMP | Time at which component received last REGISTER STANDBY statement
SYNCHRONIZEDATE | TIMESTAMP | Time at which component sent last SYNCHRONIZE statement
SUCCESSFULSYNCHRONIZEDATE | TIMESTAMP | Time at which last successful SYNCHRONIZE statement was executed
LASTVALIDLOGOFFSETSENT | FIXED(10) | Last position sent by the master component in log area, up to which log entries can be remade by the standby components
FIRSTNEEDELOGOFFSET | FIXED(10) | Oldest position in log area up to which master component can write without overwriting log pages required by standby components
SYNCHRONIZESENDCOUNT | FIXED(10) | Number of sent SYNCHRONIZE statements
SYNCHRONIZERETRYCOUNT | FIXED(10) | Number of SYNCHRONIZE statements that have failed since last successful SYNCHRONIZE statement

See also:

Concepts of the Database System, Architecture of a Hot Standby System


INDEXCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation INDEXCOLUMNS

Definition

The system table INDEXCOLUMNS contains detailed information about the indexes for which the current user has privileges.

Structure

INDEXCOLUMNS

SCHEMANAME | CHAR(32) | Name of the schema of the index
OWNER | CHAR(32) | Name of the owner of the index
TABLENAME | CHAR(32) | Name of the table
INDEXNAME | CHAR(32) | Name of the index
FILEID | CHAR(8) | ID of the index file
TYPE | CHAR(6) | Index type (UNIQUE | NULL)
COLUMNNAME | CHAR(32) | Column name
SORT | CHAR(4) | Sort sequence for the column (ASC | DESC)
COLUMNNO | FIXED(4) | Number of the column in the index
DATATYPE | CHAR(10) | Data type of the domain (BOOLEAN | CHAR | DATE | FIXED | FLOAT | INTEGER | SMALLINT | TIME | TIMESTAMP)
LEN | FIXED(4) | Length or precision of the definition of the column
CREATEDATE | DATE(10) | Creation date of the index
CREATETIME | TIME(8) | Creation time of the index
INDEX_USED | FIXED(10) | Frequency of use in search operations
FILESTATE | CHAR(20) | Status of the index (OK | BAD | MISSING)
DISABLED | CHAR(3) | Index not active for search operations (YES | NO)
COMMENT | LONG | Comment on the index

See also:

Evaluating System Tables, INDEXCOLUMNS

Reference Manual, Index Name (index_name)


INDEXES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation INDEXES

Definition

The system table INDEXES contains all the indexes for which the current user has privileges.

Structure

INDEXES

SCHEMANAME | CHAR(32) | Name of the schema of the index
OWNER | CHAR(32) | Name of the owner of the index
TABLENAME | CHAR(32) | Name of the table
INDEXNAME | CHAR(32) | Name of the index
FILEID | CHAR(8) | ID of the index file
TYPE | CHAR(6) | Index type (UNIQUE | NULL)
CREATEDATE | DATE(10) | Creation date of the index
CREATETIME | TIME(8) | Creation time of the index
INDEX_USED | FIXED(10) | Frequency of use in search operations
FILESTATE | CHAR(20) | Index status (OK | DELETED | BAD | READ ONLY | UNKNOWN)
DISABLED | CHAR(3) | Index not active for search operations (YES | NO)
COMMENT | LONG | Comment on the index

If the INDEXES system table is called by the database system administrator, information on all database users’ indexes is displayed.

See also:

Evaluating System Tables, INDEXES

Reference Manual, Index Name (index_name)


INDEXSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation INDEXSTATISTICS

Definition

The statistics system table INDEXSTATISTICS contains information about the structure and sizes of indexes.

Structure

INDEXSTATISTICS

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
INDEXNAME | CHAR(32) | Index name (NULL for unnamed indexes)
COLUMNNAME | CHAR(32) | Name of an inverted column
DESCRIPTION | CHAR(40) | Description of how to interpret the following columns (see DESCRIPTION Column table)
CHAR_VALUE | CHAR(12) | Alphanumeric value
NUMERIC_VALUE | FIXED(10) | Numeric value

DESCRIPTION Column

Value | Explanation
Root pno | NUMERIC_VALUE contains the page number of the B* tree root
File type | CHAR_VALUE contains the B* tree type
Used pages | NUMERIC_VALUE contains the number of pages used by the index
Index pages | NUMERIC_VALUE contains the number of B* tree index pages used by the index
Leaf pages | NUMERIC_VALUE contains the number of leaf pages used by the index
Index levels | NUMERIC_VALUE contains the number of B* tree index levels
Space used in all pages(%) | NUMERIC_VALUE contains the percentage of the B* tree root pages used
Space used in root page(%) | NUMERIC_VALUE contains the percentage of the B* tree root pages used
Space used in index pages(%) | NUMERIC_VALUE contains the percentage of the B* tree index pages used
Space used in index pages(%) min | NUMERIC_VALUE contains the minimum percentage of the B* tree index pages used
Space used in index pages(%) max | NUMERIC_VALUE contains the maximum percentage of the B* tree index pages used
Space used in leaf pages(%) | NUMERIC_VALUE contains the percentage of the B* tree leaf pages used
Space used in leaf pages(%) min | NUMERIC_VALUE contains the minimum percentage of the B* tree leaf pages used
Space used in leaf pages(%) max | NUMERIC_VALUE contains the maximum percentage of the B* tree leaf pages used
Secondary keys (index lists) | NUMERIC_VALUE contains the number of different values in the indexed columns
Avg secondary key length | NUMERIC_VALUE contains the average length of the index values
Min secondary key length | NUMERIC_VALUE contains the minimum length of the index values
Max secondary key length | NUMERIC_VALUE contains the maximum length of the index values
Avg separator length | NUMERIC_VALUE contains the average length of a B* tree separator
Min separator length | NUMERIC_VALUE contains the minimum length of the separator
Max separator length | NUMERIC_VALUE contains the maximum length of the separator
Primary keys | NUMERIC_VALUE contains the number of rows in the tables identified by OWNER and TABLENAME
Avg primary keys per list | NUMERIC_VALUE contains the average number of keys per inversion list
Min primary keys per list | NUMERIC_VALUE contains the minimum number of keys per inversion list
Max primary keys per list | NUMERIC_VALUE contains the maximum number of keys per inversion list
Values with selectivity <= 1% | NUMERIC_VALUE contains the number of inversion lists with a selectivity <= 1%
Values with selectivity <= 5% | NUMERIC_VALUE contains the number of inversion lists with a selectivity between 1% and 5%
Values with selectivity <= 10% | NUMERIC_VALUE contains the number of inversion lists with a selectivity between 5% and 10%
Values with selectivity <= 25% | NUMERIC_VALUE contains the number of inversion lists with a selectivity between 10% and 25%.
Values with selectivity > 25% | NUMERIC_VALUE contains the number of inversion lists with a selectivity > 25%

See also:

Concepts of the Database System, B* Tree


INSTANCE (SAP Library - MaxDB Library)

 Entering content frame

Object documentation INSTANCE

Definition

The system table INSTANCE describes some details about the database instance.

Structure

INSTANCE

NODE | CHAR(64) | Name with which the database instance can be addressed
LOCALNODE | CHAR(64) | Name with which the hot standby component can be addressed (if you have a hot standby configuration)
ADMINSTATEDATE | TIMESTAMP | Time at which the ADMIN operational state was reached
ONLINESTATEDATE | TIMESTAMP | Time at which the ONLINE operational state was reached

See also:

Evaluating System Tables, INSTANCE

Concepts of the Database System, Overview of the Database System, Architecture of a Hot Standby System


IOBUFFERCACHES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation IOBUFFERCACHES

Definition

The system table IOBUFFERCACHES contains information on using the IO buffer cache, which is dimensioned by the database parameter CACHE_SIZE.

Structure

IOBUFFERCACHES

TOTALSIZE | FIXED(20) | Configured size of the I/O buffer cache according to the database parameter CACHE_SIZE (KB)
DATACACHEUSEDSIZE | FIXED(20) | Pages used by the data cache (KB)
CONVERTERUSEDSIZE | FIXED(20) | Pages used by the data cache (KB)
LOGQUEUEUSEDSIZE | FIXED(20) | Pages used by the log queue (KB)
IOMANAGEMENTUSEDSIZE | FIXED(20) | Pages used I/0 Management (KB).
FILEDIRECTORYUSEDSIZE | FIXED(20) | Pages used by the file directory (KB)
RESTARTRECORDUSEDSIZE | FIXED(20) | Restart pages that are used for the snapshots (KB)
BLOCKALLOCATORUSEDSIZE | FIXED(5) | Memory used by the block allocators (KB)
UNUSEDSIZE | FIXED(20) | Unused pages (KB)

See also:

MEMORYALLOCATORSTATISTICS


IOTHREADSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation IOTHREADSTATISTICS

Definition

The system table IOTHREADSTATISTICS contains information about all I/O procedures per volume since the last restart.

Structure

IOTHREADSTATISTICS

VOLUMEID | FIXED(10) | Volume ID in the runtime environment
READCOUNT | FIXED(20) | Number of reads
READPAGECOUNT | FIXED(20) | Number of pages read during the read process
READTIME | FIXED(20) | Total time of the read operation with active time measurement (µs)
READTIMEMEASUREMENTCOUNT | FIXED(20) | Number of measured reads
WRITECOUNT | FIXED(20) | Number of write operations
WRITEPAGECOUNT | FIXED(20) | Number of pages written during the read process
WRITETIME | FIXED(20) | Total time of the write operation with active time measurement (µs)
WRITETIMEMEASUREMENTCOUNT | FIXED(20) | Number of measured write operations
PENDINGIOCOUNT | FIXED(5) | Number of pending I/O calls
MAXPENDINGIOCOUNT | FIXED(5) | Maximum number of pending I/O calls
PATH | CHAR(256) | Name of the disk space area on which the I/O calls are executed


IOTHREADSTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation IOTHREADSTATISTICSRESET

Definition

The system table IOTHREADSTATISTICSRESET contains information about all I/O procedures per volume since the last RESET IOTHREADSTATISTICS.

Structure

IOTHREADSTATISTICSRESET

VOLUMEID | FIXED(10) | Volume ID in the runtime environment
READCOUNT | FIXED(20) | Number of reads
READPAGECOUNT | FIXED(20) | Number of pages read during the read process
READTIME | FIXED(20) | Total time of the read operation with active time measurement (µs)
READTIMEMEASUREMENTCOUNT | FIXED(20) | Number of measured reads
WRITECOUNT | FIXED(20) | Number of write operations
WRITEPAGECOUNT | FIXED(20) | Number of pages written during the read process
WRITETIME | FIXED(20) | Total time of the write operation with active time measurement (µs)
WRITETIMEMEASUREMENTCOUNT | FIXED(20) | Number of measured write operations
PENDINGIOCOUNT | FIXED(5) | Number of pending I/O calls
MAXPENDINGIOCOUNT | FIXED(5) | Maximum number of pending I/O calls
PATH | CHAR(256) | Name of the disk space area on which the I/O calls are executed


LOCKLISTSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOCKLISTSTATISTICS

Definition

The statistics system table LOCKLISTSTATISTICS contains information about the used space in the lock list.

Structure

LOCKLISTSTATISTICS

DESCRIPTION | CHAR(40) | Description of how to interpret the content of the VALUE column (see table Column DESCRIPTION)
VALUE | CHAR(12) | Value

DESCRIPTION Column

Value | Explanation
MAX LOCKS | VALUE contains the number of available locks in the lock list
TRANS LIST REGIONS | VALUE contains the number of semaphores for transactions
TABLE LIST REGIONS | VALUE contains the number of semaphores for tables
ROW LIST REGIONS | VALUE contains the number of the semaphore for rows
ENTRIES | VALUE contains an internal measure (entries) for the lock list size
USED ENTRIES | VALUE contains the number of entries for locks and lock requests
USED ENTRIES(%) | VALUE contains the percentage of entries used for locks and lock requests
AVG USED ENTRIES | VALUE contains the average number of entries used for locks and lock requests
AVG USED ENTRIES(%) | VALUE contains the average percentage of entries used for locks and lock requests
MAX USED ENTRIES | VALUE contains the maximum number of entries for locks and lock requests
MAX USED ENTRIES(%) | VALUE contains the maximum percentage of entries used for locks and lock requests
LOCK ESCALATION VALUE | VALUE contains the number of table rows from which the lock rows are converted into table locks (lock escalation)
LOCK ESCALATIONS | VALUE contains the number of lock escalations
LOCK COLLISIONS | VALUE contains the number of lock requests that could not be satisfied (immediately)
DEADLOCKS | VALUE contains the number of situations where at least two transactions collided with each other due to held and requested locks in such a way that this collision can be resolved only by implicitly ending a transaction
SQL REQUEST TIMEOUTS | VALUE contains the number of lock requests that could not be satisfied because they had exceeded the maximum wait time
TRANSACTIONS HOLDING LOCKS | VALUE contains the number of transactions with assigned locks
TRANSACTIONS REQUESTING LOCKS | VALUE contains the number of transactions requesting locks
CHECKPOINT WANTED | If the VALUE column contains the value TRUE, the lock list is closed, i.e. no exclusive lock can be assigned to a transaction without exclusive lock because a checkpoint was requested
SHUTDOWN WANTED | If the column VALUE contains the value TRUE, the lock list is closed because a shutdown was requested

See also:

Concepts of the Database System, Locking for Database Objects


LOCKS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOCKS

Definition

The system table LOCKS describes the current lock entries and entries for lock requests.

Structure

LOCKS

SESSION | FIXED(10) | ID of the database session
TRANSCOUNT | CHAR(20) | Transaction identification in the database session
PROCESS | FIXED(10) | Process identification in the database instance
USERNAME | CHAR(32) | Name of the user
DATE | DATE(10) | Creation date of the lock
TIME | TIME(8) | Creation time of the lock
TERMID | CHAR(18) | User terminal identification
LASTWRITE | CHAR(10) | Elapsed time since the last SQL statement for data manipulation
LOCKMODE | CHAR(14) | Type of lock (NULL value | SHARE | EXCLUSIVE)
LOCKSTATE | CHAR(10) | Status of lock
APPLPROCESS | FIXED(10) | Process identification on the client hardware
APPLNODE | CHAR(64) | Client hardware identification
SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
TABLEID | CHAR(8) BYTE | ID of the table
ROWIDLENGTH | FIXED(4) | Length of the key of the locked row
ROWIDHEX | CHAR(64) BYTE | Start of the key of the locked row in hexadecimal notation
ROWID | CHAR(128) | Start of the key of the locked row

See also:

Evaluating System Tables, LOCKS

Concepts of the Database System, Locking for Database Objects


LOCK_WAITS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOCK_WAITS

Definition

The system table LOCK_WAITS describes the lock requests.

Structure

LOCK_WAITS

TABLENAME | CHAR(32) | Name of the table
TABLEID | CHAR(8) BYTE | ID of the table
H_TERMID | CHAR(18) | ID of user terminal that holds the lock
H_PROCESS | FIXED(10) | ID of user process that holds the lock
H_APPLPROCESS | FIXED(10) | ID of process on the client hardware that holds the lock
H_APPLNODE | CHAR(64) | ID of client hardware on which the application process runs that holds the lock
H_ROWIDHEX | CHAR(64) BYTE | Start of the key of the locked row in hexadecimal notation
H_ROWID | CHAR(128) | Start of the key of the locked row
H_LOCKMODE | CHAR(14) | Type of lock (NULL value | SHARE | EXCLUSIVE)
H_DATE | DATE(10) | Creation date of the lock
H_TIME | TIME(8) | Creation time of the lock
H_LOCKTIMEOUT | CHAR(10) | Always receives NULL value
R_TERMID | CHAR(18) | ID of user terminal that requests the lock
R_PROCESS | FIXED(10) | ID of user process that requests the lock
R_APPLPROCESS | FIXED(10) | ID of process on the client hardware that requests the lock
R_APPLNODE | CHAR(64) | ID of client hardware on which the application process runs that requests the lock
R_ROWIDHEX | CHAR(64) BYTE | Start of key of requested row in hexadecimal format
R_ROWID | CHAR(128) | Start of key of requested row
R_REQMODE | CHAR(14) | Type of lock request (NULL value | SHARE | EXCLUSIVE)
R_DATE | DATE(10) | Creation date of lock request
R_TIME | TIME(8) | Creation time of lock request
R_REQTIMEOUT | CHAR(10) | Time remaining until REQUEST_TIMEOUT has expired

See also:

Concepts of the Database System, Locking for Database Objects


LOGINFORMATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOGINFORMATION

Definition

The LOGINFORMATION system table describes the log management status.

Structure

LOGINFORMATION

LOGVOLUMEENABLED | CHAR(3) | Log entries are written in the log area (YES | NO)
AUTOMATICOVERWRITE | CHAR(3) | Overwrite mode is activated for the log area (YES | NO)
LOGWRITERSUSPENDED | CHAR(3) | Log writing on disk is suspended, to enable physical disk backup (YES | NO)
FLUSHMODE | CHAR(20) | Criterion that determines if a page may be written multiple times at the same offset (MINIMIZE SPACE | MAXIMIZE SPACE)
DEVICESTATE | CHAR(20) | State of the log (OK | HISTORY LOST | CLEARED | CLEARING | PARTIALLY CLEARED | PARTIALLY CLEARING)
LOGFULL | CHAR(3) | Log area is completely filled (YES | NO)
PENDINGLOGSIZE | FIXED(20) | Size specification for the newly defined log area that is not yet active

See also:

Concepts of the Database System, Logging Transactions


LOGQUEUESTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOGQUEUESTATISTICS

Definition

The system table LOGQUEUESTATISTICS contains the number of certain log-related events that were counted for each log queue since the last restart.

Structure

LOGQUEUESTATISTICS

QUEUEID | FIXED(5) | ID of the log queue
QUEUEMAXUSED | FIXED(5) | Number of write transactions
QUEUEINSERTCOUNT | FIXED(20) | Number of log entries inserted into the log queue
QUEUEOVERFLOWCOUNT | FIXED(10) | Number of wait situations due to log queue overflow
GROUPCOMMITCOUNT | FIXED(10) | Number of log pages whose writing was waited for by more than one transaction
WAITCOUNT | FIXED(10) | Number of COMMIT-/ROLLBACK entries
MAXWAITCOUNTPERPAGE | FIXED(10) | Maximum number of transactions that simultaneously waited for the same log page to be written
PHYSICALWRITECOUNT | FIXED(10) | Number of write operations

See also:

Evaluating System Tables, LOGQUEUESTATISTICS

Concepts of the Database System, Logging Transactions


LOGQUEUESTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOGQUEUESTATISTICSRESET

Definition

The system table LOGQUEUESTATISTICSRESET contains the number of certain log-related events that were counted for each log queue since the last RESET LOGQUEUESTATISTICS or RESET ALL.

Structure

LOGQUEUESTATISTICSRESET

QUEUEID | FIXED(5) | ID of the log queue
QUEUEMAXUSED | FIXED(5) | Number of write transactions
QUEUEINSERTCOUNT | FIXED(20) | Number of log entries inserted into the log queue
QUEUEOVERFLOWCOUNT | FIXED(10) | Number of wait situations due to log queue overflow
GROUPCOMMITCOUNT | FIXED(10) | Number of log pages whose writing was waited for by more than one transaction
WAITCOUNT | FIXED(10) | Number of COMMIT-/ROLLBACK entries
MAXWAITCOUNTPERPAGE | FIXED(10) | Maximum number of transactions that simultaneously waited for the same log page to be written
PHYSICALWRITECOUNT | FIXED(10) | Number of write transactions

See also:

Concepts of the Database System, Logging Transactions


LOGSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOGSTATISTICS

Definition

The system table LOGSTATISTICS describes the degree to which the log management is being utilized and the number of special logging-related events that occurred since the last restart.

Structure

LOGSTATISTICS

USABLESIZE | FIXED(20) | Size of the log area (KB)
USEDSIZE | FIXED(20) | Used log area (KB)
USEDSIZEPERCENTAGE | FIXED(3) | Used log area (%)
NOTSAVEDSIZE | FIXED(20) | Size of log area not yet saved (KB)
NOTSAVEDPERCENTAGE | FIXED(3) | Size of log area not yet saved (%)
SAVEPOINTCOUNT | FIXED(10) | Number of savepoints
TRANSACTIONCOUNT | FIXED(10) | Number of transactions
WRITETRANSACTIONCOUNT | FIXED(10) | Number of write transactions
MAXUSEDSESSIONID | FIXED(10) | Highest database session ID assigned
MAXUSEDTRANSACTIONNUMBER | FIXED(15) | Highest transaction ID assigned
QUEUECOUNT | FIXED(5) | Number of log queues
QUEUESIZE | FIXED(5) | Size of the log queue (KB)

See also:

Evaluating System Tables, LOGSTATISTICS

Concepts of the Database System, Logging Transactions


LOGSTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOGSTATISTICSRESET

Definition

The system table LOGSTATISTICSRESET describes the degree to which the log management is being utilized and the number of special logging-related events that occurred since the last RESET LOGSTATISTICS or RESET ALL.

Structure

LOGSTATISTICSRESET

SAVEPOINTCOUNT | FIXED(10) | Number of savepoints
TRANSACTIONCOUNT | FIXED(10) | Number of transactions
WRITETRANSACTIONCOUNT | FIXED(10) | Number of write transactions

See also:

Concepts of the Database System, Logging Transactions


LOGVOLUMES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation LOGVOLUMES

Definition

The system table LOGVOLUMES describes the log volumes in which log entries are stored.

Structure

LOGVOLUMES

ID | FIXED(5) | Number of the volume
PATH | CHAR(256) | Name of the volume
CONFIGUREDSIZE | FIXED(20) | Configured size of the volume (KB)
USABLESIZE | FIXED(20) | Area of the volume that can be used for log entries (KB)
MIRRORPATH | CHAR(256) UNICODE | Name of the mirrored volume NULL, if the volume is not mirrored

See also:

Concepts of the Database System, Logging Transactions


MACHINECONFIGURATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MACHINECONFIGURATION

Definition

The system table MACHINECONFIGURATION contains information about the configuration of the computer on which the database kernel is installed.

Structure

MACHINECONFIGURATION

CPUNUMBER | FIXED(5) | Number of CPUs
PHYSICALMEMORYSIZE | FIXED(10) | Size of physical memory (MB)
VIRTUALMEMORYSIZE | FIXED(10) | Size of virtual memory (MB)


MACHINEUTILIZATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MACHINEUTILIZATION

Definition

The system table MACHINEUTILIZATION contains information about the utilization of the computer on which the database kernel is installed.

Structure

MACHINEUTILIZATION

PHYSICALMEMORYUSABLE | FIXED(10) | Size of free physical memory (MB)
VIRTUALMEMORYUSABLE | FIXED(10) | Size of free virtual memory (MB)
PROCESSUSEDUSERTIME | FIXED(10) | Time the database kernel process has spent in user mode since the database instance was started (s)
PROCESSUSEDSYSTEMTIME | FIXED(10) | Time the database kernel process has spent in system mode since the database instance was started (s)
MACHINEUSEDUSERTIME | FIXED(10) | Time the computer has spent in user mode since the database instance was started (s)
MACHINEUSEDSYSTEMTIME | FIXED(10) | Time the computer has spent in system mode since the database instance was started (s)
MACHINEUSEDIDLETIME | FIXED(10) | Time the computer has spent in idle mode since the database instance was started (s)
CPULOAD | CHAR(12) | CPU load on the computer


MAPCHARSETS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MAPCHARSETS

Definition

The system table MAPCHARSETS contains all the mapchar sets.

Structure

MAPCHARSETS

MAPCHARSETNAME | CHAR(32) | Name of the mapchar set
CODE | CHAR(8) | Code attribute for which the mapchar set was defined (ASCII | UNICODE)
INTERN | CHAR(2) BYTE | Original form in hexadecimal notation
MAP_CODE | CHAR(4) BYTE | Target form in hexadecimal notation
MAP_CHARACTER | CHAR(2) | Target form in plain text notation

See also:

Evaluating System Tables, MAPCHARSETS

Reference Manual, Mapchar Set Name (mapchar_set_name)


MEMORYALLOCATORSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MEMORYALLOCATORSTATISTICS

Definition

The system table MEMORYALLOCATORSTATISTICS contains information on accesses to allocators since the last time the database instance was started.

Structure

MEMORYALLOCATORSTATISTICS

ALLOCATORNAME | CHAR(40) | Name of the allocator
USEDSIZE | FIXED(20) | Amount of memory made available by the allocator (bytes)
MAXUSEDSIZE | FIXED(20) | Maximum amount of memory made available by the allocator (bytes)
ALLOCATEDSIZE | FIXED(20) | Amount of memory reserved by the allocator (bytes)
ALLOCATECOUNT | FIXED(20) | Number of memory allocations
DEALLOCATECOUNT | FIXED(20) | Number of memory releases
FAILEDALLOCATECOUNT | FIXED(20) | Number of memory requests not fulfilled
FOUNDERRORCOUNT | FIXED(10) | Number of errors found in the allocator and corrected internally
BASEALLOCATORNAME | CHAR(40) | Name of the allocator that provides this allocator with memory
BASEALLOCATECOUNT | FIXED(20) | Number of memory reservations for the allocator BASEALLOCATORNAME
BASEDEALLOCATECOUNT | FIXED(20) | Number of memory deallocations sent to the allocator BASEALLOCATORNAME


MONITOR (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR

Definition

The table MONITOR combines the following monitor system tables: MONITOR_CACHES, MONITOR_LOAD, MONITOR_LOCK, MONITOR_LOG, MONITOR_LONG, MONITOR_PAGES, MONITOR_ROW and MONITOR_TRANS.

Structure

MONITOR

TYPE | CHAR(8)
DESCRIPTION | CHAR(40)
VALUE | FIXED(20)


MONITOR_CACHES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_CACHES

Definition

This monitor system table MONITOR_CACHES contains information about executed operations on the various caches.

Structure

DESCRIPTION Column

Value | Explanation
Data cache accesses | Number of accesses to pages in the data cache (number of accesses to data pages and pages with rollback information)
Data cache accesses successful | Number of successful accesses to pages in the data cache
Data cache accesses unsuccessful | Number of unsuccessful accesses to pages in the data cache
Data cache hit rate (%) | Percentage of successful accesses to data pages in the data cache
Catalog cache accesses | Number of accesses to the session-specific catalog cache
Catalog cache accesses successful | Number of successful accesses to the session-specific catalog cache
Catalog cache accesses unsuccessful | Number of unsuccessful accesses to the session-specific catalog cache
Catalog cache hit rate (%) | Percentage of successful accesses to the session-specific catalog cache
Sequence cache accesses | Number of accesses to the sequence cache
Sequence cache accesses successful | Number of successful accesses to the sequence cache
Sequence cache accesses unsuccessful | Number of unsuccessful accesses to the sequence cache
Sequence cache hit rate (%) | Percentage of successful accesses to the sequence cache
Data cache sqlpage accesses | Number of accesses to data pages in the data cache
Data cache sqlpage accesses successful | Number of successful accesses to data pages in the data cache
Data cache sqlpage accesses unsuccessful | Number of unsuccessful accesses to data pages in the data cache
Data cache sqlpage hit rate(%) | Percentage of successful accesses to data pages in the data cache
Data history/undo accesses | Number of accesses to pages with rollback information or information for consistent reading in the data cache
Data history/undo accesses successful | Number of successful accesses to pages with rollback information or information for consistent reading in the data cache
Data history/undo accesses unsuccessful | Number of unsuccessful accesses to pages with rollback information or information for consistent reading in the data cache
Data history/undo hit rate (%) | Percentage of successful accesses to pages with rollback information or information for consistent reading in the data cache

The system table MONITOR_CACHES exists only to enable compatibility with older database versions. Instead of the system table MONITOR_CACHES, use the system table CACHESTATISTICS.

See also:

MONITOR


MONITOR_LOAD (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_LOAD

Definition

This monitor system table MONITOR_LOAD contains information about executed SQL statements and access methods.

Structure

DESCRIPTION Column

Value | Explanation
SQL commands | Number of executed SQL statements
PREPAREs | Number of parsed SQL statements
PREPAREs repeated | Number of SQL statements that were parsed again after metadata was changed
EXECUTEs | Number of executions of previously parsed SQL statements
COMMITs | Number of executed COMMIT statements
ROLLBACKs | Number of executed ROLLBACK statements
LOCKs and UNLOCKs | Number of executed LOCK and UNLOCK statements
SUBTRANS BEGINs | Number of SQL statements for opening a subtransaction
SUBTRANS ENDs | Number of SQL statements for closing a subtransaction
SUBTRANS ROLLBACKs | Number of SQL statements for resetting a subtransaction
CREATEs | Number of executed SQL statements for creating database objects
ALTERs | Number of executed SQL statements for altering database objects
DROPs | Number of executed SQL statements for dropping database objects
SELECTs and FETCHes | Number of executed SQL statements for accessing data
SELECTs and FETCHes, rows read | Number of rows read when accessing data
SELECTs and FETCHes, rows qual | Number of rows that were read when accessing data and that satisfied conditions
INSERTs | Number of executed SQL statement for inserting rows
INSERTs, rows inserted | Number of rows inserted
UPDATEs | Number of executed SQL statements for updating rows
UPDATEs, rows read | Number of rows read when updating data
UPDATEs, rows updated | Number of rows updated
DELETEs | Number of executed SQL statements for deleting rows
DELETEs, rows read | Number of rows read when deleting data
DELETEs, rows deleted | Number of rows deleted
Internal DBPROC calls | Number of database procedures executed
Internal trigger calls | Number of triggers executed
Primary key accesses | Number of search operations with direct access via the key
Primary key accesses, rows read | Number of rows read by direct access via the key
Primary key accesses, rows qual | Number of rows that were read by direct access using the key and that satisfied conditions
Primary key range accesses | Number of search operations with accesses within a range of keys
Primary key range accesses, rows read | Number of rows read within a range of keys
Primary key range accesses, rows qual | Number of rows read within a range of keys that satisfied the condition
Index accesses | Number of search operations with accesses to an index
Index accesses, rows read | Number of rows directly accessed using an index
Index accesses, rows qual | Number of rows indirectly that were accessed using an index and that satisfied the condition
Index range accesses | Number of search operations using an index range
Index range accesses, rows read | Number of rows indirectly accessed using an index range
Index range accesses, rows qual | Number of rows that satisfied the condition that were indirectly accessed via an index using an index range
Isolated index accesses | Number of search operations completely or partially satisfied by an index without accessing the corresponding base table rows
Isolated index accesses, rows read | Number of keys accessed within the search operations denoted in ISOLATED INDEX ACCESSES
Isolated index accesses, rows qual | Number of keys that were accessed within the search operations denoted in ISOLATED INDEX ACCESSES and that satisfied the condition
Isolated index range accesses | Number of search operations using a part of an index with values within a range without accessing the rows of the base table
Isolated index range accesses, rows read | Number of primary/secondary keys accessed within the search operations denoted by ISOLATED INDEX RANGE ACCESSES
Isolated index range accesses, rows qual | Number of primary/secondary keys that were accessed within the search operations denoted by ISOLATED INDEX RANGE ACCESSES and that satisfied the condition
Table scans | Number of search operations through the whole base table
Table scans, rows read | Number of rows accessed within search operations through the whole base table
Table scans, rows qual | Number of rows that were accessed within search operations through the whole base table and that satisfied the condition
Isolated index scans | Number of search operations for which a complete index was accessed without accessing rows of the base table
Isolated index scans, rows read | Number of index rows accessed within the search operations described under ISOLATED INDEX SCANS
Isolated index scans, rows qual | Number of index rows that were accessed within the search operations described under ISOLATED INDEX SCANS that satisfied the condition
Memory sorts / sort&merge | Number of sorting operations in the main memory to build temporary indexes
Memory sorts / sort&merge, rows read | Number of rows read to build temporary indexes
Sorts by insertion | Number of sorting operations by inserts
Sorts by insertion, rows inserted | Number of rows inserted during the sorting operation

See also:

MONITOR


MONITOR_LOCK (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_LOCK

Definition

The monitor system table MONITOR_LOCK contains information about operations performed by the lock management functions of the database system.

Structure

DESCRIPTION Column

Value | Explanation
Lock list avg used entries | Average number of entries in the lock list
Lock list max used entries | Maximum number of entries in the lock list
Lock list collisions | Number of lock collisions
Lock list escalations | Number of lock escalations
Lock list inserted row entries | Number of inserted row locks
Lock list inserted table entries | Number of inserted table locks
Detected deadlocks | Number of situations where at least two transactions collided with each other due to held and requested locks in such a way that this collision can be resolved only by implicitly ending a transaction
Request timeouts | Number of lock requests that could not be satisfied because they had exceeded the maximum wait time

See also:

MONITOR

Concepts of the Database System, Locking for Database Objects


MONITOR_LOG (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_LOG

Definition

The monitor system table MONITOR_LOG contains information about operations performed by the logging functions of the database system.

Structure

DESCRIPTION Column

Value | Explanation
Log page physical reads | Number of physically read log pages
Log page physical writes | Number of physically written log pages
Log queue pages | Size of the log queue in pages
Log queue max used pages | Maximum number of used log queue pages
Log queue inserts | Number of insert operations in the log queue
Log queue overflows | Number of log queue overflows
Log queue group commits | Number of group COMMITs
Log queue waits for log page write | Number of waits for log write operations
Log queue max waits per log page | Maximum number of waits per log page
Log queue avg waits per log page | Average number of waits per log page

The system table MONITOR_LOG exists only to enable compatibility with older database versions. Instead of the system table MONITOR_LOG, use the system table LOGSTATISTICS.

See also:

MONITOR

Concepts of the Database System, Logging Transactions


MONITOR_LONG (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_LONG

Definition

The monitor system table MONITOR_LONG contains information about read and write operations for LONG columns.

Structure

DESCRIPTION Column

Value | Explanation
BD read long | Number of read operations for LONG columns
BD write long | Number of write operations for LONG columns

See also:

MONITOR


MONITOR_OMS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_OMS

Definition

The system table MONITOR_OMS describes the activities of DB procedures (OMS procedures) since the last restart.

Structure

MONITOR_OMS

IID | CHAR(40) | Interface ID of the component to which the DB procedure belongs
Methodname | CHAR(32) | Name of the DB procedure = name of the C++ method that implements the DB procedure
CallCnt | FIXED(10) | Number of DB procedure calls
AvgRuntime | FIXED(38) | Average runtime per DB procedure call (ms)
SumRuntime | FIXED(10) | Total runtime of all DB procedure calls
OMS_Deref | FIXED(20) | Number of read accesses to the object via the OMS cache (LC_Deref)
LC_Deref | FIXED(20) | Number of read accesses to the object not satisfied by the OMS cache
KeyDeref | FIXED(20) | Number of key accesses to the object
KeyDerefInVersion | FIXED(20) | Number of key accesses within an OMS version
OMS_Store | FIXED(20) | Number of object change notices in the OMS cache
Lc_Store | FIXED(20) | Number of changed objects
OMS_Delete | FIXED(20) | Number of object delete notices in the OMS cache
LC_Delete | FIXED(20) | Number of deleted objects
LC_Lock | FIXED(20) | Number of object lock requests
Derefiter | FIXED(20) | Number of container scans
OMS_Release | FIXED(20) | Number of explicitly released objects in the OMS cache
OMS_ReleaseExecuted | FIXED(20) | Number of object releases actually executed in the OMS cache
LC_LogHops | FIXED(20) | Number of history accesses triggered by read accesses to objects
LC_LogHopsIter | FIXED(20) | Number of history accesses triggered by container scans
Exceptions | FIXED(20) | Number of C++ exceptions
OutOfDateExceptions | FIXED(20) | Number of exceptions triggered by lock requests for non-current objects
Timeouts | FIXED(20) | Number of timeouts with lock requests
OutOfMemoryExceptions | FIXED(20) | Number of occurrences of insufficient memory
SubtransRollbacks | FIXED(20) | Number or reversed subtransactions
SubtransCommits | FIXED(20) | Number of successfully completed subtransactions
MaxSubtransLevel | FIXED(20) | Maximum subtransaction depth
VarObjectLoad | FIXED(20) | Number of variable-length objects
VarObjectStore | FIXED(20) | Number of changed variable-length objects
AvgVarObjectSize | FIXED(20) | Average length of an object of variable length
OmsCacheSize | FIXED(20) | Memory consumption of the component instance
MaxWaitForNewConsView | FIXED(20) | Maximum wait time for a new consistent view
MinWaitForNewConsView | FIXED(20) | Minimum wait time for a new consistent view
AvgWaitForNewConsView | FIXED(20) | Average wait time for a new consistent view
MallocCnt | FIXED(20) | Number of lock requests
MallocMin | FIXED(20) | Smallest requested memory block (bytes)
MallocMax | FIXED(20) | Largest released memory block (bytes)
MallocAvg | FIXED(20) | Average size of a requested memory block (bytes)
FreeCnt | FIXED(20) | Number of memory releases
FreeMin | FIXED(20) | Smallest released memory block (bytes)
FreeMax | FIXED(20) | Largest released memory block (bytes)
FreeAvg | FIXED(20) | Average size of a released memory block (bytes)
DeltaAllocMin | FIXED(20) | Minimum memory requirement change for a procedure call
DeltaAllocMax | FIXED(20) | Maximum memory requirement change for a procedure call
DeltaAllocAvg | FIXED(20) | Average memory requirement change per procedure call
OMS_Terminate | FIXED(20) | Number of transaction failures due to unforeseen errors
MinStreamBufferReadReq | FIXED(20) | Minimum number of communications for reading ABAP tables
MaxStreamBufferReadReq | FIXED(20) | Maximum number of communications for reading ABAP tables
AvgStreamBufferReadReq | FIXED(20) | Average number of communications for reading ABAP tables
MinStreamRowReads | FIXED(20) | Minimum number of rows read from ABAP tables
MaxStreamRowReads | FIXED(20) | Maximum number of rows read from ABAP tables
AvgStreamRowReads | FIXED(20) | Average number of rows read from ABAP tables
MinStreamBufferWriteReq | FIXED(20) | Minimum number of communications for writing ABAP tables
MaxStreamBufferWriteReq | FIXED(20) | Maximum number of communications for writing ABAP tables
AvgStreamBufferWriteReq | FIXED(20) | Average number of communications for writing ABAP tables
MinStreamRowWrites | FIXED(20) | Minimum number of rows written to ABAP tables
MaxStreamRowWrites | FIXED(20) | Maximum number of rows written to ABAP tables
AvgStreamRowWrites | FIXED(20) | Average number of rows written to ABAP tables
OmsKeyCacheHit | FIXED(20) | Number of key accesses satisfied by the key cache
OmsKeyCacheMiss | FIXED(20) | Number of key accesses not satisfied by the key cache
OmsKeyVersion | FIXED(20) | Number of key objects generated within an OMS version
OmsMaxChainLen | FIXED(20) | Maximum list length of the OMS cache data structure
OmsAvgChainLenSearched | FIXED(10.2) | Average number of list elements of the OMS cache data structure searched for dereferencing an object
OmsRehash | FIXED(20) | Number of resizings of the OMS cache data structure
OmsLockObjWaits | FIXED(20) | Number of lock collisions
OmsLockObjAvgWaitDelay | FIXED(20) | Average wait time for the release of locks (µs)

See also:

Database Management in CCMS, Structure link DB Procedures, Structure link OMS Monitor, Structure link Class Container


MONITOR_PAGES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_PAGES

Definition

The MONITOR_PAGES monitor system table contains information about accesses to the pages.

Structure

DESCRIPTION Column

Value | Explanation
Virtual reads | Number of virtual read operations
Virtual writes | Number of virtual write operations
Physical reads | Number of physical read operations
Physical writes | Number of physical write operations
Catalog virtual read | Number of virtual catalog read operations
Catalog virtual writes | Number of virtual catalog write operations
Catalog physical reads | Number of physical catalog read operations
Catalog physical writes | Number of physical catalog write operations
Perm page virtual reads | Number of virtually read permanent pages
Perm page virtual writes | Number of virtually written permanent pages
Perm page physical reads | Number of physically read permanent pages
Perm page physical writes | Number of physically written permanent pages
Temp page virtual reads | Number of virtually read temporary pages
Temp page virtual writes | Number of virtually written temporary pages
Temp page physical reads | Number of physically read temporary pages
Temp page physical writes | Number of physically written temporary pages
LONG page virtual reads | Number of virtually read pages for LONG columns
LONG page virtual writes | Number of virtually written pages for LONG columns
LONG page physical reads | Number of physically read pages for LONG columns
LONG page physical writes | Number of physically written pages for LONG columns
Leaf page virtual reads | Number of virtually read leaf pages
Leaf page virtual writes | Number of virtually written leaf pages
Leaf page physical reads | Number of physically read leaf pages
Leaf page physical writes | Number of physically written leaf pages
Level1 page virtual reads | Number of virtually read index pages at level 1
Level1 page virtual writes | Number of virtually written index pages at level 1
Level1 page physical reads | Number of physically read index pages at level 1
Level1 page physical writes | Number of physically written index pages at level 1
Level2 page virtual reads | Number of virtually read index pages at level 2
Level2 page virtual writes | Number of virtually written index pages at level 2
Level2 page physical reads | Number of physically read index pages at level 2
Level2 page physical writes | Number of physically written index pages at level 2
Level3 page virtual reads | Number of virtually read index pages at level 3
Level3 page virtual writes | Number of virtually written index pages at level 3
Level3 page physical reads | Number of physically read index pages at level 3
Level3 page physical writes | Number of physically written index pages at level 3
Level4 page virtual reads | Number of virtually read index pages at level 4
Level4 page virtual writes | Number of virtually written index pages at level 4
Level4 page physical reads | Number of physically read index pages at level 4
Level4 page physical writes | Number of physically written index pages at level 4
Level5 page virtual reads | Number of virtually read index pages at level 5
Level5 page virtual writes | Number of virtually written index pages at level 5
Level5 page physical reads | Number of physically read index pages at level 5
Level5 page physical writes | Number of physically written index pages at level 5
Converter page virtual reads | Always 0
Converter page virtual writes | Always 0
Converter page physical reads | Number of physically read converter pages
Converter page physical writes | Number of physically written converter pages

See also:

MONITOR


MONITOR_ROW (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_ROW

Definition

The monitor system table MONITOR_ROW contains information about operations on the row level.

Structure

DESCRIPTION Column

Value | Explanation
BD add record perm | Number of rows inserted in permanent tables
BD add record temp | Number of rows inserted in temporary tables
BD repl record perm | Number of rows updated in permanent tables
BD repl record temp | Number of rows updated in temporary tables
BD del record perm | Number of rows deleted from permanent tables
BD del record temp | Number of rows deleted from temporary tables
BD get record perm | Number of rows selected from permanent tables using the key
BD get record temp | Number of rows selected from temporary tables using the key
BD next record perm | Number of rows selected from permanent tables using the predecessor key
BD next record temp | Number of rows selected from temporary tables using the predecessor key
BD prev record perm | Number of rows selected from permanent tables using the successor key
BD prev record temp | Number of rows selected from temporary tables using the successor key
BD select direct record | Number of rows selected using the key
BD select next record | Number of rows selected using the predecessor key
BD select prev record | Number of rows selected using the successor key
BD add to index list perm | Number of insert operations in permanent indexes
BD add to index list temp | Number of insert operations in temporary indexes
BD del from index list perm | Number of delete operations from permanent indexes
BD del from index list temp | Number of delete operations from temporary indexes
BD get index list perm | Number of accesses to permanent indexes
BD get index list temp | Number of accesses to temporary indexes

See also:

MONITOR


MONITOR_TRANS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation MONITOR_TRANS

Definition

The monitor system table MONITOR_TRANS contains information about transactions.

Structure

DESCRIPTION Column

Value | Explanation
SQL commands | Number of SQL statements
Write transactions | Number of transactions with change operations
KB calls | Number of requests via the internal communication basis interface

See also:

MONITOR


OBJECTLOCKS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OBJECTLOCKS

Definition

The OBJECTLOCKS system table contains object locks and object lock requests.

Structure

OBJECTLOCKS

OBJECTID | CHAR(25) | Object ID
HOLDERTASK | FIXED(10) | Task that holds the lock or NULL, if a request is described
REQUESTORTASKID | FIXED(10) | Task that waits for the lock or NULL, if a lock owner is described
LOCKMODE | CHAR(10) | Type of lock (SHARE | EXCLUSIVE)
FILEID | FIXED(20) | ID of the container containing the object identified by the OBJECTID


OMS_HEAP_STATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OMS_HEAP_STATISTICS

Definition

The system table OMS_HEAP_STATISTICS describes the statuses of allocators used in the liveCache.

Structure

OMS_HEAP_STATISTICS

DESCRIPTION | CHAR(40) | Name of the allocator
TOTAL_HEAP_USAGE | FIXED(20) | Currently used memory (bytes)
RESERVED | FIXED(20) | Memory managed by the allocator (bytes)
ALLOC_CNT | FIXED(20) | Number of memory allocations
FREE_CNT | FIXED(20) | Number of memory releases
SYSTEM_ALLOC_CNT | FIXED(20) | Number of memory reservations in the base allocator
SYSTEM_FREE_CNT | FIXED(20) | Number of memory releases in the base allocator
TOTAL_SPINLOCKS | FIXED(20) | Number of attempts to get the spin lock
COLLISIONS | FIXED(20) | Number of failed attempts to get the spin lock
TOTAL_SPINLOOPS | FIXED(10) | Number of attempts to get the spin lock without prior release of the CPU
TOTAL_YIELDLOOPS | FIXED(10) | Number of attempts to get the spin lock after prior release of the CPU
MAX_SPINLOOPS | FIXED(10) | Maximum number of attempts to get the spin lock without prior release of the CPU
MAX_YIELDLOOPS | FIXED(10) | Maximum number of attempts to get the spin lock after prior release of the CPU
ERROR_CNT | FIXED(10) | Number of errors detected and automatically corrected by the allocator

The OMS_HEAP_STATISTICS system table replaces the OMS_MEMORY_USAGE table, which should no longer be used.

See also:

Database Management in CCMS, Structure link Heap Usage, Structure link Memory


OMS_LOCKOBJ_INFO (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OMS_LOCKOBJ_INFO

Definition

The system table OMS_LOCKOBJ_INFO contains information about locks that are explicitly held or requested using the OmsLockObject.

Structure

OMS_LOCKOBJ_INFO

PROCESS | FIXED(10) | ID of the task that holds or requests the lock
SESSION | FIXED(10) | ID of the session that holds or requests the lock
USERNAME | CHAR(32) | Name of the user that holds or requests the lock
TERMID | CHAR(18) | ID of the terminal that the connected application uses
APPLPROCESS | FIXED(10) | Operating system ID of the connected application
APPLNODEID | CHAR(64) | Name of the computer of the remotely connected application
LOCK_HANDLE | CHAR(8) BYTE | User-defined ID of the lock
LOCK_MODE | CHAR(14) | Type of lock (NULL value | SHARE | EXCLUSIVE)
REQ_MODE | CHAR(14) | Type of lock in case of a collision with timeout wait situations (NULL value| SHARE | EXCLUSIVE)
REQ_TIMEOUT | FIXED(10) | Time remaining before timeout

See also:

Concepts of the Database System, Locking for Database Objects

Database Management in CCMS, Structure link OMS Locks, Structure link OMS Monitor


OMSLOCKS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OMSLOCKS

Definition

The OMSLOCKS system table contains locks explicitly requested by users.

Structure

OMSLOCKS

ID | CHAR(8) BYTE | ID of the lock object
TASKID | FIXED(10) | ID of the task
LOCKREQUESTTIMEOUT | FIXED(10) | Timeout for the lock request (s)
LOCKMODE | CHAR(18) | Type of lock (NULL value | SHARE | EXCLUSIVE)
REQUESTMODE | CHAR(18) | Type of lock request (NULL value | SHARE | EXCLUSIVE)


OMS_VERSIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OMS_VERSIONS

Definition

The system table OMS_VERSION contains information about currently available OMS Versions.

Structure

OMS_VERSIONS

OMS_VERSION_ID | CHAR(22) | ID of the version
CREATE_DATE | DATE(10) | Creation date of the version
CREATE_TIME | TIME(8) | Creation time of the version
TRANSVERSION | CHAR(6) | Consistent view assigned to the version
MARKED | CHAR(1) | Flag that can be used by the application
AGE_IN_HOURS | FIXED(4) | Age of the version in hours
UNLOADED | CHAR(3) | Indicates whether the version has been unloaded from the memory
HEAP_USAGE | FIXED(20) | Size of memory used by the version (bytes)
PAGECOUNT | FIXED(20) | Number of pages used by the version, if it has been unloaded
VERSION_DESC | CHAR(512) | Description that can be entered via the application

See also:

Database Management in CCMS, Structure link OMS Versions


OPTIMIZERINFORMATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OPTIMIZERINFORMATION

Definition

The system table OPTIMIZERINFORMATION contains the information about value distributions that is determined by the UPDATE STATISTICS statement and used by the SQL Optimizer.

Structure

OPTIMIZERINFORMATION

SCHEMANAME | CHAR(32) | Name of the schema of the table
TABLENAME | CHAR(32) | Name of the table
COLUMNNAME | CHAR(32) | Name of a single, non-indexed column
INDEXNAME | CHAR(32) | Name of the index
DISTINCTVALUECOUNT | FIXED(10) | Number of distinct values in column, index, or primary key
CALCULATEDSIZE | FIXED(10) | Memory requirements of (primary key) index calculated by last UPDATE STATISTICS (KB)

See also:

Reference Manual, UPDATE STATISTICS Statement (update_statistics_statement)

Concepts of the Database System, SQL Optimizer


OPTIMIZERSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation OPTIMIZERSTATISTICS

Definition

The system table OPTIMIZERSTATISTICS can be used to query statistical values that were generated by an UPDATE STATISTICS statement and are stored in the database catalog. Each row of the table describes statistical values of indexes, columns or the size of a table.

Structure

OPTIMIZERSTATISTICS

SCHEMANAME

CHAR(32)

Name of the schema of the table for which statistical information is available

OWNER

CHAR(32)

Name of the owner of the table for which statistical information is available

TABLENAME

CHAR(32)

Name of the table for which statistical information is available

INDEXNAME

CHAR(32)

Name of the index for which statistical information is available

COLUMNNAME

CHAR(32)

Name of a column for which statistical information is available

DISTINCTVALUES

FIXED(10)

Number of different values if the current row describes a column or an index with one column;
otherwise the number of rows in a table

PAGECOUNT

FIXED(10)

Number of pages used by an index if the current row describes an index;
number of pages of a base table if the current row describes a table;
otherwise NULL value

The system table OPTIMIZERSTATISTICS exists only to enable compatibility with older database versions. Instead of the system table OPTIMIZERSTATISTICS, use the system table OPTIMIZERINFORMATION.


PACKAGES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation PACKAGES

Definition

The system table PACKAGES describes all the packages for which the current user has privileges.

Structure

PACKAGES

OWNER | CHAR(32) | Name of the owner of the package
PACKAGE | CHAR(32) | Name of the package
CREATEDATE | DATE | Creation date of the package
CREATETIME | TIME | Creation time of the package
EXCECUTION_KIND | CHAR(6) | Execution location of database procedure (INPROC | LOCAL)
SQL_SUPPORT | CHAR(3) | Database procedure may contain SQL statements (YES | NO)
REMOTE_LOCATION | CHAR(132) | Execution location
FILE | CHAR(256) | File name of the library that contains the implementation of this package
COMMENT | LONG | Comment for the package


POSTUPGRADECHECKLIST (SAP Library - MaxDB Library)

 Entering content frame

Object documentation POSTUPGRADECHECKLIST

Definition

The system table POSTUPGRADECHECKLIST describes errors that occurred during an upgrade that required the re-execution of SQL statements (for example while attempting to recreate a view table, a trigger or a database procedure). These errors were ignored during the upgrade.

Structure

POSTUPGRADECHECKLIST

UPGRADETYPE | CHAR(40) | Type of upgrade (ImplicitUpgrade | CatalogToUnicode)
SCHEMANAME | CHAR(32) | Name of the schema, to which the object was assigned, that could not be recovered
OWNER | CHAR(32) | Name of the owner of the object that could not be recovered
UPGRADEDATE | TIMESTAMP | Time at which the recovery of the object failed
ERRORNUMBER | INTEGER | Error code that occurred during recovery
ERRORPOSITION | INTEGER | Error position in the statement
STATEMENT | LONG | Text of the failed SQL statement

The system table POSTUPGRADECHECKLIST is only visible for the database system administrator.

Following an upgrade, the existing table POSTUPGRADECHECKLIST in POSTUPGRADECHECKLIST<version> is renamed and a new table POSTUPGRADECHECKLIST generated.

If an upgrade is done for a UNICODE database instance, the upgrade information is stored in the table POSTUPGRADECHECKLISTUNICODE.

See also:

Upgrade


READERWRITERLOCKINFORMATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation READERWRITERLOCKINFORMATION

Definition

The READERWRITERLOCKINFORMATION system table describes reader-writer locks.

Structure

READERWRITERLOCKINFORMATION

READERWRITERLOCKADDRESS | CHAR(20) | Address in memory
SPINLOCKPOOLNAME | CHAR(40) | Name of the spin lock pool used
READERWRITERLOCKINDEX | FIXED(5) | Index in a group of reader-writer locks that use the spin lock pool
LASTENTEREDTASKID | FIXED(10) | ID of the task that last gained access to the reader-writer lock


READERWRITERLOCKSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation READERWRITERLOCKSTATISTICS

Definition

The system table READERWRITERLOCKSTATISTICS describes critical sections and their use since the last restart.

Structure

READERWRITERLOCKSTATISTICS

READERWRITERLOCKADDRESS | CHAR(20) | Address in memory
EXCLUSIVEACCESSCOUNT | FIXED(20) | Number of exclusive accesses to this critical section
NONEXCLUSIVEACCESSCOUNT | FIXED(20) | Number of non-exclusive accesses to this critical section
COLLISIONCOUNT | FIXED(20) | Number of collisions between a task that is occupying the critical section and another task that is requesting the critical section
WAITCOUNT | FIXED(20) | Number of tasks waiting for access to the critical section
SPINLOCKCOLLISIONCOUNT | FIXED(20) | Number of task collisions in the management of the critical section


READERWRITERLOCKSTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation READERWRITERLOCKSTATISTICSRESET

Definition

The READERWRITERLOCKSTATISTICSRESET system table describes the critical sections and how they have been used since the last RESET ALL STATISTICS or RESET READERWRITERLOCKSTATISTICS.

Structure

READERWRITERLOCKSTATISTICSRESET

READERWRITERLOCKADDRESS | CHAR(20) | Address in memory
ACCESSCOUNT | FIXED(20) | Number of accesses to this critical section
EXCLUSIVEACCESSCOUNT | FIXED(20) | Number of exclusive accesses to this critical section
NONEXCLUSIVEACCESSCOUNT | FIXED(20) | Number of non-exclusive accesses to this critical section
COLLISIONCOUNT | FIXED(20) | Number of collisions between a task that is occupying the critical section and another task that is requesting the critical section
WAITCOUNT | FIXED(20) | Number of tasks waiting for access to the critical section
SPINLOCKCOLLISIONCOUNT | FIXED(20) | Number of task collisions in the management of the critical section


READERWRITERLOCKWAITINGTASKS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation READERWRITERLOCKWAITINGTASKS

Definition

The READERWRITERLOCKWAITINGTASKS system table describes waits for reader-writer locks.

Structure

READERWRITERLOCKWAITINGTASKS

READERWRITERLOCKADDRESS | CHAR(20) | Address in memory
WAITINGTASKID | FIXED(10) | ID of the task waiting for the reader-writer lock


REGIONINFORMATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation REGIONINFORMATION

Definition

The system table REGIONINFORMATION describes, for a region, the tasks that own it or are waiting for it.

Structure

REGIONINFORMATION

REGIONNAME | CHAR(16) | Name of the region
STATE | CHAR(10) | LOCKED: Task owns the region REQUESTED: Task is waiting for the region
TASKID | FIXED(10) | ID of the task that owns or is waiting for the region

See also:

Glossary, Critical Section


RESTARTINFORMATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation RESTARTINFORMATION

Definition

The RESTARTINFORMATION system table contains all information relevant to restarting.

Structure

RESTARTINFORMATION

BADINDEXCOUNT | FIXED(5) | Number of indexes only available after restart
RESTARTCONVERTERVERSION | FIXED(10) | Converter version valid for the restart
LASTSAVEPOINT | FIXED(10) | Number of the last savepoint
LASTSAVEPOINTREASON | CHAR(20) | Reason for the last savepoint
LASTSAVEPOINTDATE | TIMESTAMP | Time of last savepoint
OPENTRANSACTIONCOUNT | FIXED(10) | Number of open transactions
OPENTRANSACTIONFILEROOT | FIXED(10) | File root for the open transactions
HISTORYDIRECTORYROOT | FIXED(10) | History Directory file root
FILEDIRECTORYROOT | FIXED(10) | File Directory file root
LONGDIRECTORYROOT | FIXED(10) | LONG file directory file root
RESTARTIOSEQUENCE | FIXED(10) | Restart starting point (part 1)
RESTARTOFFSETOFPAGEONVOLUME | FIXED(10) | Restart starting point (part 2)
RESTARTOFFSETOFENTRYINPAGE | FIXED(10) | Restart starting point (part 3)
RESTARTENTRYTYPE | CHAR(20) | Restart starting point (part 4)
RESTARTENTRYDATE | TIMESTAMP | Time/starting point for the restart
CYCLERELATEDENDOFFSET | FIXED(10) | Last valid position in the log area that can be described
LASTKNOWNSEQUENCE | FIXED(10) | Last known write position in the log area (part 1)
LASTKNWONOFFSET | FIXED(10) | Last known write position in the log area (part 2)
DATABASEIDENTIFIER | CHAR(100) | Database instance ID
LASTSAVEPOINTRELEASEVERSION | CHAR(40) | Version at the time of the last savepoint
INSTALLSERVERDBVERSION | CHAR(40) | Version at the time of the database installation

See also:

Concepts of the Database System, Using Log Entries for a Restart or Restore


ROLEPRIVILEGES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation ROLEPRIVILEGES

Definition

The system table ROLEPRIVILEGES describes the privileges and roles that have been granted to roles for which the current user has privileges.

Structure

ROLEPRIVILEGES

SCHEMANAME | CHAR(32) | Name of the schema of the object that was granted to the role
OWNER | CHAR(32) | Name of the owner of the object that was granted to the role
TABLENAME | CHAR(32) | Name of the table for which privileges were granted to the role
ROLE | CHAR(32) | Name of the granted role
GRANTEE | CHAR(32) | Name of the role to which an assignment was made
PRIVILEGES | CHAR(30) | Granted privileges
GRANTOR | CHAR(32) | Name of the user who granted the privileges or role
CREATEDATE | DATE(10) | Date on which the privilege was granted
CREATETIME | TIME(8) | Time at which the privilege was granted

See also:

Evaluating System Tables, ROLEPRIVILEGES

Reference Manual, Role Name (role_name), Privileges: Overview


ROLES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation ROLES

Definition

The system table ROLES describes the roles for which the current user has privileges.

Structure

ROLES

OWNER | CHAR(32) | Name of the owner of the role
ROLE | CHAR(32) | Name of the role
PASSWORD_REQUIRED | CHAR(3) | Password required for activating role (YES | NO)
GRANTED | CHAR(3) | Role was granted to current user (YES | NO)
DEFAULTROLE | CHAR(3) | Role is the default role for the current user (YES | NO)
CREATEDATE | DATE(10) | Creation date of the role
CREATETIME | TIME(8) | Creation time of the role

See also:

Evaluating System Tables, ROLES

Reference Manual, Role Name (role_name), Privileges: Overview


SCHEMAPRIVILEGES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SCHEMAPRIVILEGES

Definition

The system table SCHEMAPRIVILEGES describes the privileges that the current user has for schemas.

Structure

SCHEMAPRIVILEGES

SCHEMANAME | CHAR(32) | Name of the schema
GRANTEE | CHAR(32) | Name of the user or role to which the privilege was granted
GRANTOR | CHAR(32) | Name of the user who granted the privileges
CREATEIN | CHAR(3) | Privilege of creating objects in this schema (CREATEIN) was granted (YES | NO)
DROPIN | CHAR(3) | Privilege of deleting objects in this schema (DROPIN) was granted (YES | NO)
ALTERIN | CHAR(3) | Privilege of changing objects in this schema (ALTERIN) was granted (YES | NO)
GRANTOPTION | CHAR(3) | Privilege of transferring granted privileges to other users or roles was granted (YES | NO)
GRANTDATE | DATE(10) | Date on which the privilege was granted
GRANTTIME | TIME(8) | Time at which the privilege was granted

See also:

Reference Manual, Schema Name (schema_name)


SCHEMAS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SCHEMAS

Definition

The system table SCHEMAS describes the schemas known to the database instance.

Structure

SCHEMAS

OWNER | CHAR(32) | Owner of the schema
SCHEMANAME | CHAR(32) | Name of the schema
SCHEMAHANDLE | FIXED(10) | ID of the schema
CREATEDATE | DATE | Creation data of the schema
CREATETIME | TIME | Creation time of the schema

See also:

Reference Manual, Schema Name (schema_name)


SEQUENCES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SEQUENCES

Definition

The system table SEQUENCES contains all the sequences for which the current user has privileges.

Structure

SEQUENCES

SCHEMANAME | CHAR(32) | Name of the schema of the sequence
OWNER | CHAR(32) | Name of the owner of the sequence
SEQUENCE_NAME | CHAR(32) | Name of the sequence
MIN_VALUE | FIXED(38) | Minimum value of the sequence
MAX_VALUE | FIXED(38) | Maximum value of the sequence
INCREMENT_BY | FIXED(38) | Value by which the sequence is increased
CYCLE_FLAG | CHAR(1) | Specification, whether the sequence starts again from the minimum value after the maximum value is reached (N | Y)
ORDER_FLAG | CHAR(1) | Specification, whether the sequence values are allocated in the order of the request (Y | N)
CACHE_SIZE | FIXED(38) | Number of sequence values that are loaded to the cache simultaneously
LAST_NUMBER | FIXED(38) | Last sequence value stored
CREATEDATE | DATE(10) | Creation date of the sequence
CREATETIME | TIME(8) | Creation time of the sequence
COMMENT | LONG | Comment on the sequence

See also:

Evaluating System Tables, SEQUENCES

Reference Manual, Sequence Name (sequence_name)


SERVERDBSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SERVERDBSTATISTICS

Definition

The statistics system table SERVERDBSTATISTICS contains information about the used space in the database instance.

Structure

SERVERDBSTATISTICS

SERVERDBSIZE | FIXED(10) | Database instance size in pages
MAXDATAPAGENO | FIXED(10) | Highest page number of the database instance
MAXPERM | FIXED(10) | Number of pages of the database instance that can be used for non-temporary objects
MAXUSEDPAGES | FIXED(10) | Maximum number of used pages for a synchronization point (restart or savepoint)
USEDPERM | FIXED(10) | Number of pages of the database instance used for non-temporary objects
PCTUSEDPERM | FIXED(10) | Percentage of pages used for non-temporary objects
USEDTMP | FIXED(10) | Number of database instance pages used for temporary objects
PCTUSEDTMP | FIXED(10) | Percentage of pages used for temporary objects
UNUSED | FIXED(10) | Number of unused pages
PCTUNUSED | FIXED(10) | Percentage share of unused pages
UPDATEDPERM | FIXED(10) | Number of modified pages for permanent objects
SERVERDBFULL | CHAR(3) | YES: database instance full NO: database instance not full
USEDBLOCKS | FIXED(10) | Number of blocks on data volumes that are used by pages
LOGSIZE | FIXED(10) | Size of the log area in pages
USEDLOG | FIXED(10) | Number of log pages used
PCTUSEDLOG | FIXED(10) | Percentage of log pages used
PCTLOGNOTSAVED | FIXED(10) | Number of log pages not saved
PCTLOGNOTSAVED | FIXED(10) | Percentage of log pages not yet saved
LOGSINCEBACKUP | FIXED(10) | Number of log pages written since the last complete or incremental data backup
LOGSEGMENTSIZE | FIXED(10) | Size of a log segment in pages
SAVEPOINTS | FIXED(10) | Number of savepoints executed
CHECKPOINTS | FIXED(10) | 0 (the number of checkpoints is always set to 0.)

The system table SERVERDBSTATISTICS exists only to enable compatibility with older database versions. Instead of the system table SERVERDBSTATISTICS, use the system tables DATASTATISTICS and LOGSTATISTICS.


SERVERTASKS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SERVERTASKS

Definition

The system table SERVERTASKS describes the tasks that are used internally for the parallel processing of SQL statements.

Structure

SERVERTASKS

TASKID | FIXED(10) | ID of the server task
ISASSIGNED | CHAR(3) | Server task has been assigned (YES | NO)
ISRESERVED | CHAR(3) | Server task has been reserved for a task (YES | NO)
LASTJOBDESCRIPTION | CHAR(32) | Description of the job for which a reserved server task is used

See also:

Concepts of the Database System, Overview of Tasks


SESSION_ROLES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SESSION_ROLES

Definition

The system table SESSION_ROLES contains the roles that are active in the current database session.

Structure

SESSION_ROLES

ROLE

CHAR(32)

Name of the role

See also:

Evaluating System Tables, SESSION_ROLES

Reference Manual, Role Name (role_name)


SESSIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SESSIONS

Definition

The SESSIONS system table describes the connection between an application and a database task.

Structure

SESSIONS

SESSIONID | FIXED(10) | ID of the database session
OWN | CHAR(3) | Current database session (YES | NO)
STARTDATE | TIMESTAMP | Time at which database session started
APPLICATIONNODE | CHAR(64) | Name of the computer on which the application is running
APPLICATIONPROCESS | FIXED(10) | Operating system ID of the application
APPLICATIONTYPE | CHAR(3) | ID of the tool or interface that the application is using
USERNAME | CHAR(32) | Name of the database user
PEERPROCESSID | FIXED(10) | ID of the communication partner of the database task
CONNECTSTATE | CHAR(32) | Connection status
TASKID | FIXED(10) | ID of the database task
OMSHEAPUSEDSIZE | FIXED(20) | Memory consumption in the OMS heap (KB)
TRACE | CHAR(3) | A database trace is written for this database session/all database sessions (YES|NO).
CATALOGCACHEUSEDSIZE | FIXED(10) | Space used by the catalog cache assigned to the database session (KB)
USEDTEMPORARYSIZE | FIXED(10) | Space used for temporary information about your database session (KB) or NULL for the other database sessions
PAGINGFILEUSEDSIZE | FIXED(10) | Size of the paging file in which information displaced from the catalog cache is written (KB)
SQLMODE | CHAR(8) | SQL mode of your database session (ANSI | DB2 | ORACLE | INTERNAL) or NULL value for the other database sessions
ISOLATIONLEVEL | FIXED(3) | Isolation level of your database session (0-3) or NULL value for the other database sessions
TIMEOUT | FIXED(10) | Timeout value of your database session or NULL value for the other database sessions
DATEFORMAT | CHAR(50) | Date and time format of your database session or NULL value for the other database sessions

See also:

Evaluating System Tables, SESSIONS

Documentation Concept of the Database System

Glossary, OMS Heap


SNAPSHOTS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SNAPSHOTS

Definition

The system table SNAPSHOTS contains information about a defined view (snapshot) of the data.

Structure

SNAPSHOTS

ID | FIXED(10) | Current converter version when the snapshot was defined
CREATEDATE | TIMESTAMP | Time at which the snapshot was defined
USEDSIZE | FIXED(20) | Amount of data used for the snapshot (KB)

See also:

Concepts of the Database System, Freezing the Data Area (Snapshot)


SPINLOCKPOOLSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SPINLOCKPOOLSTATISTICS

Definition

The system table SPINLOCKPOOLSTATISTICS describes internal lock mechanisms that have been combined to form pools and actions performed on them since the last restart.

Structure

SPINLOCKPOOLSTATISTICS

SPINLOCKPOOLNAME | CHAR(40) | Name of the spin lock pool
MAXLOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock – maximum value within the pool
MINLOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock – minimum value within the pool
AVGLOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock – average value within the pool
MAXCOLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock – maximum value within the pool
MINCOLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock – minimum value within the pool
AVGCOLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock – average value within the pool
MAXTOTALSPINLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock without prior release of the CPU – maximum value within the pool
MINTOTALSPINLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock without prior release of the CPU – minimum value within the pool
AVGTOTALSPINLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock without prior release of the CPU – average value within the pool
MAXTOTALYIELDLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock after prior release of the CPU – maximum value within the pool
MINTOTALYIELDLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock after prior release of the CPU – minimum value within the pool
AVGTOTALYIELDLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock after prior release of the CPU – average value within the pool
MAXMAXSPINLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock without prior release of the CPU – maximum value within the pool
MINMAXSPINLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock without prior release of the CPU – minimum value within the pool
AVGMAXSPINLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock without prior release of the CPU – average value within the pool
MAXMAXYIELDLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock after prior release of the CPU – maximum value within the pool
MINMAXYIELDLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock after prior release of the CPU – minimum value within the pool
AVGMAXYIELDLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock after prior release of the CPU – average value within the pool


SPINLOCKPOOLSTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SPINLOCKPOOLSTATISTICSRESET

Definition

The system table SPINLOCKPOOLSTATISTICSRESET describes pooled internal lock mechanisms and consequently executed actions since the last RESET ALL STATISTICS or RESET SPINLOCKPOOLSTATISTICS.

Structure

SPINLOCKPOOLSTATISTICSRESET

RESETDATE | TIMESTAMP | Time of the last RESET for these entries
SPINLOCKPOOLNAME | CHAR(40) | Name of the spin lock pool
MAXLOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock – maximum value within the pool
MINLOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock – minimum value within the pool
AVGLOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock – average value within the pool
MAXCOLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock – maximum value within the pool
MINCOLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock – minimum value within the pool
AVGCOLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock – average value within the pool
MAXTOTALSPINLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock without prior release of the CPU – maximum value within the pool
MINTOTALSPINLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock without prior release of the CPU – minimum value within the pool
AVGTOTALSPINLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock without prior release of the CPU – average value within the pool
MAXTOTALYIELDLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock after prior release of the CPU – maximum value within the pool
MINTOTALYIELDLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock after prior release of the CPU – minimum value within the pool
AVGTOTALYIELDLOOPCOUNT | FIXED(20) | Number of attempts to get the spin lock after prior release of the CPU – average value within the pool
MAXMAXSPINLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock without prior release of the CPU – maximum value within the pool
MINMAXSPINLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock without prior release of the CPU – minimum value within the pool
AVGMAXSPINLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock without prior release of the CPU – average value within the pool
MAXMAXYIELDLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock after prior release of the CPU – maximum value within the pool
MINMAXYIELDLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock after prior release of the CPU – minimum value within the pool
AVGMAXYIELDLOOPCOUNT | FIXED(20) | Maximum number of attempts to get the spin lock after prior release of the CPU – average value within the pool

See also:

SPINLOCKPOOLSTATISTICS


SPINLOCKSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SPINLOCKSTATISTICS

Definition

The system table SPINLOCKSTATISTICS contains information on internal lock mechanisms since the last restart.

Structure

SPINLOCKSTATISTICS

NAME | CHAR(40) | Name of the spin lock
LOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock
COLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock
SPINLOOPCOUNT | FIXED(10) | Number of attempts to get the spin lock without prior release of the CPU
YIELDLOOPCOUNT | FIXED(10) | Number of attempts to get the spin lock after prior release of the CPU
MAXSPINLOOPCOUNT | FIXED(10) | Maximum number of attempts to get the spin lock without prior release of the CPU
MAXYIELDLOOPCOUNT | FIXED(10) | Maximum number of attempts to get the spin lock after prior release of the CPU


SPINLOCKSTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SPINLOCKSTATISTICSRESET

Definition

The system table SPINLOCKSTATISTICSRESET contains information on internal lock mechanisms since the last RESET ALL STATISTICS or RESET SPINLOCKSTATISTICS.

Structure

SPINLOCKSTATISTICSRESET

RESETDATE | TIMESTAMP | Time of the last RESET for these entries
NAME | CHAR(40) | Name of the spin lock
LOCKCOUNT | FIXED(20) | Number of attempts to get the spin lock
COLLISIONCOUNT | FIXED(20) | Number of failed attempts to get the spin lock
SPINLOOPCOUNT | FIXED(10) | Number of attempts to get the spin lock without prior release of the CPU
YIELDLOOPCOUNT | FIXED(10) | Number of attempts to get the spin lock after prior release of the CPU
MAXSPINLOOPCOUNT | FIXED(10) | Maximum number of attempts to get the spin lock without prior release of the CPU
MAXYIELDLOOPCOUNT | FIXED(10) | Maximum number of attempts to get the spin lock after prior release of the CPU

See also:

SPINLOCKSTATISTICS


SYNONYMS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SYNONYMS

Definition

The system table SYNONYMS contains all the synonyms for which the current user has privileges.

Structure

SYNONYMS

OWNER | CHAR(32) | Name of the owner of the synonym
SYNONYMNAME | CHAR(32) | Name of the synonym
PUBLIC | CHAR(3) | Synonym is PUBLIC (YES | NO)
TABLESCHEMANAME | CHAR(32) | Name of the schema of the table
TABLEOWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
CREATEDATE | DATE(10) | Creation date of the synonym
CREATETIME | TIME(8) | Creation time of the synonym
COMMENT | LONG | Comment on the synonym

See also:

Evaluating System Tables, SYNONYMS

Reference Manual, Synonym Name (synonym_name)


SYSTEMTRIGGERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SYSTEMTRIGGERS

Definition

The system table SYSTEMTRIGGERS contains all system triggers that the current user has created.

Structure

SYSTEMTRIGGERS

SCHEMANAME | CHAR(32) | Name of the schema of the system trigger
TRIGGERNAME | CHAR(32) | Name of the system trigger
OWNER | CHAR(32) | Name of the owner of the system trigger
CREATEDATE | DATE(10) | Creation date of the system trigger
CREATETIME | TIME(8) | Creation time of the system trigger
DEFINITION | LONG | SQL statement for creating the system trigger
COMMENT | LONG | Comment for the system trigger

See also:

Reference Manual, CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement)


SYSUPDSTATWANTED (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SYSUPDSTATWANTED

Definition

The system table SYSUPDSTATWANTED contains entries for the tables for which an UPDATE STATISTICS run is useful.

Structure

SYSUPDSTATWANTED

SCHEMANAME | CHAR(32) | Name of the schema
OWNER | CHAR(32) | Name of the owner
TABLENAME | CHAR(32) | Name of the table
COLUMNNAME | CHAR(32) | Name of the column

The database kernel enters those table columns in the system table SYSUPDSTATWANTED for which an UPDATE STATISTICS run would appear to be useful.

If you use the SQL statement UPDATE STATISTICS AS PER SYSTEM TABLE, an UPDATE STATISTICS run is triggered for all the table (columns) contained in SYSUPDSTATWANTED. Subsequently, the entries from table SYSUPDSTATWANTED are deleted.

The system table SYSUPDSTATWANTED can also be changed by database administrators. However, a database administrator can only insert entries that reference tables owned by that database administrator.

See also:

Reference Manual, UPDATE STATISTICS Statement (update_statistics_statement)


SYSUPGRADEHISTORY (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SYSUPGRADEHISTORY

Definition

The system table SYSUPGRADEHISTORY indicates when and with which version of the database software an implicit upgrade had to be performed on a certain component; or when the system tables were successfully loaded and with which system table version the load was executed.

Structure

SYSUPGRADEHISTORY

KERNELVERSION | CHAR(40) | Version of the database software
EXECUTEDATE | TIMESTAMP | Time at which the implicit upgrade or the loading of the system tables occurred
COMPONENT | CHAR(18) | Part of the database kernel for which the implicit upgrade was executed (e.g. CATALOG, CONVERTER, LOGGING)
DESCRIPTION | CHAR(2000) | Additional information about the upgrade or the version of the scripts used for loading the system tables

See also:

Upgrade


TABLEPRIVILEGES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TABLEPRIVILEGES

Definition

The system table TABLEPRIVILEGES describes the privileges that the current user has for tables.

Structure

TABLEPRIVILEGES

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
GRANTOR | CHAR(32) | Name of the user who granted the privileges
GRANTEE | CHAR(32) | Name of the user or role to which an assignment was made
PRIVILEGES | CHAR(30) | Granted privileges
IS_GRANTABLE | CHAR(3) | Privilege to grant the received privilege to another user/role (YES | NO)

See also:

Evaluating System Tables, TABLEPRIVILEGES

Reference Manual, Privileges: Overview


TABLES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TABLES

Definition

The system table TABLES contains all the tables (base tables, view tables, synonyms and results tables) for which the current user has privileges.

Structure

TABLES

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table
PRIVILEGES | CHAR(30) | Privileges of the current user for the table
TYPE | CHAR(8) | Type of table (SYNONYM | SYSTEMS | TABLES)
TABLETYPE | CHAR(8) | Type of table (TABLE | VIEW | SYNONYM | RESULT)
CREATEDATE | DATE(10) | Creation date of the table
CREATETIME | TIME(8) | Creation time of the table
UPDSTATDATE | DATE(10) | Date of the last UPDATE STATISTICS statement executed for the table
UPDSTATTIME | TIME(8) | Time of the last UPDATE STATISTICS statement executed for the table
ALTERDATE | DATE(10) | Change date of the table
ALTERTIME | TIME(8) | Change time of the table
UNLOADED | CHAR(3) | Table is unloaded (YES | NO)
SAMPLE_PERCENT | FIXED(3) | Percentage of table contents to be read for updating statistics
SAMPLE_ROWS | FIXED(10) | Number of rows in table to be read for updating statistics
COMMENT | LONG | Comment on the table
TABLEID | CHAR(8) BYTE | ID of the table in hexadecimal notation
DYNAMIC | CHAR(3) | Table was defined with DYNAMIC option (YES | NO)
ARCHIVE | CHAR(3) | Table was defined with FOR ARCHIVE option (YES | NO)
VARIABLE_COLUMNS | CHAR(3) | Columns are stored with variable length (YES | NO)

If the TABLES system table is called by the database system administrator, information from all database users’ tables is displayed.

See also:

Evaluating System Tables, TABLES

Reference Manual, Table Name (table_name)


TABLESTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TABLESTATISTICS

Definition

The statistics system table TABLESTATISTICS contains information about the structure and sizes of base tables.

Structure

TABLESTATISTICS

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Table name
DESCRIPTION | CHAR(40) | Description of how to interpret the following columns (see DESCRIPTION Column table)
CHAR_VALUE | CHAR(12) | Alphanumeric value
NUMERIC_VALUE | FIXED(10) | Numeric value

DESCRIPTION Column

Value | Explanation
Root pno | NUMERIC_VALUE contains the page number of the B* tree root
File type | CHAR_VALUE contains the B* tree type
Used pages | NUMERIC_VALUE contains the number of pages used by the table
Index pages | NUMERIC_VALUE contains the number of pages used by the table in the B* tree index
Leaf pages | NUMERIC_VALUE contains the number of leaf pages used by the table
Index levels | NUMERIC_VALUE contains the number of B* tree index levels
Space used in all pages(%) | NUMERIC_VALUE contains the percentage of the B* tree root pages used
Space used in root page(%) | NUMERIC_VALUE contains the percentage of the B* tree root pages used
Space used in index pages(%) | NUMERIC_VALUE contains the percentage of the B* tree index pages used
Space used in index pages(%) min | NUMERIC_VALUE contains the minimum percentage of the B* tree index pages used
Space used in index pages(%) max | NUMERIC_VALUE contains the maximum percentage of the B* tree index pages used
Space used in leaf pages(%) | NUMERIC_VALUE contains the percentage of the B* tree leaf pages used
Space used in leaf pages(%) min | NUMERIC_VALUE contains the minimum percentage of the B* tree leaf pages used
Space used in leaf pages(%) max | NUMERIC_VALUE contains the maximum percentage of the B* tree leaf pages used
Rows | NUMERIC_VALUE contains the number of table rows
Avg rows per page | NUMERIC_VALUE contains the average number of rows per page
Min rows per page | NUMERIC_VALUE contains the minimum number of rows per page
Max rows per page | NUMERIC_VALUE contains the maximum number of rows per page
Avg row length | NUMERIC_VALUE contains the average length of rows
Min row length | NUMERIC_VALUE contains the minimum length of rows
Max row length | NUMERIC_VALUE contains the maximum length of rows
Avg key length | NUMERIC_VALUE contains the average length of keys
Min key length | NUMERIC_VALUE contains the minimum length of keys
Max key length | NUMERIC_VALUE contains the maximum length of keys
Avg separator length | NUMERIC_VALUE contains the average length of the separator
Min separator length | NUMERIC_VALUE contains the minimum length of the separator
Max separator length | NUMERIC_VALUE contains the maximum length of the separator
Defined LONG columns | NUMERIC_VALUE contains the number of defined columns with the data type LONG
Avg LONG column length | NUMERIC_VALUE contains the average length of LONG columns
Min LONG column length | NUMERIC_VALUE contains the minimum length of LONG columns
Max LONG column length | NUMERIC_VALUE contains the maximum length of LONG columns
LONG column pages | NUMERIC_VALUE contains the number of pages of all the LONG columns in the table
Avg pages per LONG column | NUMERIC_VALUE contains the average number of pages in the table per LONG column
Min pages per LONG column | NUMERIC_VALUE contains the smallest LONG column in the table in pages
Max pages per LONG column | NUMERIC_VALUE contains the largest LONG column in the table in pages

See also:

Concepts of the Database System, B* Tree


TASKGROUPSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TASKGROUPSTATISTICS

Definition

The system table TASKGROUPSTATISTICS contains information about task groups and their resource usage since the last start of the database instance.

Structure

TASKGROUPSTATISTICS

TASKGROUPID | FIXED(10) | ID of the task group
TASKCLUSTER | CHAR(8) | Task cluster to which this task group belongs
TASKCOUNT | FIXED(10) | Number of tasks in this group
UDESRUNQUEUELENGTH | FIXED(10) | Number of tasks lined up for CPU assignment
MAXUSEDRUNQUEUELENGTH | FIXED(10) | Maximum number of tasks lined up for CPU assignment
IDLECOUNT | FIXED(20) | Number of time intervals in which the CPU was released
IDLETIME | FIXED(20) | Total time for which the CPU was released (µs)
IOWAITCOUNT | FIXED(20) | Number of time intervals in which waits for outstanding I/O operations occurred
IOWAITTIME | FIXED(20) | Total wait time for outstanding I/O operations (µs)
USEDSYSTEMTIME | FIXED(20) | Total CPU time used in system mode (µs)
USEDUSERTIME | FIXED(20) | Total CPU time used in user mode (µs)

See also:

TASKGROUPSTATISTICSRESET

Concepts of the Database System, Overview of Tasks, Task Switching


TASKGROUPSTATISTICSRESET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TASKGROUPSTATISTICSRESET

Definition

The system table TASKGROUPSTATISTICSRESET contains information about task groups and their resource usage since the last RESET ALL STATISTICS or RESET TASKGROUPSTATISTICS.

Structure

TASKGROUPSTATISTICSRESET

RESETDATE | TIMESTAMP | Time of the last RESET for these entries
TASKGROUPID | FIXED(10) | ID of the task group
MAXUSEDRUNQUEUELENGTH | FIXED(10) | Maximum number of tasks lined up for CPU assignment
IDLECOUNT | FIXED(20) | Number of time intervals in which the CPU was released
IDLETIME | FIXED(20) | Total time for which the CPU was released (µs)
IOWAITCOUNT | FIXED(20) | Number of time intervals in which waits for outstanding I/O operations occurred
IOWAITTIME | FIXED(20) | Total wait time for outstanding I/O operations (µs)
USEDSYSTEMTIME | FIXED(20) | Total CPU time used in system mode (µs)
USEDUSERTIME | FIXED(20) | Total CPU time used in user mode (µs)

See also:

TASKGROUPSTATISTICS

Concepts of the Database System, Overview of Tasks, Task Switching


TASKLOADBALANCINGINFORMATION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TASKLOADBALANCINGINFORMATION

Definition

The system table TASKLOADBALANCINGINFORMATION describes the current task load balancing parameters and provides information about the current measurement interval for task load balancing.

Structure

TASKLOADBALANCINGINFORMATION

MEASUREMENTINTERVALTIME | FIXED(10) | Measurement interval (s) between task load balancing operations and evaluations
INTERVALSTARTTIME | TIMESTAMP | Start time of the current measurement interval
MEASUREMENTINTERVALS | FIXED(10) | Number of measurement intervals since the database kernel was started
VALUEQUALITY | FIXED(3) | Value (%) that indicates the maximum tolerance range allowed when time values are compared. If the time difference of two runnable tasks is within this tolerance range, the time values are regarded as identical.
MINDIFFERENCE | FIXED(3) | Percentage by which a task to be moved must be runnable for longer in its task group than the longest runnable task of the destination task group

See also:

Concepts of the Database System, Overview of Tasks, Task Switching


TASKLOADBALANCINGTASKGROUPSTATES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TASKLOADBALANCINGTASKGROUPSTATES

Definition

The system table TASKLOADBALANCINGTASKGROUPSTATES contains information about the task load balancing values of the individual task groups in the current measurement interval.

Structure

TASKLOADBALANCINGTASKGROUPSTATES

TASKGROUPID | FIXED(10) | ID of the task group
MOVETASKTOTASKGROUPID | FIXED(10) | ID of the target task group to which a task of the task group (TASKGROUPID) is to be moved
MOVEABLETASKCOUNT | FIXED(10) | Number of tasks in the task group that allow a task group move
INTERVALSTARTTIME | TIMESTAMP | Start time of the current measurement interval
TASKGROUPSLEEPTIME | FIXED(20) | Time (µs) within the measurement interval in which the task group was in sleep state (sleep on semaphore)
TOTALTASKRUNNABLETIME | FIXED(20) | Total time (µs) within the measurement interval for which the tasks of the task group were runnable
MAXTASKRUNNABLETIME | FIXED(20) | Maximum time (µs) within the measurement interval for which the tasks of the task group were runnable

See also:

Concepts of the Database System, Overview of Tasks, Task Switching


TASKLOADBALANCINGTASKMOVES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TASKLOADBALANCINGTASKMOVES

Definition

The TASKLOADBALANCINGTASKMOVES system table describes the history of the task group move.

Structure

TASKLOADBALANCINGTASKMOVES

MOVETIME | TIMESTAMP | Time of the task group move
TASKID | FIXED(10) | ID of the task that moved between two task groups
MAXTASKRUNNABLETIME | FIXED(20) | Maximum time within the measurement interval (µs) for which the tasks was runnable
SOURCETASKGROUP | FIXED(10) | ID of the source task group
SOURCEMAXTASKRUNNABLETIME | FIXED(20) | Maximum time within the measurement interval (µs) for which a task in the source task group was runnable
DESTINATIONTASKGROUP | FIXED(10) | ID of the destination task group
DESTINATIONMAXTASKRUNNABLETIME | FIXED(20) | Maximum time within the measurement interval (µs) for which a task in the destination task group was runnable

See also:

Concepts of the Database System, Overview of Tasks, Task Switching


TRANSACTIONHISTORY (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSACTIONHISTORY

Definition

This system table TRANSACTIONS contains information about active and ended transactions of a database instance.

Structure

TRANSACTIONHISTORY

TRANSACTIONID | FIXED(15) | ID of the transaction
TASKID | FIXED(10) | ID of the database task
WRITETRANSACTIONID | FIXED(15) | ID of a write transaction
STARTDATE | TIMESTAMP | Start time of the transaction
ENDDATE | TIMESTAMP | End time of the transaction
STATE | CHAR(10) | Status of the transaction (ACTIVE | COMMITTED | ROLLBACKED)
COMMENT | CHAR(2048) | Comment on the transaction

The maximum number of possible entries is determined via the parameter TRANS_HISTORY_SIZE.

See also:

Concepts of the Database System, Transactions


TRANSACTIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSACTIONS

Definition

The statistics system table TRANSACTIONS contains information about active transactions of a database instance.

Structure

TRANSACTIONS

SESSION | FIXED(10) | ID of the database session
TRANSCOUNT | CHAR(20) | ID of the transaction
SUB_TRANS | FIXED(10) | Number of the current subtransaction
WRITE_TRANS | CHAR(6) BYTE | ID of the current write transaction, if this has made a change
PROCESS | FIXED(10) | ID of the user process
USERNAME | CHAR(32) | User name:
CONNECTDATE | DATE | Date of start of session
CONNECTTIME | TIME | Time of start of session
TERMID | CHAR(18) | ID of the terminal
REQTIMEOUT | CHAR(10) | Seconds remaining until time specified in special database parameter REQUEST_TIMEOUT
LASTWRITE | CHAR(10) | Elapsed time since last write request in timeout intervals
LOCKMODE | CHAR(14) | Type of lock (NULL value | SHARE | EXCLUSIVE)
LOCKSTATE | CHAR(10) | Status of lock
REQMODE | CHAR(14) | Type of lock request (NULL value | SHARE | EXCLUSIVE)
REQSTATE | CHAR(10) | Status of lock request
CONSISTENTVIEW | CHAR(6) | For future use
APPLPROCESS | FIXED(10) | ID of the application process
APPLNODEID | CHAR(64) | ID of the client computer of the application process

The system table TRANSACTIONS exists only to enable compatibility with older database versions. Instead of the statistics system table TRANSACTIONS, use the system table TRANSACTIONS.


TRANSACTIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSACTIONS

Definition

The system table TRANSACTIONS describes the status of all current transactions.

Structure

TRANSACTIONS

TASKID | FIXED(10) | ID of the task
TRANSACTIONID | FIXED(15) | ID of the transaction
STARTDATE | TIMESTAMP | Start time of the transaction
WRITETRANSACTIONID | FIXED(15) | ID of a write transaction
SQLLOCKREQUESTTIMEOUT | FIXED(10) | Timeout for SQL lock requests for database objects (s) This value may be different than the database parameter.
OMSLOCKREQUESTTIMEOUT | FIXED(10) | Timeout for lock requests for OMS objects (s) This value may be different than the database parameter.
LASTWRITE | FIXED(10) | Duration of a transaction that has made changes in the database (s)
SQLLOCKMODE | CHAR(14) | Type of lock for SQL database objects (NULL value | SHARE | EXCLUSIVE)
OMSLOCKMODE | CHAR(14) | Type of lock for OMS objects (NULL value | SHARE | EXCLUSIVE)
REQUESTMODE | CHAR(14) | Type of lock in case of a collision with timeout wait situations (NULL-Wert | SHARE | EXCLUSIVE)
HISTORYROOT | FIXED(10) | First page in the chain of history pages
HISTORYLAST | FIXED(10) | Last page in the chain of history pages
HISTORYPAGECOUNT | FIXED(10) | Number of used history pages
LASTHISTORYSEQUENCE | FIXED(10) | Last number assigned for a history entry
CONSISTENTVIEWID | FIXED(15) | ID of the currently valid consistent view
TASKTYPE | CHAR(32) | Task type

See also:

Concepts of the Database System, Transactions, Locking for Database Objects


TRIGGERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRIGGERS

Definition

The system table TRIGGERS contains all the triggers for which the current user has privileges.

Structure

TRIGGERS

SCHEMANAME | CHAR(32) | Name of the schema of the table
OWNER | CHAR(32) | Name of the owner of the table
TABLENAME | CHAR(32) | Name of the table for which the trigger was defined
TRIGGERNAME | CHAR(32) | Name of the trigger
INSERT | CHAR(3) | Trigger is executed after an INSERT statement (YES | NO)
UPDATE | CHAR(3) | Trigger is executed after an UPDATE statement (YES | NO)
DELETE | CHAR(3) | Trigger is executed after an DELETE statement (YES | NO)
CREATEDATE | DATE(10) | Creation date of the trigger
CREATETIME | TIME(8) | Creation time of the trigger
DEFINITION | LONG | Trigger definition text
COMMENT | LONG | Comments on the trigger

See also:

Evaluating System Tables, TRIGGERS

Reference Manual, Trigger Name (trigger_name)


UNLOADEDSTATEMENTS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation UNLOADEDSTATEMENTS

Definition

The system table UNLOADEDSTATEMENTS contains the SQL statements that, for space reasons, have been moved from the command cache to an internal database file.

Structure

UNLOADEDSTATEMENTS

COMMANDID | CHAR(8) BYTE | ID of the SQL statement
STATEMENT | LONG | SQL statement


USERS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation USERS

Definition

The system table USERS contains all database users.

Structure

USERS

OWNER | CHAR(32) | Name of the owner of the user
GROUPNAME | CHAR(32) | Name of the group
USERNAME | CHAR(32) | Name of the user
USERMODE | CHAR(8) | Class of the database user (SYSDBA | DBA | RESOURCE | STANDARD)
CONNECTMODE | CHAR(8) | Type of connection (MULTIPLE | SINGLE)
MAXTIMEOUT | FIXED(10) | Timeout value
COSTWARNING | FIXED(10) | COSTWARNING value
COSTLIMIT | FIXED(10) | COSTLIMIT value
DEFAULTCODE | CHAR(8) | Default value for code attribute
CREATEDATE | DATE(10) | Creation date of the user
CREATETIME | TIME(8) | Creation time of the user
ALTERDATE | DATE(10) | Change date of the user
ALTERTIME | TIME(8) | Change time of the user
PWCREADATE | DATE(10) | Creation date of the password
PWCREATIME | TIME(8) | Creation time of the password
SERVERDB | CHAR(18) | Name of the database instance
SERVERNODE | CHAR(64) | Name of the host of the database instance
USER_ID | FIXED(10) | ID of the user
ISREPLICATIONUSER | CHAR(3) | Indicates whether the user can control and monitor database replication (YES | NO)
COMMENT | LONG | Comment on the user

See also:

Evaluating System Tables, USERS

Concepts of the Database System, Database Users

Reference Manual, User Name (user_name)


USERSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation USERSTATISTICS

Definition

The statistics system table USERSTATISTICS contains information about the resource consumption of users.

Structure

USERSTATISTICS

USERNAME | CHAR(32) | Name of the database user
USERMODE | CHAR(8) | Database user class
PERMCOUNT | FIXED(10) | Number of pages currently used for permanent objects
TEMPCOUNT | FIXED(10) | Number of pages currently used for temporary objects

See also:

Concepts of the Database System, Database Users


VERSION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation VERSION

Definition

The system table VERSION describes the version of the database software.

Structure

VERSION

OPERATINGSYSTEM | CHAR(64) | Name of the operating system
PROCESSORTYPE | CHAR(64) | Name of processor manufacturer
ADDRESSINGMODE | FIXED(2) | Indicates whether a 32 bit or 64 bit platform is being used
ID | CHAR(40) | Current version, including build level
MAJORVERSION | FIXED(2) | Number of major version
MINORVERSION | FIXED(2) | Number of minor version
CORRECTIONLEVEL | FIXED(2) | Number of correction level
BUILD | FIXED(2) | Build level
KERNELVARIANT | CHAR(8) | Kernel variant (SLOW | FAST)

See also:

Evaluating System Tables, VERSION

Concepts of the Database System, Version Notation


VERSIONS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation VERSIONS

Definition

The system table VERSIONS describes the versions of the database software.

Structure

VERSIONS

KERNEL | CHAR(40) | Version of the database software
RUNTIMEENVIRONMENT | CHAR(40) | Version of the runtime environment

The system table VERSIONS exists only to enable compatibility with older database versions. Instead of the system table VERSIONS, use the system table VERSION.

See also:

Evaluating System Tables, VERSION


VIEWCOLUMNS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation VIEWCOLUMNS

Definition

The system table VIEWCOLUMNS contains all the columns of the view tables for which the current user has privileges.

Structure

VIEWCOLUMNS

SCHEMANAME | CHAR(32) | Name of the schema of the view table
OWNER | CHAR(32) | Name of the owner of the view table
VIEWNAME | CHAR(32) | Name of the view table
VIEWCOLUMNNAME | CHAR(32) | Name of the column of the view table
TABLESCHEMANAME | CHAR(32) | Name of the schema of the table to which the used column belongs
TABLEOWNER | CHAR(32) | Name of the owner of the table to which the used column belongs
TABLENAME | CHAR(32) | Name of the table to which the used column belongs
COLUMNNAME | CHAR(32) | Name that the column originally had in the table
CREATEDATE | DATE(10) | Creation date of the view table
CREATETIME | TIME(8) | Creation time of the view table

See also:

Evaluating System Tables, VIEWCOLUMNS

Reference Manual, CREATE VIEW Statement (create_view_statement)


VIEWDEFS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation VIEWDEFS

Definition

The system table VIEWDEFS contains the definitions of the view tables for which the current user has privileges.

Structure

VIEWDEFS

SCHEMANAME | CHAR(32) | Name of the schema of the view table
OWNER | CHAR(32) | Name of the owner of the view table
VIEWNAME | CHAR(32) | Name of the view table
LEN | FIXED(5) | Length of the view table definition
DEFINITION | LONG | SQL statement text in the view table definition

See also:

Evaluating System Tables, VIEWDEFS


VIEWS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation VIEWS

Definition

The system table VIEWS contains all the view tables for which the current user has privileges.

Structure

VIEWS

SCHEMANAME | CHAR(32) | Name of the schema of the view table
OWNER | CHAR(32) | Name of the owner of the view table
VIEWNAME | CHAR(32) | Name of the view table
PRIVILEGES | CHAR(30) | Privileges of the user for the view table
TYPE | CHAR(8) | Type of table
CREATEDATE | DATE(10) | Creation date of the view table
CREATETIME | TIME(8) | Creation time of the view table
UPDSTATDATE | DATE(10) | Date of the last UPDATE STATISTICS statement executed for the view table
UPDSTATTIME | TIME(8) | Time of the last UPDATE STATISTICS statement executed for the view table
ALTERDATE | DATE(10) | Date on which the view table was changed
ALTERTIME | TIME(8) | Time at which the view table was changed
UNLOADED | CHAR(3) | View table is unloaded (YES | NO)
WITHCHECKOPTION | CHAR(3) | Indicates whether the view table was created WITH CHECK OPTION or not (YES | NO)
COMPLEX | CHAR(3) | Indicates whether the view table is a complex view table or not (YES | NO)
COMMENT | LONG | Comment on the view table

See also:

Evaluating System Tables, VIEWS

Reference Manual, CREATE VIEW Statement (create_view_statement)


Restrictions for SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Restrictions for SQL Statements

Maximum length of an SQL statement | ≥ 16 KB (default 64 KB), defined by a support database parameter
Length of a label | 32 characters
Numeric precision | 38 digits
Number of tables | Unlimited
Number of columns in each table (with KEY) | 1024
Number of columns in each table (without KEY) | 1023
Number of primary key columns in each table | 512
Number of columns in an index | 16
Number of foreign key columns per table | 16
Number of columns in an ORDER or GROUP clause | 128
Number of columns in a SELECT statement | 1023
Number of columns in an INSERT statement | 1024
Number of columns in a results table | 1023
Number of join tables in a SELECT statement | 64
Number of JOIN predicates in a search condition | 128
Number of triggers in each basis table | 3
Number of indexes for each table | 255
Number of referential CONSTRAINT definitions (foreign key dependencies) for each table | Unlimited
Number of references in each table | Unlimited
Number of rows in each table | Limited by the size of a database
Internal length of a table row | 8088 bytes
Total of internal lengths of all key columns | 1024 bytes
Total of internal lengths of all foreign key columns | 1024 bytes
Total of internal lengths of all columns belonging to an index | 1024 bytes
Internal length of a LONG column | 2 GB
Length of the columns in an ORDER or GROUP clause | 1020 bytes
Nested trigger levels | Unlimited
Nested subqueries | 127
Number of join conditions in a WHERE clause of a SELECT statement | 128
Number of correlated columns in an SQL statement | 64
Number of correlated tables in an SQL statement | 16
Number of parameters in an SQL statement | 2000

Concepts of the Database System, Technical Restrictions


ORACLE SQL Mode (SAP Library - MaxDB Library)

 Entering content frame

Component documentation ORACLE SQL Mode

You can operate the MaxDB database system in ORACLE SQL mode. The following sections describe the differences between an Oracle Version 7 database system and a MaxDB (in ORACLE SQL mode) database system.

Logical Database Structure

There are basic differences between the logical database structures of the Oracle Version 7 database system and MaxDB.

· From a logical point of view, an Oracle database consists of tablespaces, segments, extents, blocks, tables, and data records.

· From a logical point of view, MaxDB essentially consists of the tables in the database catalog and the application data in the form of data records.

All Oracle SQL statements referring to the administration of tablespaces, segments, extents, or blocks are therefore meaningless in MaxDB.

Consistent Reading/Locking

The consistent reading functionality offered by Oracle can be achieved in MaxDB using locks in isolation level >= 2.

Oracle allows an unlimited number of exclusive row locks. In MaxDB, an escalation takes effect from a certain number of row locks; that is, the whole table is locked. The escalation point in time depends on the defined lock list size.

Database Procedures/Triggers

· In Oracle, database procedures, database functions, and triggers are defined in PL/SQL (a language similar to ADA).

· In MaxDB, database procedures, database functions, and triggers are defined in a language similar to C.

DBA Users and Privileges

In contrast to Oracle, database administrators (DBA users) in MaxDB are also subject to the privileges concept and cannot execute DDL statements (such as CREATE INDEX) or DML statements (such as DELETE) if they have not been assigned the corresponding privileges.

Other Differences

· SQL Syntax Elements

· SQL Statements

· System Tables

· Error Messages


SQL Syntax Elements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Syntax Elements

The SQL syntax elements for Oracle Version 7 and MaxDB in ORACLE SQL mode differ in the following areas, among other things:

· Database Object

· Name

· Namespace

· Access to Objects

· Integer

· Number

· Data Type

· Pseudo Column

· Operator

· Function

· Format


Database Object (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Object

The SQL syntax elements for Oracle Version 7 and MaxDB in ORACLE SQL mode differ with regard to the definition of possible database objects, among other things.

The following database objects are not supported by MaxDB:

· Clusters

· Database links

· Package

· Profiles

· Rollback segments

· Snapshots

· Snapshot log

· Tablespace

The following database object is supported by MaxDB, but uses a different syntax than Oracle:

Procedure (object in MaxDB: database procedure)


Name (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Name

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of names for objects.

If MaxDB assigns names for objects, these names differ from the names generated by Oracle.

The following keywords are reserved in Oracle 7 but not in MaxDB:

ACCESS | COMPRESS | ELSE | FILE
IMMEDIATE | INCREMENT | INITIAL | MAXEXTENTS
NOAUDIT | NOCOMPRESS | OFFLINE | ONLINE
PRIOR | SIZE | START | SUCCESSFUL
THEN | VALIDATE |  |

If possible, these key words should not be used to designate objects in MaxDB.

You can find a list of all the keywords reserved in MaxDB in the section reserved_key_word of the Reference Manual.

You can find a list of all the keywords not reserved in MaxDB in the section not_reserved_key_word of the Reference Manual.


Namespace (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Namespace

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of namespaces.

Differences in the namespace

Oracle 7 | MaxDB
All indexes of a database instance form a namespace. | All indexes of a table form a namespace.
All constraints of a database instance form a namespace. | All constraints of a table form a namespace.
All triggers of a database instance form a namespace. | All triggers of a table form a namespace.
All sequences, together with the tables, views, synonyms, procedures, and further objects, form a namespace. | All sequences of a database instance form a separate namespace.
All procedures, together with the tables, views, synonyms, and further objects, form a namespace. | All database procedures of a database instance form a separate namespace.


Access to Objects (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Access to Objects

The SQL syntax elements for Oracle Version 7 and MaxDB in ORACLE SQL mode differ with regard to object access, among other things.

If a schema is not specified when a database object is accessed, and no object belonging to the current user exists with this name, the following procedure (which is different from Oracle) applies for MaxDB when the database object is accessed:

...

1. MaxDB searches for this object in the PUBLIC synonyms.

2. If the object was not found, MaxDB searches for this object in the part of the database catalog of the DBA user that the current user generated.

3. If the object was not found, MaxDB searches for this object in SYSDBA user’s part of the database catalog.


Integer (whole number) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Integer (whole number)

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of integers.

In contrast to Oracle, an integer in MaxDB has 20 significant characters.


Number (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Number

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of numbers.

· For Oracle, the permitted value area for numbers covers values from 0.999E-128 to 0.999E126.

· In MaxDB, the permitted value area for floating point numbers (number) consists of the interval from -9.9999999999999999999999999999999999999E+62 to -1E-64, the value 0.0, and the interval from +1E-64 to +9.9999999999999999999999999999999999999E+62.


Data Type (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Type

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of data types.

· In contrast to Oracle, columns with the data type CHAR[ACTER] are only stored up to a length of 30 characters with fixed length in MaxDB.

· The Oracle data type VARCHAR2 does not differ from VARCHAR in MaxDB.

· The data types INT[EGER] and SMALLINT have 20 significant digits in MaxDB.

· In MaxDB, the data type FLOAT is always represented with 20 significant digits.

· In MaxDB, data types cannot be defined for numbers with a negative scale. It is not possible to specify a scale that is greater than the number of significant digits.

· In MaxDB, numbers are not implicitly converted into date values or vice versa.

· In Oracle, date values run from 1/1/4712 BC to 12/31/9999 AD.
In MaxDB, date values run from 1/1/0001 to 12/31/9999.

· MaxDB does not support the comparison of character strings denoted as "non padded comparison" in Oracle.

· The data types NCHAR, NVARCHAR2, MLSLABEL, BLOB, CLOB, NCLOB, BFILE, and UROWID, which are supported by Oracle, are not supported by MaxDB.


Pseudo Column (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Pseudo Column

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of pseudo columns.

· The pseudo column LEVEL is not supported in MaxDB.

· Pseudo column ROWID can only be used if the option ROWID was specified in the CREATE TABLE statement. In contrast to Oracle, MaxDB produces a logical column identification of the data type RAW(8).

· In MaxDB, pseudo column ROWNUM cannot be used in the UPDATE statement.

· The pseudo column ROWNUM is entered into a selected column (select_column) after the result table has been sorted.


Operator (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Operator

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of operators.

The Oracle operator PRIOR is not supported in MaxDB.


Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Function

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ, among other things, in the definition of functions.

· The following Oracle functions are not supported as functions in MaxDB:

- CHARTOROWID

- ROWIDTOCHAR

- CONVERT

- DUMP

- USERENV

- NLS_INITCAP

- NLS_LOWER

- NLS_UPPER

- TO_MULTI_BYTE

- TO_SINGLE_BYTE

- INSTRB

- LENGTHB

- SUBSTRB

· When string functions LPAD and RPAD are specified in MaxDB, the character string x cannot be longer than n.

· When string function SUBSTR is specified in MaxDB, it cannot be less than 1.

· When the function INSTR is specified in MaxDB, the parameter "n" must not be smaller than 1.

· When functions TO_CHAR, TO_DATE, and TO_NUMBER are specified in MaxDB, the parameter "nlsparams" is not available.


Format (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Format

The SQL syntax elements for Oracle Version 7 and MaxDB in SQL mode ORACLE differ in the definition of the date format, among other things.

Unless otherwise specified in the ALTER SESSION statement, date format DD-MON-YY, language English, and BINARY sorting are assumed for a database session.


SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Statements

This section lists all the Oracle SQL statements that behave differently in Oracle Version 7 and MaxDB in ORACLE SQL mode.

A detailed description of the syntax for the Oracle SQL statements can be found in the ORACLE7 Server SQL Reference Manual, and not in the sections below. The Oracle SQL statements are listed in the same order that is used in the ORACLE7 Server SQL Reference Manual.

To enable a better understanding of the system explanations, a reference to the syntax description of the relevant MaxDB-SQL statement in the Reference Manual has been provided where appropriate.

For SQL statements that are not listed below, it can be assumed that there are no differences apart from the general differences.


alter_cluster_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_cluster_statement

The schema object cluster is not supported by MaxDB. The SQL statement ALTER CLUSTER (alter_cluster_statement) is therefore not accepted by MaxDB.


alter_database_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_database_statement

The SQL statement ALTER DATABASE (alter_database_statement) is not accepted by MaxDB.


alter_function_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_function_statement

The SQL statement ALTER FUNCTION (alter_function_statement) is rejected by MaxDB.


alter_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_index_statement

Since MaxDB needs no reorganization, you do not have to modify the memory characteristics for indexes. The SQL statement ALTER INDEX (alter_index_statement) is known in MaxDB, but has different syntax and semantics to Oracle (ALTER INDEX statement).


alter_package_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_package_statement

The SQL statement ALTER PACKAGE (alter_package_statement) is not accepted by MaxDB.


alter_procedure_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_procedure_statement

The SQL statement ALTER PROCEDURE (alter_procedure_statement) is not accepted by MaxDB.


alter_profile_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_profile_statement

The schema object profile is not supported by MaxDB. The SQL statement ALTER PROFILE (alter_profile_statement) is therefore not accepted by MaxDB.


alter_resource_cost_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_resource_cost_statement

The SQL statement ALTER RESOURCE COST (alter_resource_cost_statement) is not accepted by MaxDB.


alter_role_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_role_statement

The SQL statement ALTER ROLE (alter_role_statement) is not accepted by MaxDB.


alter_rollback_segment_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_rollback_segment_statement

The schema object rollback segment is not supported by MaxDB. The SQL statement ALTER ROLLBACK SEGMENT (alter_rollback_segment_statement) is therefore not accepted by MaxDB.


alter_sequence_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_sequence_statement

The SQL statement ALTER SEQUENCE (alter_sequence_statement) is not accepted by MaxDB.


alter_snapshot_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_snapshot_statement

The schema object snapshot is not supported by MaxDB. The SQL statement ALTER SNAPSHOT (alter_snapshot_statement) is therefore not accepted by MaxDB.


alter_snapshot_log_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_snapshot_log_statement

The schema object snapshot log is not supported by MaxDB. The SQL statement ALTER SNAPSHOT LOG (alter_snapshot_log_statement) is therefore not accepted by MaxDB.


alter_system_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_system_statement

The SQL statement ALTER SYSTEM (alter_system_statement) is not accepted by MaxDB.


alter_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_table_statement

The SQL statement ALTER TABLE (alter_table_statement) is known in MaxDB, but has different syntax and semantics to Oracle (ALTER TABLE statement).

· The variants PCTFREE, PCTUSED, INITRANS, MAXTRANS, STORAGE, DROP, and ALLOCATE are meaningless in MaxDB and are rejected.

· MaxDB cannot deactivate constraints. MaxDB thus ignores the specification of DISABLE.

· MaxDB cannot delete any UNIQUE constraints using the DROP clause. The DROP INDEX statement must be used for this instead.

· When columns are inserted, MaxDB automatically inserts these columns in all view tables that use the "*" in the <select_list>, in order to identify all columns of the table.


alter_tablespace_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_tablespace_statement

The schema object tablespace is not supported by MaxDB. The SQL statement ALTER TABLEPSACE (alter_tablespace_statement) is therefore not accepted by MaxDB.


alter_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_trigger_statement

MaxDB cannot deactivate triggers. The SQL statement ALTER TRIGGER (alter_trigger_statement) is therefore not accepted by MaxDB.


alter_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_user_statement

The SQL statement ALTER USER (alter_user_statement) is supported with a restricted syntax by MaxDB. In MaxDB, the ALTER USER- statement can only be used to change the user’s password. MaxDB rejects the specification of EXTERNALLY.

All other variants of the ALTER USER statement are rejected by MaxDB.


alter_view_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation alter_view_statement

MaxDB always keeps view tables in an executable state. The SQL statement ALTER VIEW (alter_view_statement) is therefore not necessary, and is not accepted.


analyze_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation analyze_statement

MaxDB only supports the variant ANALYZE TABLE for the SQL statement ANALYZE (analyze_statement). The options DELETE, VALIDATE STRUCTURE, and LIST CHAINED ROWS are not valid in MaxDB.


audit_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation audit_statement

The SQL statement AUDIT (audit_statement) is not accepted by MaxDB.


commit_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation commit_statement

MaxDB does not accept the specification of FORCE or COMMENT for the SQL statement COMMIT (commit_statement).


constraint_clause (SAP Library - MaxDB Library)

 Entering content frame

Background documentation constraint_clause

The following restrictions exist in MaxDB for the syntax element CONSTRAINT clause used in SQL statements:

· A constraint_name for a key or [NOT] NULL is not stored in the database catalog.

· USING INDEX is allowed within the syntax, but meaningless in MaxDB.

· MaxDB ignores the DISABLE option.


create_cluster_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_cluster_statement

The schema object cluster is not supported by MaxDB. The SQL statement CREATE CLUSTER (create_cluster_statement) is therefore not accepted by MaxDB.


create_controlfile_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_controlfile_statement

The SQL statement CREATE CONTROLFILE (create_controlfile_statement) is not accepted by MaxDB.


create_database_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_database_statement

The SQL statement CREATE DATABASE (create_database_statement) is not accepted by MaxDB.


create_database_link_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_database_link_statement

The schema object database link is not supported by MaxDB. The SQL statement CREATE DATABASE LINK (create_database_link_statement) is therefore not accepted by MaxDB.


create_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_index_statement

The SQL statement CREATE INDEX (create_index_statement) is known in MaxDB, but has different syntax and semantics to Oracle (CREATE INDEX statement).

· The specification of CLUSTER <cluster>, INITRANS <integer>, MAXTRANS <integer>, TABLESPACE <tablespace>, STORAGE <storage_clause>, PCTFREE <integer>, and NOSORT is meaningless in MaxDB, but is accepted by the syntax.

· The index is generated in descending order in MaxDB when DESC is specified.


create_package_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_package_statement

The SQL statement CREATE PACKAGE (create_package_statement) is not accepted by MaxDB.


create_package_body_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_package_body_statement

The SQL statement CREATE PACKAGE BODY (create_package_body_statement) is not accepted by MaxDB.


create_procedure_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_procedure_statement

The SQL statement CREATE PROCEDURE (create_procedure_statement) is not accepted by MaxDB.

Use the CREATE DBPROC statement (create_dbproc_statement) in the MaxDB database system to create a database procedure.


create_profile_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_profile_statement

The schema object profile is not supported by MaxDB. The SQL statement CREATE PROFILE (create_profile_statement) is therefore not accepted by MaxDB.


create_rollback_segment_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_rollback_segment_statement

The schema object rollback segment is not supported by MaxDB. The SQL statement CREATE ROLLBACK SEGMENT (create_rollback_segment_statement) is therefore not accepted by MaxDB.


create_sequence_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_sequence_statement

MaxDB accepts the SQL statement CREATE SEQUENCE (create_sequence_statement) with the following syntax restriction: the option ORDER is meaningless for MaxDB (CREATE SEQUENCE statement).


create_snapshot_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_snapshot_statement

The schema object snapshot is not supported by MaxDB. The SQL statement CREATE SNAPSHOT (create_snapshot_statement) is not accepted by MaxDB.


create_snapshot_log_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_snapshot_log_statement

The schema object snapshot log is not supported by MaxDB. The SQL statement CREATE SNAPSHOT LOG (create_snapshot_log_statement) is therefore not accepted by MaxDB.


create_synonym_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_synonym_statement

MaxDB does not permit any synonyms for database procedures, synonyms, or sequences.

When the SQL statement CREATE SYNONYM (create_synonym_statement) is executed, the object for which the synonym is defined in MaxDB must exist. The current user must have a privilege for this object.


create_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_table_statement

The SQL statement CREATE TABLE (create_table_statement) is known in MaxDB, but has different syntax and semantics to Oracle (CREATE TABLE statement).

· The specification of PCTFREE <integer>, PCTUSED <integer>, INITRANS <integer>, MAXTRANS <integer>, TABLESPACE <tablespace>, STORAGE <storage clause>, and CLUSTER <cluster> is allowed by the syntax, but is meaningless in MaxDB.

· MaxDB ignores the specification of DISABLE.

· If a subquery is specified, MaxDB does not generate NOT NULL constraints.

· In Oracle, each table row has a unique address that can be accessed as ROWID. The row can be addressed directly by using the ROWID. The ROWID also exists if the table has a key. Such an address is not available in MaxDB, because the rows are always addressed using the key.
Table option ROWID can be used to better imitate Oracle behavior. This has the following effect: The table implicitly received key column ROWID from data type RAW(8). This column is usually invisible and can only be selected using the ROWID function.
- If the CREATE TABLE statement contains a key_definition, an index with the UNIQUE attribute that corresponds to the key definition is generated.

In this way, a row has a ROWID and can be selected with the ROWID and the key.


create_tablespace_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_tablespace_statement

The schema object tablespace is not supported by MaxDB. Nevertheless, MaxDB still accepts the SQL statement CREATE TABLESPACE (create_tablespace_statement) syntactically, even though it has no effect.


create_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_trigger_statement

In MaxDB, the SQL statement CREATE TRIGGER (create_trigger_statement) can only be used to define triggers described in Oracle as “after row triggers”.

Use the CREATE TRIGGER statement (create_trigger_statement) in the MaxDB database system to create a trigger.


create_user_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_user_statement

The SQL statement CREATE USER (create_user_statement) is supported in MaxDB with restricted syntax. In the CREATE USER_statement, MaxDB does not accept the specification of IDENTIFIED EXTERNALLY, GLOBALLY AS <external_name>, DEFAULT TABLESPACE <tablespace>, TEMPORARY TABLESPACE <tablespace>, QUOTA, and PROFILE <profile>.

The created user has RESOURCE status.


create_view_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation create_view_statement

The SQL statement CREATE VIEW (create_view_statement) is supported in MaxDB with restricted syntax. The following restrictions exist in MaxDB for the syntax of the CREATE VIEW statement:

· MaxDB does not accept the specification of FORCE or NOFORCE.

· A constraint_name given to the CHECK OPTION is not stored in the database catalog. If no constraint name is specified, MaxDB does not generate a name.

· View tables that are changeable in Oracle are not necessarily changeable in MaxDB. This is especially true for view tables whose definition contains subqueries.


declare_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation declare_statement

In MaxDB, it is possible to specify the SQL statement DECLARE (declare_statement) with the following syntax restriction: the specification of a PL/SQL block is not accepted.


declare_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation declare_table_statement

The SQL statement DECLARE TABLE (declare_table_statement) is accepted by SAP DB, even though it is meaningless for MaxDB.


delete_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation delete_statement

The SQL statement DELETE (delete_statement) is supported in MaxDB with restricted syntax (DELETE statement).

· If CURRENT OF <cursor> is specified in MaxDB, the result table must be based on a changeable table.

· A cursor built by a join or join view table is rejected in MaxDB.


describe_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation describe_statement

In MaxDB, it is possible to specify the SQL statement DESCRIBE (describe_statement) with the following syntax restriction: the specification of a PL/SQL block is not accepted.


drop_cluster_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_cluster_statement

The schema object cluster is not supported by MaxDB. The SQL statement DROP CLUSTER (drop_cluster_statement) is therefore not accepted by MaxDB.


drop_database_link_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_database_link_statement

The schema object database link is not supported by MaxDB. The SQL statement DROP DATABASE LINK (drop_database_link_statement) is therefore not accepted by MaxDB.


drop_index_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_index_statement

The SQL statement DROP INDEX (drop_index_statement) is accepted by MaxDB with the following restriction: because of the different namespaces for indexes, the specification of an index name does not always uniquely identify an index in MaxDB. In such a case, the table to which the index refers must be explicitly specified.


drop_procedure_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_procedure_statement

The SQL statement DROP PROCEDURE (drop_procedure_statement) is not accepted by MaxDB.

Use the DROP DBPROC statement (drop_dbproc_statement) in the MaxDB database system to drop a database procedure.


drop_profile_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_profile_statement

The schema object profile is not supported by MaxDB. The SQL statement DROP PROFILE (drop_profile_statement) is therefore not accepted by MaxDB.


drop_rollback_segment_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_rollback_segment_statement

The schema object rollback segment is not supported by MaxDB. The SQL statement DROP ROLLBACK SEGMENT (drop_rollback_segment_statement) is therefore not accepted by MaxDB.


drop_snapshot_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_snapshot_statement

The schema object snapshot is not supported by MaxDB. The SQL statement DROP SNAPSHOT (drop_snapshot_statement) is therefore not accepted by MaxDB.


drop_snapshot_log_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_snapshot_log_statement

The schema object snapshot log is not supported by MaxDB. The SQL statement DROP SNAPSHOT LOG (drop_snapshot_log_statement) is therefore not accepted by MaxDB.


drop_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_table_statement

The SQL statement DROP TABLE (alter_table_statement) is known in MaxDB, but with the following syntax restrictions:

· All synonyms and view tables based on the table are dropped in MaxDB.

· Specifying CASCADE CONSTRAINTS has no effect in MaxDB.


drop_tablespace_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_tablespace_statement

The schema object tablespace is not supported by MaxDB. The SQL statement DROP TABLESPACE (drop_tablespace_statement) is therefore not accepted by MaxDB.


drop_trigger_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_trigger_statement

Because of the different namespaces for triggers, specifying a trigger name in MaxDB does not uniquely identify the trigger.

For this reason, MaxDB only accepts the DROP TRIGGER SQL statement (drop_trigger_statement) with the following restriction: the table that the trigger refers to must be specified explicitly (see also DROP TRIGGER Statement (drop_trigger_statement)).


drop_view_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation drop_view_statement

In MaxDB, the SQL statement DROP VIEW (drop_view_statement) is used to drop all synonyms that are based on the view table and the view tables.


execute_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation execute_statement

In MaxDB, it is possible to specify the SQL statement EXECUTE (execute_statement) with the following syntax restriction: the specification of a PL/SQL block is not accepted.


explain_plan_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation explain_plan_statement

The SQL statement EXPLAIN PLAN (explain_plan_statement) is not accepted by MaxDB.

However, there is a similar SQL statement in MaxDB: EXPLAIN statement.


grant_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation grant_statement

The SQL statement GRANT (grant_statement) is known in MaxDB, but behaves differently to Oracle in the following areas (GRANT statement):

· MaxDB does not accept the granting of system privileges.

· The schema object package cannot be specified when object privileges are granted in MaxDB.


insert_statement (embedded SQL) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation insert_statement (embedded SQL)

The SQL statement INSERT (insert_statement) is accepted in MaxDB with the following restriction (INSERT statement): MaxDB does not accept the specification of array host variables in the WHERE clause.


lock_table_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation lock_table_statement

The SQL statement LOCK TABLE (lock_table_statement) is accepted by MySQL MaxDB with the following syntax restrictions: if ROW EXCLUSIVE, SHARE ROW EXCLUSIVE or EXCLUSIVE are specified, MaxDB assigns an exclusive table lock. Concurrent requests on the table are therefore not possible.


noaudit_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation noaudit_statement

The SQL statement NOAUDIT (noaudit_statement) is not accepted by MaxDB.


rename_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation rename_statement

The SQL statement RENAME (rename_statement) is known in MaxDB, but behaves differently to Oracle: in MaxDB, only Basis tables can be renamed.


revoke_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation revoke_statement

The SQL statement REVOKE (revoke_statement) is known in MaxDB, but behaves differently to Oracle in the following areas (REVOKE statement):

· MaxDB does not accept the revoking of system privileges.

· The schema object package cannot be specified when object privileges are revoked in MaxDB.


rollback_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation rollback_statement

The SQL statement ROLLBACK (rollback_statement) is supported in MaxDB with restricted syntax (ROLLBACK statement).

· MaxDB rejects the specification of FORCE.

· MaxDB does not release any locks when ROLLBACK TO [SAVEPOINT] <savepoint> is specified.


select_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation select_statement

The SQL statement SELECT (select_statement) is supported in MaxDB with restricted syntax (SELECT statement).

· MaxDB does not support the specification of START WITH <condition> or CONNECT BY <condition>.

· MaxDB sometimes rejects outer joins with more than two tables in the FROM clause valid in Oracle.

· If the results in a table that are obtained from a SELECT statement are to be updateable, the syntax element FOR UPDATE must be entered.


set_transaction_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation set_transaction_statement

The SQL statement SET TRANSACTION (set_transaction_statement) is not accepted by MaxDB.


truncate_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation truncate_statement

The SQL statement TRUNCATE (truncate_statement) is supported by MaxDB with restricted syntax only.

  • The statement TRUNCATE CLUSTER [<schema>.]<cluster> is not accepted by MaxDB.
  • The syntax elements DROP / REUSE STORAGE are accepted by MaxDB. They do not have any semantic meaning, however, since they trigger a response that is standard in MaxDB.


update_statement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation update_statement

The SQL statement UPDATE (update_statement) is supported in MaxDB with restricted syntax (UPDATE statement (update_statement)).

· A correlated subquery is not permitted as a subquery (subquery) of a SET UPDATE clause in MaxDB.

· If CURRENT OF <cursor> is specified, the results table in MaxDB must be based on an updatable table. A cursor built by a join or join view table is rejected.


System Tables (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Tables

The following system tables are known in MaxDB, but they are empty because the corresponding objects or information does not exist in MaxDB:

ALL_ERRORS
ALL_SOURCE
ALL_SNAPSHOTS
ALL_TRIGGER_COLS

DBA_2PC_NEIGHBORS
DBA_2PC_PENDING
DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
DBA_AUDIT_TRAIL
DBA_BLOCKERS
DBA_CLUSTERS
DBA_CLU_COLUMNS
DBA_DATA_FILES
DBA_DDL_LOCKS
DBA_DML_LOCKS
DBA_ERRORS
DBA_EXP_FILES
DBA_EXP_OBJECTS
DBA_EXTENTS
DBA_LOCKS
DBA_OBJECT_SIZE
DBA_PRIV_AUDIT_OPTS
DBA_PROFILES
DBA_ROLLBACK_SEGS
DBA_SNAPSHOTS
DBA_SNAPSHOT_LOGS
DBA_SOURCE
DBA_STMT_AUDIT_OPTS
DBA_SYS_PRIVS
DBA_TABLESPACES
DBA_TRIGGER_COLS
DBA_TS_QUOTAS

RESOURCE_COST
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS

USER_AUDIT_OBJECT
USER_AUDIT_SESSION
USER_AUDIT_TRAIL
USER_CLUSTERS
USER_CLU_COLUMNS
USER_ERRORS
USER_EXTENTS
USER_OBJECT_SIZE
USER_SNAPSHOTS
USER_SNAPSHOT_LOGS
USER_SOURCE
USER_SYS_PRIVS
USER_TABLESPACES
USER_TRIGGER_COLS
USER_TS_QUOTAS

The following system table columns always contain a NULL value because the information is not available in the format required in MaxDB:

System Table(s) | Column(s)
ALL_CONSTRAINT, USER_CONSTRAINTS, DBA_CONSTRAINTS | R_CONSTRAINT_NAME
ALL_DEPENDENCIES, USER_DEPENDENCIES, DBA_DEPENDENCIES | REFERENCED_LINK_NAME
ALL_INDEXES, USER_INDEXES, DBA_INDEXES | PREFIX_LENGTH INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENT MAX_EXTENTS PCT_INCREASE PCT_FREE BLEVEL LEAF_BLOCKS AVG_LEAF_BLOCKS_PER_KEY AVG_DATA_BLOCKS_PER_KEY CLUSTERING_FACTOR NUM_ROWS SAMPLE_SIZE LAST_ANALYZED DEGREE INSTANCES BUFFER_POOL DUARTION PCT_DIRECT_ACCESS ITYP_OWNER ITYP_NAME PARAMETERS GLOBAL_STATS
ALL_OBJECTS, USER_OBJECTS, DBA_OBJECTS | SUBOBJECT_NAME DATA_OBJECT_ID
ALL_SYNONYMS, USER_SYNONYMS, DBA_SYNONYMS | DB_LINK
ALL_TABLES, USER_TABLES, DBA_TABLES | CLUSTER_NAME IOT_NAME PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENT MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES IOT_TYPE BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS DUARTION SKIP_CORRUPT MONITORING
ALL_TAB_COLUMNS, USER_TAB_COLUMNS, DBA_TAB_COLUMNS | DATA_TYPE_MOD DATA_TYPE_OWNER LOW_VALUE HIGH_VALUE DENSITY NUM_NULLS NUM_BUCKETS LAST_ANALYZED SAMPLE_SIZE GLOBAL_STATS AVG_COL_LENGTH
ALL_TRIGGERS, USER_TRIGGERS, DBA_TRIGGERS | COLUMN_NAME REFERENCING_NAME WHEN_CLAUSE ACTION_TYPE
ALL_VIEWS, USER_VIEWS, DBA_VIEWS | TYPE_TEXT_LENGTH TYPE_TEXT OID_TEXT_LENGTH OID_TEXT VIEW_TYPE_OWNER VIEW_TYPE
DBA_IND_COLUMNS | COLUMN_EXPRESSION
USER_FREE_SPACE, DBA_FREE_SPACE | RELATIVE_FNO
USER_RESOURCE_LIMITS | RESOURCE_NAME LIMIT
USER_SEGMENTS, DBA_SEGMENTS | BYTES BLOCKS EXTENTS INITIAL_EXTENT NEXT_EXTENT IN_EXTENT MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS BUFFER_POOL RESOURCE_NAME
USER_SYS_PRIVS | PRIVILEGE
USER_USERS, DBA_USERS | ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE PROFILE INITIAL_RSRC_CONSUMER_GROUP EXTERNAL_NAME


Error Messages (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Error Messages

When some errors occur, MaxDB produces the same error number as Oracle Version 7:

Message number | Message Text
1403 | Row not found
-1 | Duplicate key in index
-51 | Lock request timeout
-54 | Lock collision
-602 | System error
-942 | Unknown table name
-955 | Duplicate name
-1007 | Parameter is too long
-1008 | Too many or too few host variables for output
-1034 | Serverdb must be restarted
-1400 | Input parameter cannot be NULL value
-1402 | Integrity violation
-1405 | Missing indicator variable
-1452 | Duplicate secondary key
-1556 | Data space full (emergency shutdown)

For all other errors, MaxDB produces the error numbers described in the messages manual. These are different to the numbers for the corresponding Oracle errors.


Messages (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Messages

Purpose

This documentation explains the most important error messages and system messages displayed by the MaxDB database system and recommends how you should deal with these messages ("user action").

Every message has a unique message number that is assigned to a number range. You can use this number range to find out which component of the database system caused the error message to be displayed.

For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted glossary.


Number ranges (SAP Library - MaxDB Library)

 Entering content frame

Number ranges

Component | Number Range
Database kernel | 0 to 1999 –1 to –699 –900 to –999 –1000 to –1999 –2000 to–2999 –3000 to –3999 –4000 to –4999 –5000 to –5999 –6000 to –6999 –7000 to –7999 –8000 to –9799
SQLDBC | -10000 to -10999
Perl DBD | -11000 to -11099
PHP | -11100 to -11199
ODBC | –22000 to –22999
SQL Studio | -23000 to -23999
Database Manager | -24000 to -24999
Loader | 25000 to 25999 -25000 to -25999
live Cache | -27000 to -28999


From -1 to -699 (SAP Library - MaxDB Library)

 Entering content frame

From -1 to -699

Database Kernel Error Messages

-1 | Duplicate key in index
-8 | Execution failed, parse again
-20 | Duplicate key
-25 | Duplicate secondary key
-30 | Integrity violation
-32 | View violation
-35 | Referential integrity violated
-36 | Foreign key integrity violation
-40 | Lock collision
-50 | Lock request timeout
-51 | Lock request timeout
-54 | Lock collision
-60 | Work rolled back
-65 | Work rolled back
-70 | Session inactivity timeout (Work rolled back)
-71 | Session terminated by shutdown (Work rolled back)
-75 | Too many SQL statements (Work rolled back)
-101 | SQL statement not available in this DB mode
-102 | SQL statement canceled
-103 | SQL statement not available for this application
-104 | DBM command impossible at this time
-106 | Table unloaded or content deleted
-107 | SQL statement not allowed for this instance
-108 | Table or index dropped or content deleted
-111 | Incompatible incremental backup
-115 | Table is read only
-123 | No more log to save
-126 | Data backup missing (backup history lost)
-127 | Log backup is not possible because log writing has been switched off
-128 | Log backup is not possible because the log overwrite mode has been enabled
-530 | Referential integrity violated
-602 | System error


-1: Duplicate key in index (SAP Library - MaxDB Library)

 Entering content frame

-1: Duplicate key in index

Explanation:

There is already a table row with the specified secondary key. UNIQUE was specified for the secondary key.

User Action:

To avoid a key value collision, correct the value of the key to be inserted in the SQL statement.

The error message specifies the column or multiple-column index that already contains the specified values.


-8: Execution failed, parse again (SAP Library - MaxDB Library)

 Entering content frame

-8: Execution failed, parse again

Explanation:

The parse identification (parsid) became invalid by modifications made to the database catalog during parsing and executing a statement.

User Action:

Reparse the statement.


-20: Duplicate key (SAP Library - MaxDB Library)

 Entering content frame

-20: Duplicate key

Explanation:

There is already a table row with the key to be inserted.

User Action:

Check whether the existing table row contains the desired values. If this is not the case, check whether values in the existing table row can be replaced with the desired values. If a new table row must be inserted, change the value of the key to be inserted in the SQL statement in order to prevent key collisions.


-25: Duplicate secondary key (SAP Library - MaxDB Library)

 Entering content frame

-25: Duplicate secondary key

Explanation:

There is already a table row with the specified secondary key. UNIQUE was specified for the secondary key.

User Action:

To avoid a key value collision, correct the value of the key to be inserted in the SQL statement.

The error message specifies the column or multiple-column index already containing the specified values.


-30: Integrity violation (SAP Library - MaxDB Library)

 Entering content frame

-30: Integrity violation

Explanation:

Insertions or updates would violate integrity constraints (see Data Integrity Tools) specified in the definition of the base or view table.

User Action:

The error message indicates which column would violate the integrity constraints.

Correct the input value for the relevant column.


-32: View violation (SAP Library - MaxDB Library)

 Entering content frame

-32: View violation

Explanation:

An INSERT statement or UPDATE statement was specified for a view table. At least one of the rows specified in the SQL statement does not satisfy the search conditions of all underlying view tables defined using WITH CHECK OPTION.

User Action:

Display the definition of the view table using a QUERY statement issued on the DOMAIN.VIEWDEFS system table. Correct the INSERT or UPDATE statement according to this definition.


-35: Referential integrity violated (SAP Library - MaxDB Library)

 Entering content frame

-35: Referential integrity violated

Explanation:

This may be caused by one of the following:

1. An INSERT or UPDATE statement issued on a table that is the referencing table in a referential CONSTRAINT definition produces a row that is not a matching row of the CONSTRAINT definition.

2. When deleting rows from a referenced table (referenced_table) of a referential CONSTRAINT definition with ON DELETE RESTRICT in the DELETE RULE, a matching row exists.

3. When executing a referential CONSTRAINT definition, the referenced table or referencing table contains rows that conflict with the CONSTRAINT definition.

User Action:

...

1. Display the definition of the referential CONSTRAINT definition using a QUERY statement issued on the system table DOMAIN.FOREIGNKEYCOLUMNS. Correct the INSERT or UPDATE statement according to this definition.

2. Use an appropriate QUERY statement to find out which row of the referencing table prevents the desired referenced table rows from being deleted.

3. Use an appropriate QUERY statement to find out which row of the referenced table or referencing table conflicts with the referential CONSTRAINT definition. Change or delete this row, or correct the CONSTRAINT definition.


-36: Foreign key integrity violation (SAP Library - MaxDB Library)

 Entering content frame

-36: Foreign key integrity violation

Explanation:

Where there is an INSERT or UPDATE statement issued on a join view table, the column values functionally depending on the referencing columns of the referencing table conflict with the existing column values.

User Action:

This conflict may be solved by changing either the column values specified in the INSERT or UPDATE statement, or the existing values.


-40: Lock collision (SAP Library - MaxDB Library)

 Entering content frame

-40: Lock collision

Explanation:

When the option (NOWAIT) is specified in the LOCK statement or in the LOCK option , this error message signals that the lock request conflicts with the locks of other users.

User Action:

In interactive mode, another job can be activated which does not require the desired lock.

As an alternative, you can wait for the lock to be released by specifying the same SQL statement without the '(NOWAIT)' option.


-50: Lock request timeout (SAP Library - MaxDB Library)

 Entering content frame

-50: Lock request timeout

Explanation:

The lock request or an implicit lock conflicts with the locks of another user. The maximum waiting time for being granted the lock has elapsed (special database parameter REQUEST_TIMEOUT).

User Action:

In some cases, the error message contains a more detailed description of the error.

The lock request can be reissued, To avoid possible deadlock situations, it is advisable to roll back the transaction using a ROLLBACK statement.


-51: Lock request timeout (SAP Library - MaxDB Library)

 Entering content frame

-51: Lock request timeout

Explanation:

The lock request or an implicit lock conflicts with the locks of another user. The maximum waiting time for being granted the lock has elapsed (special database parameter REQUEST_TIMEOUT).

User Action:

In some cases, the error message contains a more detailed description of the error.

The lock request can be reissued,To avoid possible deadlock situations, it is advisable to roll back the transaction using a ROLLBACK statement.


-54: Lock collision (SAP Library - MaxDB Library)

 Entering content frame

-54: Lock collision

Explanation:

When the option (NOWAIT) is specified in the LOCK statement or in the LOCK option , this error message signals that the lock request conflicts with the locks of other users.

User Action:

...

In interactive mode, another job can be activated which does not require the desired lock.

As an alternative, you can wait for the lock to be released by specifying the same SQL statement without the '(NOWAIT)' option.


-60: Work rolled back (SAP Library - MaxDB Library)

 Entering content frame

-60: Work rolled back

Explanation:

The user’s transaction was implicitly cancelled and reset by a ROLLBACK statement. for the following possible reasons:

The user failed to carry out any operations in the database system within a certain period of time, but was holding locks which other users were waiting for.

the database instance was in a deadlock situation. The database server was in a situation in which two or more users are holding locks and request further locks that are being held by other users. In the simplest case of two users, one user holds one lock at least and requests another lock. But this lock is held by another user who is himself waiting for the lock held by the first user. This situation can only be resolved if one of the users releases the lock already obtained.

User Action:

In some cases, the error message contains a more detailed description of the error.

In both cases, the lock requests must be checked and modified, if necessary. Repeat the last transaction.


-65: Work rolled back (SAP Library - MaxDB Library)

 Entering content frame

-65: Work rolled back

Explanation:

The user's transaction was canceled implicitly and reset by an implicit ROLLBACK statement because the log area is full.

User Action:

The error text contains a precise description of the error.

Save the log area (log backup).


-70: Session inactivity timeout (Work rolled back) (SAP Library - MaxDB Library)

 Entering content frame

-70: Session inactivity timeout (Work rolled back)

Explanation:

The user's transaction was implicitly canceled and reset by a ROLLBACK statement. The database session was implicitly terminated, because the user failed to carry out any operations on the database system during the period of time specified by the timeout value.

User Action:

Repeat the CONNECT statement, maybe specifying a higher timeout value.

It may also be necessary to check and modify the value of the special database parameter SESSION_TIMEOUT.


-71: Session terminated by shutdown (Work rolled back) (SAP Library - MaxDB Library)

 Entering content frame

-71: Session terminated by shutdown (Work rolled back)

Explanation:

The user’s transaction was implicitly cancelled and reset by a ROLLBACK statement. The database session was terminated because the database administration system shut the database instance down. To speed up a later restart, the database system tries to reset and not just terminate open transactions within a short period.

User Action:

Once the database is ready, repeat the CONNECT statement and the transaction.


-75: Too many SQL statements (Work rolled back) (SAP Library - MaxDB Library)

 Entering content frame

-75: Too many SQL statements (Work rolled back)

Explanation:

The user’s transaction was implicitly cancelled and reset by a ROLLBACK statement. The database session was implicitly terminated, since you had issued too many SQL statements or had performed too many transactions within a session.

User Action:

After a new CONNECT statement the transaction may be repeated.


-101: SQL statement not available in this DB mode (SAP Library - MaxDB Library)

 Entering content frame

-101: SQL statement not available in this DB mode

Explanation

In order to execute the SQL statement, the database must be in OFFLINE or ONLINE mode.

User action

Ensure that the database instance is in the required mode.

If a system error has occurred and the system has performed a SHUTDOWN, correct the error and re-start the database instance.


-102: SQL statement canceled (SAP Library - MaxDB Library)

 Entering content frame

-102: SQL statement canceled

Explanation:

The SQL statement currently executed was terminated by a user.

User Action:

No user action required in the dialog. In other cases, use a ROLLBACK statement to reset the transaction.


-103: SQL statement not available for this application (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -103: SQL statement not available for this application

Explanation:

You have attempted to use an application to execute an SQL statement. This application has no privileges for this statement.

User Action:

Use the correct application, or check the syntax of the statement.


-104: DBM command impossible at this time (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -104: DBM command impossible at this time

Explanation:

You have attempted to execute a database management statement.

You cannot execute this statement if another database statement is already running.

User Action:

Execute the statement later.


-106: Table unloaded or content deleted (SAP Library - MaxDB Library)

 Entering content frame

-106: Table unloaded or content deleted

Explanation:

The table is currently inaccessible. Possible reasons:

...

1. The table was extracted from the database instance with an EXPORT TABLE command.

2. Another user simultaneously performed a DELETE statement for either a large part of the table or for the whole table. As a result, the specified table was inaccessible for a short period of time. This error message can only occur if you work with Isolation Level 0.

User Response:

...

1. Reload the table into the database using the IMPORT TABLE command.

2. Wait until the DELETE statement has been executed.

Then execute the SQL statement.


-107: SQL statement not allowed for this instance (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -107: SQL statement not allowed for this instance

Explanation:

The database instance is unable to execute this SQL statement.

User Action:

You must do without the SQL statement for this database instance.


-108: Table or index dropped or content deleted (SAP Library - MaxDB Library)

 Entering content frame

-108: Table or index dropped or content deleted

Explanation:

Isolation level 0 (no shared locks) has been configured for the database instance.

You have executed an SQL statement that references a nonexistent table or a nonexistent index. The table or index was deleted by another database user while you were executing your SQL statement.

The database system therefore terminated the execution of your SQL statement.

User Response:

Assess whether isolation level 0 is appropriate for your database application.

See also:

Concepts of the Database System, Isolation Level


-111: Incompatible incremental backup (SAP Library - MaxDB Library)

 Entering content frame

-111: Incompatible incremental backup

Explanation:

The database version to be loaded is not the follow-up version of the current database state.

User Action:

Choose the correct database version.


-115: Table is read only (SAP Library - MaxDB Library)

 Entering content frame

-115: Table is read only

Explanation:

The attempt was made to perform an INSERT, UPDATE or DELETE statement. But the specified table only allows reading SQL statements because it was previously loaded with the NOLOG option.

User Action:

You can cancel read-only mode only. Start a data backup using the corresponding database administration tool.


-123: No more log to save (SAP Library - MaxDB Library)

 Entering content frame

-123: No more log to save

Explanation:

You tried to save the log area. This is neither possible nor necessary as the database system wrote no entries, or very few entries, to the log area since the log area was last saved.

User Action:

No user action is required.


-126: Data backup missing (backup history lost) (SAP Library - MaxDB Library)

 Entering content frame

-126: Data backup missing (backup history lost)

Explanation:

You tried to save the log area by starting a log backup (interactive log backup, or activating the automatic log backup). This is not allowed in the current operating state, because there is no preceding data backup that can be used for restoring the saved log area later on.

User Action:

Create a complete data backup to begin the backup history. Then, repeat the required log backup.


Log backup is not possible because log writing has been switched off

 Entering content frame

-127: Log backup is not possible because log writing has been switched off

Explanation:

You tried to save the log area, either by starting an interactive log backup or by attempting to activate the automatic log backup. This is not allowed in the current database state, because redo log management is disabled. Disabling redo log management canceled the backup history, and the last data backup can no longer be used to fully restore the database instance. Therefore, it doesn't make any sense at present to back up the log.

User Action:

...

1. Re-enable redo log management.

2. Create a complete data backup to begin the backup history again.

3. Repeat the failed command.


Log backup is not possible because the log overwrite mode has been enabled

 Entering content frame

-128: Log backup is not possible because the log overwrite mode has been enabled

Explanation:

You tried to save the log area, either by starting an interactive log backup or by attempting to activate the automatic log backup. This is not allowed in the current database state, because automatic overwrite mode for the log area is enabled. Enabling automatic log overwrite mode canceled the backup history, and the last data backup can no longer be used to fully restore the database instance. Therefore, it doesn't make any sense at present to back up the log.

User Action:

...

1. Disable automatic overwrite mode for the log area.

2. Create a complete data backup to begin the backup history again.

3. Repeat the failed command.


-530: Referential integrity violated (SAP Library - MaxDB Library)

 Entering content frame

-530: Referential integrity violated

Explanation:

The following reasons are possible:

...

An INSERT or UPDATE-statement issued on a table that is the referencing table in a referential CONSTRAINT definition produces a row that is not a matching row of the CONSTRAINT definition.

When deleting rows from a referenced table (referenced_table) of a referential CONSTRAINT definition with ON DELETE RESTRICT in the DELETE RULE, a matching row exists.

User Action:

...

Display the definition of the referential CONSTRAINT definition using a QUERY statement issued on the system table DOMAIN.FOREIGNKEYCOLUMNS. Change the INSERT or UPDATE statement according to this definition.

Use an appropriate QUERY statement to find out which row of the referencing table prevents the desired referenced table rows from being deleted.


-602: System error (SAP Library - MaxDB Library)

 Entering content frame

-602: System error

Explanation:

Normal database operations were disrupted. The database may no longer be consistent. An implicit SHUTDOWN may have been performed.

User Action:

Shut down the database instance and contact Support.

Send the database trace and other log files to Support so that the error can be traced and rectified.


From -900 to -999 (SAP Library - MaxDB Library)

 Entering content frame

From -900 to -999

Database Kernel Error Messages

-900 | Data area full
-901 | Log full
-902 | I/O error
-903 | Hostfile I/O error
-904 | Space for result tables exhausted
-907 | Space for user session exhausted
-910 | COSTLIMIT for this user exhausted
-911 | Work rolled back
-913 | Lock request timeout
-914 | New volume not accessible
-915 | No more memory
-917 | Save/Restore write process crash - I/O error
-918 | Stack overflow
-942 | Unknown table name
-955 | Duplicate name


-900: Data area full (SAP Library - MaxDB Library)

 Entering content frame

-900: Data area full

Explanation:

The data area of the database instance is full.

User Action:

The database instance must be enlarged by assigning additional volumes. The SQL statements started beforehand will be finished afterwards.


-901: Log full (SAP Library - MaxDB Library)

 Entering content frame

-901: Log full

Explanation:

The log area is full. The following reasons are possible:

...

1. No log backups are active. Database Manager makes modifications which, together with modifications of other transactions, cause the log area to overflow.

2. Log backups are being performed. However, the backups are not running fast enough, or there is a very long transaction whose modifications together with the modifications of transactions running in parallel result in a log area overflow. Database Manager makes modifications.

The issued SQL statement fails.

User Action:

...

1. Save the log area.
Repeat the SQL statement.

2. The database system saves the log area needed by the very long transaction in other areas of the database instance. The command can then be repeated.

Check whether this situation occurs frequently, that is whether the log area is too small for the number of users and average transaction length. Then expand the log area.

You should also check whether an error in the application programming results in the very long or endless transaction, and correct this if necessary.


-902: I/O error (SAP Library - MaxDB Library)

 Entering content frame

-902: I/O error

Explanation:

While an SQL statement was being processed, a read or write operation had to be performed on the data area or log area. This operation could not be executed successfully. The following reasons are possible:

...

1. A SHUTDOWN was performed in the meantime.

2. A disk is defective.

User Action:

In some cases, the error message contains an additional description of the error which must be interpreted according to the operating system being used.

...

1. Use Database Manager to start the database instance.

2. Once the disk error has been corrected, the database instance must be restored.


-903: Hostfile I/O error (SAP Library - MaxDB Library)

 Entering content frame

-903: Hostfile I/O error

Explanation:

An error occurred while operating a command file or host file or a backup device.

User Action:

The error message contains an additional error description which must be interpreted according to the operating system being used.

To find out and remove the error cause, consult the documentation on the operating system.

Check whether a typing error or the specification of a directory instead of a file could have caused the error.


-904: Space for result tables exhausted (SAP Library - MaxDB Library)

 Entering content frame

-904: Space for result tables exhausted

Explanation:

There is no more memory space available for results tables.

Possible reasons:

...

1. The storage space available for results tables is too small or

2. The database application generated too much temporary information.

In both cases, the execution of the SQL statement was terminated and the user was disconnected from the database system by an implicit RELEASE statement in the format ROLLBACK WORK RELEASE.

User Response:

...

1. Reissue the SQL statement after a new CONNECT statement. At this time another user may have defined fewer result tables or generated less temporary information.

2. Use the Database Manager to define more disk space.

3. Use an EXPORT TABLE command to transfer tables and create more space.


-907: Space for user session exhausted (SAP Library - MaxDB Library)

 Entering content frame

-907: Space for user session exhausted

Explanation:

You have not been connected to the database system because there is not sufficient free temporary disk space to connect to a normal database session.

User Action:

...

1. You can connect as soon as another user has disconnected, or when deletion of other users’ result tables frees up sufficient storage space again.

2. You can use the Database Manager to connect and reconfigure the database instance.


-910: COSTLIMIT for this user exhausted (SAP Library - MaxDB Library)

 Entering content frame

-910: COSTLIMIT for this user exhausted

Explanation:

Execution of the SQL statement would exceed the permissible maximum limit for the processing of the SQL statement (COSTLIMIT value of the user) because of the necessary selection of rows. The COSTLIMIT value is defined in the CREATE USER, CREATE USERGROUP, ALTER USER or ALTER USERGROUP statement.

User Action:

You should check whether the SQL statement is needed in the specified format. You should check whether for example the set of data to be processed could be decreased by specifying more conditions in the search condition; thus decreasing the costs.

Should this not be possible, try to achieve the effect of the SQL statement by several less costly SQL statements.

Display the definition of the COSTLIMIT value using a QUERY statement issued on the system table DOMAIN.USERS.

The database administrator or the owner of the user group or user may increase the COSTLIMIT value by using an ALTER USER or ALTER USERGROUP statement.


-911: Work rolled back (SAP Library - MaxDB Library)

 Entering content frame

-911: Work rolled back

Explanation:

The user’s transaction was implicitly cancelled and reset by a ROLLBACK statement. for the following possible reasons:

...

1. The user failed to carry out any database operations within a certain period of time, but was holding locks which other users were waiting for.

2. the database instance was in a deadlock situation.

A deadlock situation is where two or more users hold locks and request further locks that are held by the other users. In the simplest case of two users, one user holds one lock at least and requests another lock. But this lock is held by another user who is himself waiting for the lock held by the first user. This situation can only be resolved if one of the users releases the lock already obtained.

User Action:

In some cases, the error message contains a more detailed description of the error.

In both cases, the lock requests must be checked and modified, if necessary. Repeat the last transaction.


-913: Lock request timeout (SAP Library - MaxDB Library)

 Entering content frame

-913: Lock request timeout

Explanation:

The lock request or an implicit lock conflicts with the locks of another user. The maximum waiting time for being granted the lock has elapsed (special database parameter REQUEST_TIMEOUT).

User Action:

In some cases, the error message contains a more detailed description of the error.

The lock request can be reissued. To avoid possible deadlock situations, it is advisable to roll back the transaction using a ROLLBACK.


-914: New volume not accessible (SAP Library - MaxDB Library)

 Entering content frame

-914: New volume not accessible

Explanation:

You tried to define an additional disk for the data area. However, you were unable to do so because you could not access any disk with the specified name and size.

User Action:

The error message contains an additional error description which must be interpreted according to the operating system being used.

Check the name and size of the disk as well as the installation. Change the specifications, then repeat the command.


-915: No more memory (SAP Library - MaxDB Library)

 Entering content frame

-915: No more memory

Explanation:

...

1. There is not enough main memory available to open a database session. The maximum main memory available is determined by the special database parameter CAT_CACHE_SUPPLY when installing the database instance.

2. The amount of main memory available is not sufficient to execute the required database procedure.

User Action:

...

1. You can only open a session when at least one other user has terminated their session. Check whether the value of the database parameter CAT_CACHE_SUPPLY is sufficient.

2. Try to execute the database procedure at a later stage.


-917: Save/restore write process crash - I/O error (SAP Library - MaxDB Library)

 Entering content frame

-917: Save/restore write process crash - I/O error

Explanation:

  1. An I/O error occurred while attempting to write to a backup device for a save statement.
  2. An I/O error occurred while attempting to write to a volume for a restore statement.

The restore or save statement was cancelled.

User Action:

The error message contains an additional error description which must be interpreted according to the operating system being used.

To find out and remove the error cause, consult the documentation on the operating system.


-918: Stack overflow (SAP Library - MaxDB Library)

 Entering content frame

-918: Stack overflow

Explanation:

The maximum stack usage allowed for a task was reached as a result of nested calls of database procedures, triggers or subqueries, or a very complicated value specification. Further nesting is not possible. The execution of the command was canceled.

User Action:

...

1. Further limit the nesting depth of the calls with suitable queries in the database procedures and triggers.

2. Try to limit the nesting depth by dividing the SQL statement into several substatements.


-942: Unknown table name (SAP Library - MaxDB Library)

 Entering content frame

-942: Unknown table name

Explanation:

A table with the specified name is not known to you. This table may not exist; or this table exists but you have no privileges for it.

User Action:

Use a QUERY statement issued on the system table DOMAIN.TABLES to find out the names of the tables for which you have privileges. Correct the table name. (It may be sufficient to place the missing owner in front of the name). If correction is not possible, create a table with this name. Check why you have no privileges for the existing table.


-955: Duplicate name (SAP Library - MaxDB Library)

 Entering content frame

-955: Duplicate name

Explanation:

There is already a data object with the specified name.

User Action:

Repeat the SQL statement with another name.


From -1000 to -1999 (SAP Library - MaxDB Library)

 Entering content frame

From -1000 to -1999

Database Kernel Error Messages

-1000 | Too many lock requests
-1001 | Too many lock objects specified
-1002 | Too many columns
-1003 | Too many buffers requested
-1004 | Too many correlated columns
-1005 | Too many monadic operators
-1006 | Too many variables
-1007 | Parameter list too long
-1008 | Too many or too few host variables for output
-1009 | Too many named indexes for this table
-1010 | Too many volumes
-1011 | Too many correlated tables
-1012 | Too many referential constraint definitions for this table
-1013 | Too many order columns
-1014 | Too many source tables
-1015 | Too many values
-1017 | Too many joins
-1023 | Too many nested subtransactions
-1025 | Too many asynchron requests
-1026 | Too many differences between old and new view definition
-1102 | Too complicated SQL statement (Too many Subqueries)
-1103 | Too complicated SQL statement
-1104 | Too complicated SQL statement (KB-stack overflow)
-1105 | Too complicated SQL statement (Too much data)
-1106 | Too complicated SQL statement (Too much strategy data)
-1107 | Too complicated SQL statement (Too many internal commands)
-1108 | Too complicated SQL statement (Correlated row too long)
-1110 | View definition too long
-1111 | Too many savepoints
-1112 | Constraint too complicated
-1113 | Too many nested function calls
-1114 | Communication packet too small
-1115 | Too many intern columns
-1116 | Too long trigger parameters
-1117 | Too complicated trigger qualification
-1119 | Too many constraints for this table
-1120 | Too many statements in definition
-1200 | Too few values
-1201 | Too few columns
-1400 | Input parameter cannot be NULL value
-1402 | Integrity violation
-1403 | Row not found
-1405 | Missing indicator variable, output parameter
-1406 | Output value truncated
-1452 | Duplicate secondary key
-1556 | Data space full
-1755 | SQL statement will drop further objects (use CASCADE)


-1000: Too many lock requests (SAP Library - MaxDB Library)

 Entering content frame

-1000: Too many lock requests

Explanation:

There are too many locks or lock requests.

User Action:

You can try to repeat the SQL statement at a later time or cancel the transaction. If this situation occurs frequently, then the MAXLOCKS general database parameter is too small and should be increased.


-1001: Too many lock objects specified (SAP Library - MaxDB Library)

 Entering content frame

-1001: Too many lock objects specified

Explanation:

The LOCK statement contains too many tables or table rows that need to be locked.

User Action:

The SQL statement must be formulated using two successive LOCK statements.


-1002: Too many columns (SAP Library - MaxDB Library)

 Entering content frame

-1002: Too many columns

Explanation:

1. The maximum number of columns specified under Restrictions for SQL Statments has been exceeded.

2. A named index can be created across a maximum of 16 columns of a table.

3. In a referential CONSTRAINT definition, more referencing columns were specified than referenced columns. The number of specified columns in the referencing table must correspond to the specified number of referenced columns in the referenced table.

User Action:

4. Use a QUERY statement issued on the DOMAIN.COLUMNS system table to view the current definition of the table. You must not define any further columns.

5. Correct the number of columns in the index definition.

6. Use a QUERY statement issued on the DOMAIN.COLUMNS system table to view the complete definition and the key columns of the referenced table.

...

Wenn keine Schlüsselspalte definiert wurde, beträgt die maximale Anzahl der Spalten 254, da das System automatisch eine interne Schlüsselspalte SYSKEY einfügt. Ansonsten beträgt die Anzahl 255.

n


-1003: Too many buffers requested (SAP Library - MaxDB Library)

 Entering content frame

-1003: Too many buffers requested

Explanation:

The storage requirements of the buffers and areas defined by the database parameters are larger than the maximum virtual storage space available for the database system. The execution of the SQL statement was canceled.

User Action:

Either decrease the size or number of buffers and areas or increase the virtual storage space available to the database system. Restart the database instance.


-1004: Too many correlated columns (SAP Library - MaxDB Library)

 Entering content frame

-1004: Too many correlated columns

Explanation:

The SQL statement contains at least one correlated subquery. An attempt was made to use more than 64 correlated columns. At most 64 correlated columns can be used. Every single usage of a correlated column is counted.

User Action:

Rearrange the SQL statement in such a way that 64 correlated columns suffice. Alternatively, you may want to try to achieve the effect of this SQL statement using several SQL statements.


-1005: Too many monadic operators (SAP Library - MaxDB Library)

 Entering content frame

-1005: Too many monadic operators

Explanation:

The SQL statement contains at least two monadic operators placed one after the other in an invalid manner.

User Action:

Correct the monadic operators in the SQL statement..


-1006: Too many variables (SAP Library - MaxDB Library)

 Entering content frame

-1006: Too many variables

Explanation:

A maximum of 2000 parameters may be specified per SQL statement (see Restrictions for SQL Statements).

User Action:

Reduce the number of parameters specified in the SQL statement. Some parameters must be replaced with constant values. If this is not possible, split the SQL statement into several SQL statements.


-1007: Parameter list too long (SAP Library - MaxDB Library)

 Entering content frame

-1007: Parameter list too long

Explanation:

More parameters have been specified in a statement than are permitted in the pertinent EXECUTE statement.

User Action:

Modify the number of parameters in such a way that it corresponds to the specifications made in the column list.


-1008: Too many or too few host variables for output (SAP Library - MaxDB Library)

 Entering content frame

-1008: Too many or too few host variables for output

Explanation:

The SQL statement contains variables for selected columns.

The number of variables does not match the number of selected columns.

User Action:

Check the number and data types of the variables, and correct them.

In the SELECT statement, replace ‘*’ with a sequence of column names.


-1009: Too many named indexes for this table (SAP Library - MaxDB Library)

 Entering content frame

-1009: Too many named indexes for this table

Explanation:

A maximum of 255 named indexes can be created for each table (see Restrictions for SQL Statements).

User Action:

Check whether you need this many indexes.

The amount of work needed to maintain indexes for change operations, and the amount of memory needed for the indexes, is usually out of proportion to the benefits.


-1010: Too many volumes (SAP Library - MaxDB Library)

 Entering content frame

-1010: Too many volumes

Explanation

During installation, the number of data volumes is limited (see Technical Restrictions). This number was exceeded.

User action

Reduce the number of data volumes.


-1011: Too many correlated tables (SAP Library - MaxDB Library)

 Entering content frame

-1011: Too many correlated tables

Explanation:

The number of correlated tables used in the correlated subqueries cannot exceed 16 (see Restrictions for SQL Statements).

User Action:

Try to formulate the SQL statement in such a way that 16 correlated tables are sufficient. Should this not be possible you have to use several SQL statements to achieve the desired effect.


-1012: Too many referential constraint definitions for this tabl (SAP Library - MaxDB Library)

 Entering content frame

-1012: Too many referential constraint definitions for this table

Explanation:

An attempt was made to generate a referential CONSTRAINT definition. When doing this, the total lengths of all referring or all referred columns exceeeds the maximum row length.

User Action:

This SQL statement can only be called once an existing CONSTRAINT definition has been deleted. Otherwise, do without the new CONSTRAINT definition.


-1013: Too many order columns (SAP Library - MaxDB Library)

 Entering content frame

-1013: Too many order columns

Explanation:

The following causes of errors are possible:

...

1. More than 128 columns were specified as sort criteria or group columns (see Restrictions for SQL Statements).

2. The total length of the order or group columns exceeds 1020 bytes.

3. The length of the longest result data type of a DISTINCT function, together with the lengths of the group columns, exceeds 254 characters. The result data type is the data type which is assigned to the result of an expression.

User Action:

In the SQL statement, you must remove one or more columns specified in the ORDER clause or GROUP clause.


-1014: Too many source tables (SAP Library - MaxDB Library)

 Entering content frame

-1014: Too many source tables

Explanation:

The number of underlying tables of the FROM clause of the SQL statement exceeds 16. If a join view table was specified in the FROM clause, the number of base tables underlying the join view table is considered for the calculation.

User Action:

You can split the SQL statement into two successive SQL statements.

It is also possible to bypass this restriction by using a QUERY expression in the FROM clause.


-1015: Too many values (SAP Library - MaxDB Library)

 Entering content frame

-1015: Too many values

Explanation:

In an INSERT or UPDATE statement, the number of specified values exceeds the number of column names implicitly specified.

User Action:

Match the number of specified values in the SQL statement with the number of specified column names. Use a QUERY statement issued on the system table DOMAIN.COLUMNS for an INSERT statement without column name specification to determine the definition of the table used .


-1017: Too many joins (SAP Library - MaxDB Library)

 Entering content frame

-1017: Too many joins

Explanation:

The number of JOIN predicates in a search condition cannot exceed 64 (see Restrictions for SQL Statements).

User Action:

The expected result can be achieved by issuing several QUERY statements and creating the respective result tables as temporary results. It is also possible to change the SQL statement in such a way that temporary results are implicitly created when a QUERY expression is used in a FROM clause.


-1023: Too many nested subtransactions (SAP Library - MaxDB Library)

 Entering content frame

-1023: Too many nested subtransactions

Explanation:

The maximum nesting level of subtransactions is 32767. This number was exceeded.

User Action:

Check which error in application programming generated this nesting level of subtransactions, and correct it.


-1025: Too many asynchron requests (SAP Library - MaxDB Library)

 Entering content frame

-1025: Too many asynchron requests

Explanation

The specified SQL statement is intended to be processed asynchronously. However, there are not currently enough resources available.

User action

Execute the SQL statement later.


-1026: Too many differences between old and new view definition (SAP Library - MaxDB Library)

 Entering content frame

-1026: Too many differences between old and new view definition

Explanation:

A CREATE VIEW statement was specified with the REPLACE option. A view table with the specified name already exists. The existing view definition differs so much from the specified view definition that the definitions depending on this view table can no longer be maintained in a consistent state. The CREATE VIEW statement therefore fails.

User Action:

Do not modify the specified view table or check which of the depending definitions, e.g. view tables, privileges, and so on, do not match the new view definition. If there are some, delete them before re-executing the CREATE VIEW statement, and recreate them afterwards in an appropriate format.


-1102: Too complicated SQL statement (Too many subqueries) (SAP Library - MaxDB Library)

 Entering content frame

-1102: Too complicated SQL statement (Too many subqueries)

Explanation:

1. The SQL statement contains too many subqueries. The number of permissible subqueries depends on the kind of SQL statement.

2. Subqueries were specified in a table expression as well as in the WHERE clause and HAVING clause of an SQL statement containing at least one corresponding subquery. This is not allowed.

User Action:

Simplify the SQL statement or split it into several SQL statements.


-1103: Too complicated SQL statement (SAP Library - MaxDB Library)

 Entering content frame

-1103: Too complicated SQL statement

Explanation:

The number of operations, functions, and conditions is too large.

User Action:

Simplify the SQL statement. You may also want to try to obtain the effect of the SQL statement with several SQL statements.


-1104: Too complicated SQL statement (KB-stack overflow) (SAP Library - MaxDB Library)

 Entering content frame

-1104: Too complicated SQL statement (KB-stack overflow)

Explanation:

Within the system, more elements of an internal structure are needed to represent the SQL statement than are available.

User Action:

Simplify the SQL statement or split it into several SQL statements.

If this is not possible, check whether the database parameter PACKET_SIZE can be increased, because the size of the internal structure depends on the size of that parameter. The structure size will be adapted from a certain limit value of PACKET_SIZE.


-1105: Too complicated SQL statement (Too much data) (SAP Library - MaxDB Library)

 Entering content frame

-1105: Too complicated SQL statement (Too much data)

Explanation:

Within the system, more space is needed to represent the data of the SQL statement than is available.

User Action:

Simplify the SQL statement or split it into several SQL statements. If this is not possible, check whether the database parameter PACKET_SIZE can be increased, because the amount of storage space available depends on that parameter. An increase in excess of 32 KB will not increase the amount of space any further.


-1106: Too complicated SQL statement (Too much strategy data) (SAP Library - MaxDB Library)

 Entering content frame

-1106: Too complicated SQL statement (Too much strategy data)

Explanation

The search strategy used to process the SQL statement is greater than the space available.

User action

Delete some of the search strings containing an OR option.


-1107: Too complicated SQL statement (Too many internal commands (SAP Library - MaxDB Library)

 Entering content frame

-1107: Too complicated SQL statement (Too many internal commands)

Explanation:

The SQL statement is so complicated that more internal statements must be generated for it than can be administered for an SQL statement.

User Action:

Simplify the SQL statement or split it into several SQL statements.


-1108: Too complicated SQL statement (correlated row too long) (SAP Library - MaxDB Library)

 Entering content frame

-1108: Too complicated SQL statement (correlated row too long)

Explanation:

The processing of an SQL statement containing at least one correlated subquery requires the generation of an internal result whose rows would exceed the permitted length.

User Action:

Check whether some columns within the SELECT statement can be omitted or the SQL statement can be reformulated in such a way that less or no corresponding (correlated) columns are used.


-1110: View definition too long (SAP Library - MaxDB Library)

 Entering content frame

-1110: View definition too long

Explanation:

The definition of a view table is longer than the space available for it. This error can also occur with a RENAME COLUMN statement if the view table that is present internally exceeds the maximum length because the name was extended.

User Action:

Shorten the view table, e.g. by using short reference names instead of long table names in the SELECT statement or search condition.


-1111: Too many savepoints (SAP Library - MaxDB Library)

 Entering content frame

-1111: Too many savepoints

Explanation:

Too many savepoints were defined within a transaction.

User Action:

Check how this uncommonly large number of savepoints occurred. Include the missing COMMIT or ROLLBACK statements in the application.


-1112: Constraint too complicated (SAP Library - MaxDB Library)

 Entering content frame

-1112: Constraint too complicated

Explanation:

The internal representation of the constraint is longer than the space available for it.

User Action:

The constraint should be simplified or split into several constraints.


-1113: Too many nested function calls (SAP Library - MaxDB Library)

 Entering content frame

-1113: Too many nested function calls

Explanation:

The SQL statement contains more nested function calls than can be processed.

User Action:

Check whether some of the functions within the nesting can be omitted. If this is not possible, check whether the desired effect can be obtained by using a QUERY expression in the FROM clause or by generating and reusing a named result table that contains part of the functions.


-1114: Communication packet too small (SAP Library - MaxDB Library)

 Entering content frame

-1114: Communication packet too small

Explanation:

The SQL statement is so long that not all pieces of information to be exchanged between client and server can be stored in the communication packet provided for this purpose.

User Action:

Simplify the SQL statement or split it into several SQL statements. If this is not possible, check whether the database parameter PACKET_SIZE can be increased. This parameter indicates the size of the communication packet.


-1115: Too many intern columns (SAP Library - MaxDB Library)

 Entering content frame

-1115: Too many intern columns

Explanation:

An ALTER TABLE statement or a CREATE VIEW statement generates a table description either containing more columns than allowed or whose rows exceed the maximum length. Under certain circumstances, this situation can occur because of columns that are invisible to the user.

User Action:

For a CREATE VIEW statement, check whether some output columns can be omitted. For an ALTER TABLE statement, check whether the specified column width can be decreased. Check also whether previous ALTER TABLE statements generated so many invisible columns that the MODIFY definition command should be used to remove invisible columns instead of the ALTER definition command. The effect would be the copying of the table, a procedure which requires considerable space and time.


-1116: Too long trigger parameters (SAP Library - MaxDB Library)

 Entering content frame

-1116: Too long trigger parameters

Explanation:

You defined a trigger whose parameters exceed the total length allowed.

User Action:

Try to reduce the number of parameters.


-1117: Too complicated trigger qualification (SAP Library - MaxDB Library)

 Entering content frame

-1117: Too complicated trigger qualification

Explanation:

The internal representation of the trigger condition is longer than the space available for this purpose.

User Action:

Simplify the trigger condition.


-1119: Too many constraints for this table (SAP Library - MaxDB Library)

 Entering content frame

-1119: Too many constraints for this table

Explanation:

More conditions have been defined for this table than is permitted. This is either because you used a specific range of values, or because you explicitly specified certain constraints.

User Action:

Either check whether you really need all the constraints and get rid of any that are unnecessary, or group several constraints into one. Repeat the command using the new constraint definitions.


-1120: Too many statements in definition (SAP Library - MaxDB Library)

 Entering content frame

-1120: Too many statements in definition

Explanation:

You specified more than 255 SQL statements within a CREATE TRIGGER statement or CREATE DBPROC statement.

User Action:

Delete some of your SQL statements and try to get the same effect using fewer statements.


-1200: Too few values (SAP Library - MaxDB Library)

 Entering content frame

-1200: Too few values

Explanation:

In an INSERT or UPDATE statement, the number of specified values is less than the number of column names implicitly specified.

User Action:

Match the number of specified values in the SQL statement with the number of specified column names. You can use a QUERY statement issued on the system table DOMAIN.COLUMNS for an INSERT statement without column name specification to determine the definition of the table used.


-1201: Too few columns (SAP Library - MaxDB Library)

 Entering content frame

-1201: Too few columns

Explanation:

In a referential CONSTRAINT definition, fewer referencing columns were specified than referenced columns. The number of specified columns in the referencing table must correspond to the number of referenced columns of the referenced table specified implicitly or explicitly.

User Action:

You can use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the current definition of the key columns in the referenced table. Use a QUERY statement issued on the system table DOMAIN.IND_USES_COL to find out the indexes of the referenced table. The specification of the referencing table columns must be adapted accordingly.


-1400: Input parameter cannot be NULL value (SAP Library - MaxDB Library)

 Entering content frame

-1400: Input parameter cannot be NULL value

Explanation:

The value of an input parameter must not be a NULL value, because NULL values are not permitted for the column.

User Action:

Modify the program or change the column definition in the CREATE TABLE statement.


-1402: Integrity violation (SAP Library - MaxDB Library)

 Entering content frame

-1402: Integrity violation

Explanation:

Insertions or updates would violate integrity constraints (see Data Integrity Tools) specified in the definition of the base or view table.

User Action:

The error message indicates which column would violate the integrity constraints. Correct the input value for the relevant column.


-1403: Row not found (SAP Library - MaxDB Library)

 Entering content frame

-1403: Row not found

Explanation

There is no (other) table row that meets the specified criteria.

User action

No user action is required.


-1405: Missing indicator variable, output parameter with NULL va (SAP Library - MaxDB Library)

 Entering content frame

-1405: Missing indicator variable, output parameter with NULL value

Explanation:

The indicator variable required for returning the NULL value to the SQL variable is missing.

User Action:

Specify the indicator variable with the parameter.


-1406: Output value truncated (SAP Library - MaxDB Library)

 Entering content frame

-1406: Output value truncated

Explanation:

The column's range of values is greater than that of the SQL variable. The value was truncated when it was inserted into the SQL variable.

User Action:

Adapt the range of values of the SQL variable to that of the column.


-1452: Duplicate secondary key (SAP Library - MaxDB Library)

 Entering content frame

-1452: Duplicate secondary key

Explanation:

Several table rows already exist with the same values in the specified columns when a UNIQUE definition is specified, when the column attribute UNIQUE is used or when a UNIQUE definition is specified in the CREATE INDEX statement.

User Action:

Do not use the UNIQUE definition; otherwise ensure that only one table row contains a certain combination of values in the specified columns. The error message specifies the column or multiple-column index already containing the specified values.


-1556: Data space full (SAP Library - MaxDB Library)

 Entering content frame

-1556: Data space full

Explanation

The data area of the database instance is full.

User action

You need to increase the data area of the database instance by adding further data volumes. Any SQL statements that were started beforehand will be executed.


-1755: SQL statement will drop further objects (use CASCADE) (SAP Library - MaxDB Library)

 Entering content frame

-1755: SQL statement will drop further objects (use CASCADE)

Explanation:

A DROP USER, DROP TABLE, DROP VIEW or REVOKE statement was specified for which the CASCADE option had not been specified implicitly or explicitly. Other objects depend on the object to be deleted. These objects must be deleted as well but this is only possible with an implicit or explicit specification of the CASCADE option.

User Action:

Before specifying the same SQL statement with the CASCADE option, you should check which dependent objects exist.


From -2000 to -2999 (SAP Library - MaxDB Library)

 Entering content frame

From -2000 to -2999

Database Kernel Error Messages

-2000 | Row too long
-2001 | Key too long
-2002 | One output column too long
-2003 | Output columns too long
-2004 | Numeric constant too long
-2008 | Data area too small
-2009 | Join columns too long
-2010 | Assignment impossible, char value too long
-2012 | View column list too long
-2013 | Select column list too long
-2014 | Identifier too long
-2020 | Data buffer too small
-2025 | Invalid number of backup devices
-2027 | Space for converted value too small
-2028 | Sequence <sequence name> exhausted
-2029 | <sequence name>.CURRVAL is not yet defined in this session


-2000: Row too long (SAP Library - MaxDB Library)

 Entering content frame

-2000: Row too long

Explanation:

When (re)defining a table, the length of a table row exceeds 8088 bytes (see Restrictions for SQL Statements).

User Action:

1. One or more columns must be removed from a CREATE TABLE statement, or their lengths must be reduced.

2. One or more columns must be removed from an ALTER TABLE statement, or their lengths must be reduced. Use a QUERY statement issued on the DOMAIN.COLUMNS system table to view the current definition of the table.


-2001: Key too long (SAP Library - MaxDB Library)

 Entering content frame

-2001: Key too long

Explanation

1. With a CREATE TABLE or ALTER TABLE statement, the sum of the key column lengths must not exceed 1024 bytes (see Restrictions for SQL Statements).

2. When defining a named index, the sum of the column lengths for the index must not exceed 1024 bytes.

User action

3. Correct the definition of the lengths accordingly, or try to use fewer key columns.

4. Try to create the named index with fewer columns.


-2002: One output column too long (SAP Library - MaxDB Library)

 Entering content frame

-2002: One output column too long

Explanation:

The concatenation of values resulted in an excessively long alphanumeric value.

User Action:

Do without this kind of output. If it can be assumed that all values in a column are shorter than the maximum length defined for this column, the attempt can be made to reduce the result to fewer characters by applying the SUBSTR function. In any case, the columns and expressions involved in a concatenation can be output separately.


-2003: Output columns too long (SAP Library - MaxDB Library)

 Entering content frame

-2003: Output columns too long

Explanation:

The following reasons are possible:

...

1. The total length of the output columns exceeds 8084 bytes.

2. The total length of the output columns, together with the columns specified in the ORDER or GROUP clause, exceeds 8084 bytes.

3. The total length of the output columns, together with the correlated columns and columns of predicates that contain a subquery, exceeds 4048 bytes in an SQL statement with correlated subqueries.

User Action:

...

1. Reduce the number of output columns.

2. Try to do without sorting or grouping, or to perform sorting or grouping across shorter or fewer columns.

3. Try to manage with fewer output columns or correlated columns, or to achieve the desired effect using several SQL statements.


-2004: Numeric constant too long (SAP Library - MaxDB Library)

 Entering content frame

-2004: Numeric constant too long

Explanation:

...

1. The number contains more than 38 digits (see Restrictions for SQL Statements).

2. The number does not comply with the definition of the range of values.

User Action:

The number which was incorrectly entered may be determined from the position specification in the error message.

...

1. The number must be reduced to 38 significant digits and specified as a floating point literal where applicable.

2. Check the definition of the range of values and correct the specification of the number accordingly.


-2008: Data area too small (SAP Library - MaxDB Library)

 Entering content frame

-2008: Data area too small

Explanation:

· It was not possible to restore a database instance, as the database instance that is to be restored, is bigger than the target database instance specified for the restore operation.

· The installation of a database instance is not possible, as not enough space was defined for the storage of the data.

User Action:

· Reduce the size of the volume to be added.

· Raise the volume size by 2000 pages.


-2009: Join columns too long (SAP Library - MaxDB Library)

 Entering content frame

-2009: Join columns too long

Explanation:

The internal length of a table's join columns must not exceed 1020 bytes. Join columns are the columns that are contained in a JOIN predicate.

WHERE (S.A = T.V AND S.B < T.W)

The join columns of the table S are the columns S.A and S.B. The internal length of the join columns of S is the internal length of the column S.A plus the internal length of the column S.B. The internal length of the join columns of S must not exceed 1020 bytes.

User Action:

You can attempt to achieve the expected result by issuing several QUERY statements and creating tables as temporary results.


-2010: Assignment impossible, char value too long (SAP Library - MaxDB Library)

 Entering content frame

-2010: Assignment impossible, char value too long

Explanation:

In an INSERT statement with a QUERY expression or in an UPDATE statement, the attempt was made to assign a character string to a column of data type CHAR. This character string was too long. The error message is returned for the first occurring value of excess length, not while analyzing the maximum column lengths.

User Action:

Use SELECT... WHERE LENGTH (<column name>) > <unsigned_integer>to find out the rows that are too long. The length of the corresponding column can be increased by an ALTER TABLE statement.


-2012: View column list too long (SAP Library - MaxDB Library)

 Entering content frame

-2012: View column list too long

Explanation:

In a CREATE VIEW statement, the number of view table columns to be defined must be equal to the number of columns issued as the result of the QUERY expression. In the present case, an attempt was made to create more view table columns than columns are available in the QUERY request result.

User Action:

Reduce the number of view table columns specified in the SQL statement.


-2013: Select column list too long (SAP Library - MaxDB Library)

 Entering content frame

-2013: Select column list too long

Explanation:

The following reasons are possible:

1. In a CREATE VIEW statement, the number of view table columns to be defined must be equal to the number of columns issued as the result of the QUERY expression. In the present case, the number of columns in the QUERY request result exceeds the number of defined view table columns.

2. The number of subquery output columns specified in a SET UPDATE clause must be precisely one. In some SQL modes, this restriction also applies in the comparison predicate, quantity comparison predicate and IN predicate. In the present case, the subquery produced more than one output column.

3. An SQL statement was specified for data retrieval. The number of output columns must be less than or equal to 254. This number was exceeded.

User action

4. Increase the number of view table columns specified in the CREATE VIEW statement, or reduce the number of output columns of the QUERY expression.

5. Limit the number of subquery output columns to one.

6. Correct the data query statement by removing one or more output columns.


-2014: Identifier too long (SAP Library - MaxDB Library)

 Entering content frame

-2014: Identifier too long

Explanation:

The specified identifier is too long for the SQL mode used.

User Action:

Pay attention to the restrictions in the table when specifying the identifier.

SQL mode | Length of identifier
ANSI | 18 characters maximum
DB2 | 18 characters maximum
ORACLE | 30 characters maximum
INTERNAL | 32 characters maximum


-2020: Data buffer too small (SAP Library - MaxDB Library)

 Entering content frame

-2020: Data buffer too small

Explanation:

No memory is currently available in the data cache. The execution of the SQL statement was cancelled. The database system implicitly performs a SHUTDOWN.

User Action:

Restart the database instance with an increased data cache.


-2025: Invalid number of backup devices (SAP Library - MaxDB Library)

 Entering content frame

-2025: Invalid number of backup devices

Explanation:

The number of backup devices specified for a save or restore operation does not correspond to the general database parameter MAXBACKUPDEVS.

User Action:

Use the database administration tool to check the parameter and to modify it if necessary.


-2027: Space for converted value too small (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -2027: Space for converted value too small

Explanation

You tried to convert ASCII or UCS-2 data to another format. The attempt failed.

User action

Check whether the target column definition is large enough. If you cannot increase the target column, you cannot carry out an explicit conversion. You can try to avoid this error by explicitly converting the data used for the purpose of, for example, comparisons.


-2028: Sequence <sequence name> exhausted (SAP Library - MaxDB Library)

 Entering content frame

-2028: Sequence <sequence name> exhausted

Explanation:

You tried to find out the next value of the specified sequence with <sequence name>.NEXTVAL. This is impossible for one of the following reasons:

...

1. The next value would not fit into the data type provided for sequences.

2. The next value would be larger than the value defined by MAXVALUE in the CREATE SEQUENCE statement, and NOCYCLE was defined implicitly or explicitly.

3. The next value would be smaller than the value defined by MINVALUE in the CREATE SEQUENCE statement, and NOCYCLE was defined implicitly or explicitly.

User Action:

...

1. Specify the desired value explicitly.

2. Delete and create the sequence again. By deleting and recreating the sequence you ensure that the values of the sequence are created cyclically or that a larger MAXVALUE or smaller MINVALUE is used. Define START WITH with the last assigned value if necessary. You may now use the SQL statement.


-2029: <sequence_name>.CURRVAL is not yet defined in this sessio (SAP Library - MaxDB Library)

 Entering content frame

-2029: <sequence_name>.CURRVAL is not yet defined in this session

Explanation:

You attempted to execute <sequence_name>.CURRVAL (Specifying Values (extended_value_spec)) before using <sequence_name>.NEXTVAL in the current database session.

User Action:

Execute <sequence_name>.NEXTVAL first, and then <sequence_name>.CURRVAL.


From -3000 to -3999 (SAP Library - MaxDB Library)

 Entering content frame

From -3000 to -3999

Database Kernel Error Messages

-3000 | Invalid host file content
-3002 | Invalid data type
-3003 | Invalid user name
-3004 | Invalid host file sequence
-3005 | Invalid SQL statement
-3007 | Invalid sequence for DML and DDL statements
-3008 | Invalid key word or missing delimiter
-3009 | Invalid table name
-3011 | Invalid column name
-3014 | Invalid end of SQL statement
-3016 | Invalid numeric constant
-3017 | Invalid unsigned integer
-3018 | Invalid numeric parameter
-3019 | Invalid exponent
-3020 | Invalid length for this data type
-3021 | Invalid mixture of functions and columns
-3022 | Invalid number of tables for outer join
-3024 | Invalid numeric expression
-3030 | Invalid SESSION TIMEOUT
-3035 | Invalid date time format
-3037 | Invalid volume name
-3038 | Invalid volume size
-3046 | Invalid char position in string function
-3047 | Invalid table for RESTORE CATALOG
-3048 | Invalid date format
-3049 | Invalid time format
-3050 | Invalid timestamp format
-3054 | Invalid block size
-3059 | Invalid day of week
-3060 | Invalid escape sequence
-3061 | Invalid escape value
-3062 | Invalid month
-3063 | Invalid format code
-3064 | Date input value out of range
-3065 | Invalid date input value
-3066 | Date input value inconsistent
-3067 | Invalid time zone
-3068 | Mismatch of parameter configuration between backup and instance
-3069 | Bad xparam page in backup
-3102 | Invalid subtrans structure
-3103 | Invalid sequence definition
-3995 | Invalid pattern
-3998 | Wrong password
-3999 | Invalid parameter


-3000: Invalid host file content (SAP Library - MaxDB Library)

 Entering content frame

-3000: Invalid host file content

Explanation:

The backup medium used or backup device does not contain any items relating to the menu command.

User Action:

Specify the backup medium or backup device. In multi-volume processing, all versions loaded by then must be reloaded.


-3002: Invalid datatype (SAP Library - MaxDB Library)

 Entering content frame

-3002: Invalid datatype

Explanation:

The specified data type is unknown in the current SQL mode.

User Action:

Use one of the permitted data types.


-3003: Invalid user name (SAP Library - MaxDB Library)

 Entering content frame

-3003: Invalid user name

Explanation:

The specified user name does not comply with the syntax for the user <IDENTIFIER>.

User Action:

Correct the user name specified in the SQL statement.


-3004: Invalid host file sequence (SAP Library - MaxDB Library)

 Entering content frame

-3004: Invalid host file sequence

Explanation:

The backup medium or backup device specified for multi-volume processing to continue the restore does not contain any items relating to the command that was previously executed.

User Action:

The error message contains an additional error description which must be interpreted according to the operating system being used.

Specify the backup medium or backup device in order to continue.


-3005: Invalid SQL statement (SAP Library - MaxDB Library)

 Entering content frame

-3005: Invalid SQL statement

Explanation:

The SQL statement either contains a typing error within the first two keywords, is unknown in the current SQL mode or is not permitted in this database version.

User Action:

Correct the typing errors, or specify another SQL statement.


-3007: Invalid sequence for DML and DDL statements (SAP Library - MaxDB Library)

 Entering content frame

-3007: Invalid sequence for DML and DDL statements

Explanation:

Modifications were made to the catalog in the time between a QUERY statement which does not generate a result table and the corresponding FETCH statements. These modifications concerned the underlying table of the QUERY statement.

User Action:

Repeat the QUERY and FETCH statement.


-3008: Invalid keyword or missing delimiter (SAP Library - MaxDB Library)

 Entering content frame

-3008: Invalid keyword or missing delimiter

Explanation:

The SQL statement contains an incorrect keyword, or a keyword unknown in the currently valid SQL mode, or a keyword or delimiter is missing.

User Action:

Correct the SQL statement according to the syntax description and the current SQL mode.


-3009: Invalid table name (SAP Library - MaxDB Library)

 Entering content frame

-3009: Invalid table name

Explanation:

The specified table name does not comply with the syntax.

User Action:

Correct the table name specified in the SQL statement.


-3011: Invalid column name (SAP Library - MaxDB Library)

 Entering content frame

-3011: Invalid column name

Explanation:

The specified column name does not comply with the syntax.

User Action:

Correct the column name specified in the SQL statement.


-3014: Invalid end of SQL statement (SAP Library - MaxDB Library)

 Entering content frame

-3014: Invalid end of SQL statement

Explanation:

According to the syntax, the specified SQL statement is not allowed in the SQL mode which is currently valid.

User Action:

The error position shows the location where the specified SQL statement deviates from the permitted syntax.


-3016: Invalid numeric constant (SAP Library - MaxDB Library)

 Entering content frame

-3016: Invalid numeric constant

Explanation:

...

The specified number does not match the column data type.

The specified length of the function's result, for example, LPAD, CHR and so on is invalid. It must be between 1 and the maximum length valid for a CHAR-type column.

User Action:

...

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the data type of the affected column.

Correct the specified length of the function’s result.


-3017: Invalid unsigned integer (SAP Library - MaxDB Library)

 Entering content frame

-3017: Invalid unsigned integer

Explanation:

No valid number was specified.

User Action:

Correct the SQL statement.


-3018: Invalid numeric parameter (SAP Library - MaxDB Library)

 Entering content frame

-3018: Invalid numeric parameter

Explanation:

The specified value is not a valid number.

User Action:

Check the numeric value entered as parameter.


-3019: Invalid exponent (SAP Library - MaxDB Library)

 Entering content frame

-3019: Invalid exponent

Explanation:

The following reasons are possible:

...

¡ A numeric final or temporary result is greater or less than the values which can be represented by a floating point number.

A numeric value is greater or less than permitted by the data type of a specified column.

User Action:

...

If a numeric intermediate result is too large or too small, the attempt can be made to prevent an overflow or underflow by rearranging the arithmetic operations.

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the data type of the affected column. Correct the parameter values accordingly.


-3020: Invalid length for this data type (SAP Library - MaxDB Library)

 Entering content frame

-3020: Invalid length for this data type

Explanation:

The specified length is not permitted for the data type.

User Action:

...

Choose a value between 1 and 254 (SQL mode ANSI) or between 1 and 8000 (SQLMODE INTERNAL and ORACLE or 1 and 4000 (SQLMODE DB2) for the length attribute of a CHAR-type column.

Choose a value between 1 and 38 for the precision of a FIXED- or FLOAT-type column.


-3021: Invalid mixture of functions and columns (SAP Library - MaxDB Library)

 Entering content frame

-3021: Invalid mixture of functions and columns

Explanation:

...

1. If a set function (AVG, COUNT, MAX, MIN, STDDEV, SUM, VARIANCE) occurs in a SELECT statement, non-group columns are not allowed in the selected columns (select_column).

2. Quantity functions, e.g. AVG (SUM...), must not be nested.

3. A corresponding subquery S contained in the WHERE clause of the QUERY specification Q must not contain quantity functions for columns of tables specified in the FROM clause of the QUERY specification Q.

User Action:

Correct the SQL statement.

Try to achieve the desired effect without nesting the quantity functions by using several QUERY statements, each containing a quantity function.

Within a QUERY statement, the effect can be achieved by specifying a QUERY expression in the FROM clause.


-3022: Invalid number of tables for outer join (SAP Library - MaxDB Library)

 Entering content frame

-3022: Invalid number of tables for outer join

Explanation:

If an OUTER JOIN indicator was specified in at least one JOIN predicate of the QUERY specification, the number of underlying tables of the QUERY specification FROM clause must be precisely two, or the following must apply:

...

1. OUTER JOIN indicators are only specified for one of the tables specified in the FROM clause.

2. All joins of this table related to just one other table contain the OUTER JOIN INDICATOR.

3. No other joins contain an OUTER JOIN INDICATOR.

User Action:

Try to add any missing OUTER JOIN indicators or to split the SQL statement into several SQL statements, or to achieve the desired effect by using QUERY expressions in the FROM clause.


-3024: Invalid numeric expression (SAP Library - MaxDB Library)

 Entering content frame

-3024: Invalid numeric expression

Explanation:

Division by 0 does not belong to a selected column of the outermost QUERY specification.

User Action:

Check whether this error can be prevented by suitable specifications (predicates).


-3030: Invalid SESSION TIMEOUT (SAP Library - MaxDB Library)

 Entering content frame

-3030: Invalid SESSION TIMEOUT

Explanation:

...

1. An invalid timeout value was specified in the CREATE USER or CREATE USERGROUP statement.

2. If the CONNECT statement is specified with a timeout value, this value must be less than or equal to the maximum timeout value possible for the user concerned.

User Action:

...

1. Choose a value of between 30 and 32400 seconds for the special database parameter SESSION_TIMEOUT.

2. If no user-specific timeout value was defined for the current user in the CREATE USER or CREATE USERGROUP statement, this maximum value is equal to the SESSION_TIMEOUT database parameter.

If a user-specific timeout value was defined in the CREATE USER or CREATE USERGROUP statement, this is the maximum value.

3. If 0 is given as the timeout value in the CONNECT statement, periods of inactivity during a session are not checked.


-3035: Invalid date time format (SAP Library - MaxDB Library)

 Entering content frame

-3035: Invalid date time format

Explanation:

The date and time format specified during installation (special database parameter DATE_TIME_FORMAT) is invalid.

User Action:

Specify EUR, INTERNAL, ISO, JIS or USA for the date and time format.


-3037: Invalid volume name (SAP Library - MaxDB Library)

 Entering content frame

-3037: Invalid volume name

Explanation

The volume name specified during installation is invalid. This name depends on the environment in which the database system is running. Usually, it is an operating system file name.

User action

The error message contains the incorrect volume name. Ensure that the name meets the conventions laid out for the environment in which the database system is running.


-3038: Invalid volume size (SAP Library - MaxDB Library)

 Entering content frame

-3038: Invalid volume size

Explanation

The value for the size of a volume specified during installation is not a valid number.

User action

Specify a valid number.


-3046: Invalid char position in string function (SAP Library - MaxDB Library)

 Entering content frame

-3046: Invalid char position in string function

Explanation:

An invalid value was specified for a position in a string function.

User Action:

In the SQL statement, a value must be specified for a position that is greater than 0 and less than or equal to the defined column width.


-3047: Invalid table for RESTORE CATALOG (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -3047: Invalid table for RESTORE CATALOG

Explanation:

A RESTORE CATALOG statement specified a table that contains none of the data generated by the SAVE CATALOG statement.

User Action:

Specify a table whose data was generated by the SAVE CATALOG statement.


-3048: Invalid date format (SAP Library - MaxDB Library)

 Entering content frame

-3048: Invalid date format

Explanation:

The specified value is not a valid date value, or it does not correspond to the date and time format chosen during installation or for the current session.

User Action:

Correct the date value.


-3049: Invalid time format (SAP Library - MaxDB Library)

 Entering content frame

-3049: Invalid time format

Explanation:

The specified value is not a valid time value, or it does not correspond to the date and time format chosen during installation or for the current session.

User Action:

Correct the time value.


-3050: Invalid timestamp format (SAP Library - MaxDB Library)

 Entering content frame

-3050: Invalid timestamp format

Explanation:

The specified value is not a valid timestamp value, or it does not correspond to the date and time format chosen during installation or for the current session.

User Action:

Correct the timestamp value.


-3054: Invalid block size (SAP Library - MaxDB Library)

 Entering content frame

-3054: Invalid block size

Explanation

· The specified block size for data backup or restore is invalid.

· (liveCache) When registering a container that already exists in the database, the specified length of the object is different to the one stored in the database catalog.

User response

· Set the block size to a value >= 1.

· Register the container using the length specifications stored in the database catalog.


-3059: Invalid day of week (SAP Library - MaxDB Library)

 Entering content frame

-3059: Invalid day of week

Explanation:

An invalid weekday was specified in the date value in the chosen language or format.

User Action:

Check the chosen language and format and repeat the SQL statement with the correct day of the week. For the format element DAY, the days of the week must be written in full; for DY they must be specified with their three-letter abbreviation.


-3060: Invalid escape sequence (SAP Library - MaxDB Library)

 Entering content frame

-3060: Invalid escape sequence

Explanation:

The escape character can only be placed before a match_char character which is identical to the escape character, before a match_string, or before a match_set which is not a match_charcharacter. LIKE predicate provides an explanation of the syntax elements.

User Action:

Remove the surplus escape character.


-3061: Invalid escape value (SAP Library - MaxDB Library)

 Entering content frame

-3061: Invalid escape value

Explanation:

Exactly one character is valid for an escape value.

User Action:

Reduce the escape value to one character.


-3062: Invalid month (SAP Library - MaxDB Library)

 Entering content frame

-3062: Invalid month

Explanation:

An invalid month was specified in the date value in the chosen language or format.

User Action:

Check the chosen language and format and repeat the SQL statement with the correct day of the week. For the MONTH format element, the months must be written in full; for MON, they must be specified with their three-letter abbreviation.


-3063: Invalid format code (SAP Library - MaxDB Library)

 Entering content frame

-3063: Invalid format code

Explanation:

The format specification in a function for date or number conversion contains an invalid format code.

User Action:

Remove the invalid format code.


-3064: Date input value out of range (SAP Library - MaxDB Library)

 Entering content frame

-3064: Date input value out of range

Explanation:

An invalid value was specified for a format element in a function that converts a value into a date value.

Limits for Format Elements

Year | YYYY | 1-4713
Day of the month | DD | 1-28/29/30/31
Day of the year | DDD | 1-365/366
Day of the week | D | 1-7
Hours | HH,HH12 | 1-12
Hours | HH24 | 0-23
Minutes | MI | 0-59
Seconds | SS | 0-59
Seconds of the day | SSSSS | 0-86399
Julian calendar date | J | 1-3442447

User Action:

Correct the value.


-3065: Invalid date input value (SAP Library - MaxDB Library)

 Entering content frame

-3065: Invalid date input value

Explanation:

The value to be converted into a date value contains an invalid element, or too many or too few elements.

User Action:

Correct the value according to the format.


-3066: Date input value inconsistent (SAP Library - MaxDB Library)

 Entering content frame

-3066: Date input value inconsistent

Explanation:

Data from two format elements was converted. The values of the data are contradictory. Perhaps a Julian calendar day was specified which does not lie within the specified year or month, or denotes another day of the month, or the seconds of the day were specified but do not correspond to the specified hours or minutes or seconds of the minute.

User Action:

...

1. One of the format elements containing contradictory values should be omitted.

2. The values of the two format elements should be matched.


-3067: Invalid timezone (SAP Library - MaxDB Library)

 Entering content frame

-3067: Invalid timezone

Explanation:

An invalid value for timezone was specified in the function NEW_TIME.

User Action:

Repeat the SQL statement with a correct timezone.


-3068: Mismatch of parameter configuration between backup and in (SAP Library - MaxDB Library)

 Entering content frame

-3068: Mismatch of parameter configuration between backup and instance

Explanation:

When data is backed up, the database parameters are backed up too. Before data is restored, a check is run first to see if the database parameters from the data backup are compatible with the current database parameters of the target database instance.

A UNICODE database instance backup is not allowed in a non-UNICODE database instance.

User Action:

The DB parameters of the target database must match the DB parameters saved in the data backup. At present, this only affects the special database parameter _UNICODE.


-3069: Bad xparam page in backup (SAP Library - MaxDB Library)

 Entering content frame

-3069: Bad xparam page in backup

Explanation:

The data backup includes a corrupt page that contains xparam parameters. As this page only occurs in the backup, this situation is not as critical as the case of a corrupt data or log page. This error does, however, terminate the data backup.

User Action:

Contact Support.


-3102: Invalid subtrans structure (SAP Library - MaxDB Library)

 Entering content frame

-3102: Invalid subtrans structure

Explanation:

In a database procedure, more or fewer subtransactions were dynamically opened than were closed. The subtransactions opened but not closed until the end of the database procedure were rolled back.

User Action:

Check which error in the database procedure generated this nesting of subtransactions. Correct the database procedure.


-3103: Invalid sequence definition (SAP Library - MaxDB Library)

 Entering content frame

-3103: Invalid sequence definition

Explanation:

The following reasons are possible:

...

1. In the CREATE SEQUENCE statement, the value 0 was specified for the interval between two numbers to be created by the sequence. This is not allowed.

2. In the <CREATE SEQUENCE statement>, a starting value was specified which is not within the range defined by the minimum and maximum value; or a minimum value was specified that is greater than the maximum value.

User Action:

...

1. Repeat the command with a positive or negative integer.

2. Change the starting value and/or the minimum and maximum values and repeat the command.


-3995: Invalid pattern (SAP Library - MaxDB Library)

 Entering content frame

-3995: Invalid pattern

Explanation:

The value specified in a LIKE predicate does not comply with the syntax of LIKE expressions (like_expression).

User Action:

The value must be corrected according to the syntax rules for LIKE expressions in a LIKE predicate.


-3998: Wrong password (SAP Library - MaxDB Library)

 Entering content frame

-3998: Wrong password

Explanation:

You want to activate a role. However, the password entered is not the same as the one specified when the role was defined.

User Action:

Correct the password.


-3999: Invalid parameter (SAP Library - MaxDB Library)

 Entering content frame

-3999: Invalid parameter

Explanation:

...

1. An invalid database parameter was specified.

2. An invalid parameter was specified in the sequence of parameters of a CREATE TRIGGER statement. The usage of OLD is invalid in an INSERT trigger, the usage of NEW is invalid in a DELETE trigger.

User Action:

...

1. The error message contains a precise description of the error. Correct the parameter values accordingly.

2. Correct the parameters accordingly.


From -4000 to -4999 (SAP Library - MaxDB Library)

 Entering content frame

From -4000 to -4999

Database Kernel Error Messages

-4000 | Unknown result table
-4002 | Unknown password
-4003 | Unknown user name
-4004 | Unknown table name
-4005 | Unknown column name
-4006 | Unknown domain name
-4007 | Unknown synonym name
-4008 | Unknown user name/password combination
-4009 | Unknown referential constraint name
-4010 | Unknown MAPCHARSET name
-4011 | Unknown index name
-4013 | Unknown user group name
-4014 | Unknown SERVERDB name
-4016 | Unknown procedure name
-4017 | Unknown constraint
-4018 | Unknown default
-4019 | Unknown trigger name
-4020 | Unknown sequence name
-4023 | Unknown function name
-4024 | Unknown name
-4025 | Unknown or not loaded character set
-4027 | Unknown session
-4030 | Unknown schema


-4000: Unknown result table (SAP Library - MaxDB Library)

 Entering content frame

-4000: Unknown result table

Explanation:

There is no result table with the specified name.

User Action:

Use a QUERY statement issued on the DOMAIN.TABLES system table to view the names of the existing result tables. Correct the name of the result table or check why the result table with the specified name was already deleted.

A COMMIT statement issued in the ANSI and DB2 SQL modes implicitly closes all result tables. You can prevent this behavior in the DB2 SQL mode by specifying "WITH HOLD".

Except for the ORACLE SQL mode, a ROLLBACK statement implicitly closes all result tables generated within this transaction.


-4002: Unknown password (SAP Library - MaxDB Library)

 Entering content frame

-4002: Unknown password

Explanation:

The specified password is unknown.

User Action:

Repeat the ALTER PASSWORD statement using the correct password.


-4003: Unknown user name (SAP Library - MaxDB Library)

 Entering content frame

-4003: Unknown user name

Explanation:

There is no user with this name.

User Action:

A DBA or the SYSDBA can use a QUERY statement issued on the system table DOMAIN.USERS to find out the known user names. Other users can use a QUERY statement issued on the system table DOMAIN.USERS to find out the users which belong to the same DBA as they do. Repeat the SQL statement with a known user name.


-4004: Unknown table name (SAP Library - MaxDB Library)

 Entering content frame

-4004: Unknown table name

Explanation:

You do not know of a table with the specified name. This table may not exist; or perhaps it does exist, but you have no privileges for it.

User Action:

Use a QUERY statement issued on the DOMAIN.TABLES system table to view the names of the tables for which you have privileges. Then correct the table name. It may be sufficient to place the missing schema in front of it. If this does not fix the problem, create a table with the required name, or else find out why you have no privileges for the existing table.


-4005: Unknown column name (SAP Library - MaxDB Library)

 Entering content frame

-4005: Unknown column name

Explanation:

There is no column with the specified name in any of the specified tables.

User Action:

Use QUERY statements issued on the system table DOMAIN.COLUMNS to find out the names of the columns existing in the tables. Correct the user name.


-4006: Unknown domain name (SAP Library - MaxDB Library)

 Entering content frame

-4006: Unknown domain name

Explanation:

There is no range of values with the specified name.

User Action:

Use a QUERY statement issued on the DOMAIN.DOMAINS system table to view a list of the known ranges. Change the name of the range in the SQL statement accordingly. It may be sufficient to place the missing owner in front of the statement.

A DBA can create a range with the desired name and properties.


-4007: Unknown synonym name (SAP Library - MaxDB Library)

 Entering content frame

-4007: Unknown synonym name

Explanation:

There is no synonym with the specified name.

User Action:

You can display a list of existing synonym names using a QUERY statement based on the DOMAIN.TABLES system table. Change the name of the domain in the SQL statement accordingly.


-4008: Unknown user name/password combination (SAP Library - MaxDB Library)

 Entering content frame

-4008: Unknown user name/password combination

Explanation:

The specified combination of user name and password is unknown. The database system can only be accessed by a combination that is known to the database instance.

User Action:

Change the user or password specification in the SQL statement.


-4009: Unknown referential constraint name (SAP Library - MaxDB Library)

 Entering content frame

-4009: Unknown referential constraint name

Explanation:

There is no referential CONSTRAINT definition with the specified name.

User Action:

Use a QUERY statement issued on the system table FOREIGNKEYS to see a list of the existing CONSTRAINT definitions. Change the name of the referential CONSTRAINT statement in the SQL statement accordingly.


-4010: Unknown MAPCHAR SET name (SAP Library - MaxDB Library)

 Entering content frame

-4010: Unknown MAPCHAR SET name

Explanation:

There is no MAPCHAR SET with the specified name.

User Action:

Use a QUERY statement issued on the system table DOMAIN.MAPCHARSETS to see a list of the existing MAPCHAR SETS. Change the name in the SQL statement accordingly.


-4011: Unknown index name (SAP Library - MaxDB Library)

 Entering content frame

-4011: Unknown index name

Explanation:

There is no named index with the specified name for the table being used.

User Action:

You can display a list of existing indexes using a QUERY statement based on the DOMAIN.INDEXES system table. Change the index name in the SQL statement accordingly.


-4013: Unknown user group name (SAP Library - MaxDB Library)

 Entering content frame

-4013: Unknown user group name

Explanation:

There is no user group of that specified name.

User Response:

Use a QUERY statement issued on the system table DOMAIN.USERS to see a list of the existing user group names. Change the user group name in the SQL statement accordingly.


-4014: Unknown SERVERDB name (SAP Library - MaxDB Library)

 Entering content frame

-4014: Unknown SERVERDB name

Explanation:

There is no database instance with the specified name.

User Action:

Correct the database name.


-4016: Unknown procedure name (SAP Library - MaxDB Library)

 Entering content frame

-4016: Unknown procedure name

Explanation:

There is no database procedure with the specified name.

User Action:

Use a QUERY statement issued on the DOMAIN.DBPROCEDURES system table to view the database procedures already in use. Change the procedure name in the SQL statement accordingly.


-4017: Unknown constraint (SAP Library - MaxDB Library)

 Entering content frame

-4017: Unknown constraint

Explanation:

There is no CONSTRAINT definition for the specified column.

User Action:

No user action required.


-4018: Unknown default (SAP Library - MaxDB Library)

 Entering content frame

-4018: Unknown default

Explanation:

There is no DEFAULT specification for the specified column.

User Action:

Add a default specification.


-4019: Unknown trigger name (SAP Library - MaxDB Library)

 Entering content frame

-4019: Unknown trigger name

Explanation:

There is no trigger with the specified name.

User Action:

Use a QUERY statement issued on the DOMAIN.TRIGGERS system table to view the trigger names already in use.


-4020: Unknown sequence name (SAP Library - MaxDB Library)

 Entering content frame

-4020: Unknown sequence name

Explanation:

There is no sequence with the specified name.

User Action:

Use a QUERY statement issued on the system table DOMAIN.SEQUENCES to see a list of the existing sequences.


-4023: Unknown function name (SAP Library - MaxDB Library)

 Entering content frame

-4023: Unknown function name

Explanation:

...

There is no function with the specified name.

User Action:

Choose one of the following options:

· Do without the specified function.

· Check whether the specified function is only unavailable in the SQL mode you are using. Open a database session using the SQL mode in which the function is available.

· Generate a database function with the specified name and the required functionality.

..


-4024: Unknown name (SAP Library - MaxDB Library)

 Entering content frame

-4024: Unknown name

Explanation:

There is no database object with the specified name.

User Action:

Use QUERY statements issued on system tables to find out which objects you are authorized to see.


-4025: Unknown or not loaded character set (SAP Library - MaxDB Library)

 Entering content frame

-4025: Unknown or not loaded character set

Explanation:

The specified CHARACTER SET is unknown.

User Action:

Check the spelling of the character set. Use a <QUERY statement> issued on the system table DOMAIN.CHARSET to find out whether the specified character set has been loaded. Replace the specification by one of the loaded character sets or ensure that the character set needed will be loaded.


-4027: Unknown session (SAP Library - MaxDB Library)

 Entering content frame

-4027: Unknown session

Explanation:

You want to switch on the database trace for a special database session. The specified session number does not exist.

User Response:

Correct the session number.


-4030: Unknown schema (SAP Library - MaxDB Library)

 Entering content frame

-4030: Unknown schema

Explanation:

No schema with the specified name is recognized.

User Response:

Use a QUERY statement issued on the system table DOMAIN.SCHEMAS to find out the names of all known schemas.


From -5000 to -5999 (SAP Library - MaxDB Library)

 Entering content frame

From -5000 to -5999

Database Kernel Error Messages

-5001

Missing privilege

-5003

Missing key specification

-5004

Missing constant

-5005

Missing non-NULL value

-5006

Missing identifier

-5007

Missing numeric constant

-5008

Missing string constant

-5009

Missing integer

-5010

Missing value specification

-5012

Missing definite table name

-5013

Missing update column

-5014

Missing definite column name

-5015

Missing keyword

-5016

Missing delimiter


-5001: Missing privilege (SAP Library - MaxDB Library)

 Entering content frame

-5001: Missing privilege

Explanation:

...

1. The user is not authorized to execute the SQL statement.

2. The user is not authorized to execute this SQL statement for data definition. The privilege necessary for this SQL statement is only granted within a role. Such limited privileges are sufficient for other SQL statements, but not for those relating to data definitions.

User Action:

Use a QUERY statement issued on the DOMAIN.TABLEPRIVILEGES or DOMAIN.COLUMNS system table to determine what privileges you have for the given table or its columns. You cannot execute the desired SQL statement.


-5003: Missing key specification (SAP Library - MaxDB Library)

 Entering content frame

-5003: Missing key specification

Explanation:

The SQL statement requires a primary key specification. The primary key was omitted or is incomplete.

User Action:

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the key columns of the table. Correct the key specified in the SQL statement, or insert a key specification into the SQL statement.


-5004: Missing constant (SAP Library - MaxDB Library)

 Entering content frame

-5004: Missing constant

Explanation:

A constant is missing in the SQL statement.

User Action:

Insert a constant into the SQL statement.


-5005: Missing non-NULL value (SAP Library - MaxDB Library)

 Entering content frame

-5005: Missing non-NULL value

Explanation:

The INSERT- or UPDATE statement must contain non-NULL values for all mandatory columns. If a key specification is specified, non-NULL values must be specified for all key columns.

User Action:

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the mandatory and key columns of the table.


-5006: Missing identifier (SAP Library - MaxDB Library)

 Entering content frame

-5006: Missing identifier

Explanation:

An identifier is missing.

User Action:

The error position indicates the location of the missing identifier. Insert an <identifier> into the SQL statement.


-5007: Missing numeric constant (SAP Library - MaxDB Library)

 Entering content frame

-5007: Missing numeric constant

Explanation:

A number is missing.

User Action:

The error position indicates the location of the missing number. Insert a number into the SQL statement.


-5008: Missing string constant (SAP Library - MaxDB Library)

 Entering content frame

-5008: Missing string constant

Explanation:

A character set is missing from the SQL statement.

User Action:

Insert a string literal into the SQL statement.


-5009: Missing integer (SAP Library - MaxDB Library)

 Entering content frame

-5009: Missing integer

Explanation:

An integer is missing.

User Action:

Insert an integer into the SQL statement.


-5010: Missing value specification (SAP Library - MaxDB Library)

 Entering content frame

-5010: Missing value specification

Explanation:

A value is missing, or the specified value is not allowed.

User Action:

Correct the value specified in the SQL statement, or insert a value into the SQL statement.


-5012: Missing definite table name (SAP Library - MaxDB Library)

 Entering content frame

-5012: Missing definite table name

Explanation:

If the same table name was used several times in one FROM clause, the table name must always be specified with the corresponding schema name in this SQL statement.

User Action:

Specify the schema names with the table names.


-5013: Missing update column (SAP Library - MaxDB Library)

 Entering content frame

-5013: Missing update column

Explanation:

The attempt was made to update at least one column value of an updateable join view table column using an UPDATE statement. This column value can only be updated together with other column values. At least one of the required column values is missing in the <UPDATE statement>.

User Action:

Insert the missing column values into the <UPDATE statement> or execute <UPDATE statement>s for the underlying table(s) of the updateable join view table.


-5014: Missing definite column name (SAP Library - MaxDB Library)

 Entering content frame

-5014: Missing definite column name

Explanation:

More than one table was specified in a FROM clause in the SQL statement. A column name was used without preceding table names, and this column name is contained in more than one of the tables specified in the FROM clause.

User Action:

To ensure that the column name is unique, precede it with the required table name.


-5015: Missing keyword (SAP Library - MaxDB Library)

 Entering content frame

-5015: Missing keyword

Explanation:

The SQL statement contains a keyword that is incorrect or that is not known in the current SQL mode; or a keyword is missing.

User Action:

Correct the SQL statement according to the syntax description and the current SQL mode by using one of the specified keywords.


-5016: Missing delimiter (SAP Library - MaxDB Library)

 Entering content frame

-5016: Missing delimiter

Explanation:

The SQL statement contains an incorrect delimiter, or a delimiter is missing.

User Action:

Correct the SQL statement according to the syntax description and the current SQL mode by using one of the specified delimiters.


From -6000 to -6999 (SAP Library - MaxDB Library)

 Entering content frame

From -6000 to -6999

Database Kernel Error Messages

-6000

Duplicate table name

-6001

Duplicate column name

-6002

Duplicate privilege

-6003

Duplicate result table name

-6006

Duplicate name

-6008

Duplicate index name

-6009

Duplicate reference name

-6011

Duplicate constraint

-6012

Duplicate default

-6013

Duplicate trigger definition

-6014

Duplicate value

-6016

Duplicate format code


-6000: Duplicate table name (SAP Library - MaxDB Library)

 Entering content frame

-6000: Duplicate table name

Explanation:

There is already a table with the specified name.

User Action:

Choose another name for the new table.


-6001: Duplicate column name (SAP Library - MaxDB Library)

 Entering content frame

-6001: Duplicate column name

Explanation:

...

1. The column names of a table must differ from each other. Base tables without user-defined key columns and named result tables contain the implicitly created column SYSKEY.

2. Named result tables with columns which have not been explicitly named and which do not inherit a column name from the underlying base table implicitly get the column name "EXPRESSION_", where _ stands for a positive integer.

3. A column must not be specified more than once in an INSERT or UPDATE statement or in a sequence of key specifications.

User Action:

...

1. Use different column names.

2. In a CREATE VIEW or QUERY statement, uniqueness of column names can be achieved by specifying reference names in the selected columns. In a CREATE VIEW statement, uniqueness can also be obtained by specifying alias names.

3. Correct the repeated specification of the same column.


-6002: Duplicate privilege (SAP Library - MaxDB Library)

 Entering content frame

-6002: Duplicate privilege

Explanation:

A privilege to be granted was listed twice in the SQL statement.

User Action:

Remove one of these privileges from the SQL statement.


-6003: Duplicate result table name (SAP Library - MaxDB Library)

 Entering content frame

-6003: Duplicate result table name

Explanation:

The ANSI and DB2 SQL modes require a result table generated using a DECLARE CURSOR statement to be closed using a CLOSE statement before this result table name can be used to open a new result table within the same transaction.

User Action:

Insert a CLOSE statement into the application.


-6006: Duplicate name (SAP Library - MaxDB Library)

 Entering content frame

-6006: Duplicate name

Explanation:

There is already a data object with the specified name.

User Action:

Repeat the SQL statement with another name.


-6008: Duplicate index name (SAP Library - MaxDB Library)

 Entering content frame

-6008: Duplicate index name

Explanation:

There is already an index with the specified name.

User Action:

Use another name for the index or delete the existing one.


-6009: Duplicate reference name (SAP Library - MaxDB Library)

 Entering content frame

-6009: Duplicate reference name

Explanation:

A reference name was selected twice in the FROM clause of a QUERY specification. This violates the requirement that each table must have a unique reference name.

User Action:

Change one of the reference names.


-6011: Duplicate constraint (SAP Library - MaxDB Library)

 Entering content frame

-6011: Duplicate constraint

Explanation:

There is already a CONSTRAINT definition for the specified column.

User Action:

Do without a CONSTRAINT definition specification, or obtain the desired effect by changing the existing CONSTRAINT definition.

Use a QUERY statement issued on the system table DOMAIN.CONSTRAINTS to check the existing CONSTRAINT definitions.


-6012: Duplicate default (SAP Library - MaxDB Library)

 Entering content frame

-6012: Duplicate default

Explanation:

There is already a DEFAULT specification for the specified column.

User Action:

Do without adding a default value, or obtain the desired effect by changing the existing default value.

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the definition of the existing default.


-6013: Duplicate trigger definition (SAP Library - MaxDB Library)

 Entering content frame

-6013: Duplicate trigger definition

Explanation:

There is already a trigger with the specified name.

User Action:

Use a QUERY statement issued on the DOMAIN.TRIGGERS system table to find out which trigger names have already been assigned. Choose a different name.

Use a QUERY statement issued on the DOMAIN.TRIGGERS system table to find out whether the existing trigger has the desired definition, in which case you do not need to define another trigger.


-6014: Duplicate value (SAP Library - MaxDB Library)

 Entering content frame

-6014: Duplicate value

Explanation:

...

When defining a mapchar set, an internal value was specified more than once.

User Action:

...

Change the definition of the mapchar set in such a way that it is not necessary to specify several mappings for an internal value.


-6016: Duplicate format code (SAP Library - MaxDB Library)

 Entering content frame

-6016: Duplicate format code

Explanation:

  1. A format element was specified several times in the function TO_DATE.
  2. In the format specification of the TO_DATE function, format elements were specified which must not occur together. For example, day of year (DDD) and Julian calendar date must not occur together. There must not be several specifications denoting the year, e.g. YYYY and YY, or the month, e.g. MM and MONTH.

User Action:

  1. Remove the format elements that are specified too often.
  2. Remove one of the format elements that cannot occur together.


From -7000 to -7999 (SAP Library - MaxDB Library)

 Entering content frame

From -7000 to -7999

Database Kernel Error Messages

-7002 | KEY not allowed
-7003 | NOT NULL not allowed
-7004 | DEFAULT not allowed
-7005 | Lower bound greater than upper bound not allowed
-7006 | Reserved identifier not allowed
-7007 | Key column not allowed
-7008 | Updates of this table not allowed
-7009 | NULL value in key column not allowed
-7011 | Correlated sub-query not allowed
-7012 | More than one update row not allowed
-7015 | More than one result row not allowed
-7016 | Parameter spec not allowed in this context
-7017 | User not allowed
-7018 | Variable not allowed in view definition
-7019 | Feature not allowed in view definition
-7021 | View column derived from function not allowed
-7022 | Columns from more than one table not allowed
-7023 | Dropping of all columns not allowed
-7024 | Alter column not allowed, constraint violation
-7026 | SQL statement not allowed without previous FETCH
-7029 | Function not allowed for this data type
-7032 | SQL statement not allowed for column of data type LONG
-7035 | DEFAULT specification not allowed for this column
-7036 | ROWNO specification not allowed in this context
-7037 | NULL value for NOT NULL column not allowed
-7038 | Foreign key column not allowed
-7039 | Cycle in referential constraint definition not allowed
-7040 | Referential constraint not allowed
-7041 | Result table name not allowed
-7042 | Key update not allowed
-7043 | Group member not allowed
-7045 | Parameter spec not allowed
-7046 | Column with length greater than 254 not allowed
-7048 | DROP/ALTER USER not allowed while user is connected
-7050 | Fastload with indexed table not allowed
-7051 | Read only view WITH CHECK OPTION not allowed
-7055 | Column(s) already indexed
-7056 | Sub-query not allowed
-7057 | View definition contradicts new table definition
-7058 | Correlated sub-query with select in from clause not allowed
-7061 | LOCK ROW for this table not allowed
-7063 | Temp table not allowed
-7064 | Feature not allowed in temp table definition
-7065 | SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEGIN
-7066 | Unique index referenced by foreign key not allowed
-7067 | Update without repeated read not allowed
-7068 | Outer join not allowed in this context
-7071 | AUTOSAVE LOG must be stopped
-7072 | More than one column with default SERIAL not allowed
-7074 | Cycle in granted roles not allowed
-7075 | Current save skipped, next is ready to take on this tape
-7076 | No more data to read from tape
-7077 | Synonym not allowed
-7078 | No backup is running
-7079 | A backup is already running
-7080 | Query in statement not allowed
-7082 | SQL statement not allowed for this table type
-7084 | Parameter change not allowed
-7085 | Function not allowed for this cursor
-7086 | Schema not allowed
-7500 | DCOM HRESULT
-7900 | Different block sizes


-7002: KEY not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7002: KEY not allowed

Explanation:

...

The CREATE TABLE statement must list the key columns first if they are defined by a KEY specification in a key_or_not_null_spec.

In a CREATE TABLE statement, it is not allowed to specify KEY in a key_or_not_null_spec and a key definition.

User Action:

Specify the key columns in the SQL statement correctly.


-7003: NOT NULL not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7003: NOT NULL not allowed

Explanation:

Columns with NOT NULL specification cannot be added to a table with the ALTER TABLE statement.

User Action:

Repeat the SQL statement after removing the specification NOT NULL.


-7004: DEFAULT not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7004: DEFAULT not allowed

Explanation:

...

1. Columns with DEFAULT specification cannot be added to a table with the ALTER TABLE statement.

2. The specification of NOT NULL DEFAULT NULL is not allowed.

User Action:

...

1. To add a column to one with an <ALTER TABLE statement>, specify it without a DEFAULT specification. Then define the DEFAULT in another <ALTER TABLE statement>. This how this column is given the DEFAULT value in all table rows.

2. Delete the DEFAULT specification from the SQL statement and execute the statement again.


-7005: Lower bound greater than upper bound not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7005: Lower bound greater than upper bound not allowed

Explanation:

In the case of an upper and lower limit specification for a range of values, the lower limit is greater than the upper limit.

User Action:

Correct the values.


-7006: Reserved identifier not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7006: Reserved identifier not allowed

Explanation:

In the current SQL mode, the specified name is a reserved keyword and must not be used to identify database objects.

User Action:

Correct the SQL statement using another <identifier>.


-7007: Key column not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7007: Key column not allowed

Explanation:

A key column specification is not allowed here.

User Action:

Remove the key column specification from the SQL statement.


-7008: Updates of this table not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7008: Updates of this table not allowed

Explanation:

The specified table cannot be updated. The following possible reasons are possible:

...

1. The table specified in an SQL statement with CURRENT OF and result table name is not the table indicated in the FROM clause of the QUERY statement which generated the result table.

2. The SQL statement contains a correlated subquery which uses the table to be updated.

3. The QUERY expression was specified with FOR UPDATE. However, the QUERY expression contains statement parts which cannot be used together with a FOR UPDATE specification (DISTINCT, GROUP CLAUSE, UNION, INTERSECT, EXCEPT, SUBQUERY).

4. In the DB2 SQL mode, the QUERY expression of an SQL statement with CURRENT OF <result_table_name> contains a FOR FETCH ONLY statement.

User Action:

...

1. Replace the table name with that used in the FROM clause of the QUERY statement or repeat the QUERY statement using the required table name.

2. In the case of the correlated subquery, the desired effect can be achieved by generating a named result table which is then used in the subquery.

3. You must delete the FOR UPDATE or DISTINCT specification, or similar.

4. Repeat the QUERY expression, omitting FOR FETCH ONLY, or delete the CURRENT OF <result_table_name> specification from the SQL statement.


-7009: NULL value in key column not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7009: NULL value in key column not allowed

Explanation:

Key columns must not be set to the NULL value.

User Action:

Use non-NULL values for key columns.


-7011: Correlated subquery not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7011: Correlated subquery not allowed

Explanation:

...

1. A correlated subquery was used in a <QUERY EXPRESSION> containing at least a UNION, INTERSECT, or EXCEPT. This is not yet allowed.

2. A column name was used in a selected column in a scalable subquery; this column name is not known in any FROM clause table.

User Action:

...

1. The desired effect can be achieved by splitting the <QUERY statement> into several SQL statements.

2. Correct the user name.


-7012: More than one update row not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7012: More than one update row not allowed

Explanation:

An attempt was made to modify several rows using an UPDATE statement, whereby a new value was specified for a LONG column. This is not allowed.

User Action:

Modify the UPDATE statement so that only one row is updated at a time, or do without the value modification for the LONG column.


-7015: More than one result row not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7015: More than one result row not allowed

Explanation:

...

1. This error may occur when a SINGLE SELECT statement is executed and more than one row complies with the search condition.

2. This error can also occur if a subquery specified in a comparison predicate or a SET UPDATE clause of an UPDATE statement is executed and more than one row complies with the search condition.

User Action:

...

1. The <SINGLE SELECT statement> can be replaced with a QUERY statement and a sequence of FETCH statements; or it can be ensured that at most one row complies with the conditions by expanding the <search condition>.

2. You can replace the comparison predicate with a quantity comparison predicate. You can try to change the subquery in such a way that it contains at most one row as the result by specifying DISTINCT or by expanding the search condition.


-7016: Parameter spec not allowed in this context (SAP Library - MaxDB Library)

 Entering content frame

-7016: Parameter spec not allowed in this context

Explanation:

...

1. The attempt was made to specify a parameter in a selected column.

2. A comparison predicate of type <parameter_spec> <comp_op> <parameter_spec> occurred within the search condition.

3. A comparison predicate, IN predicate or quantity comparison predicate specifies a comparison between a parameter and a subquery.

User Action:

...

1. Replace the parameter with a constant.

2. It is useful to check such a condition within the application. If this is not possible, replace one of the two parameters with a constant, a column name, or an expression which does not solely contain parameters.

3. Replace the parameter with a constant or integrate it into a function (e.g. SUBSTR) so that the data type of the parameter becomes clear.


-7017: User not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7017: User not allowed

Explanation:

...

1. You cannot grant privileges to yourself.

2. You cannot specify identical names in a GRANT USER statement.

User Action:

Change the user name.


-7018: Variable not allowed in view definition (SAP Library - MaxDB Library)

 Entering content frame

-7018: Variable not allowed in view definition

Explanation:

Parameters must not be specified in the CREATE VIEW statement.

User Action:

Use variables instead of constants.


-7019: Feature not allowed in view definition (SAP Library - MaxDB Library)

 Entering content frame

-7019: Feature not allowed in view definition

Explanation:

ROWNO specifications are not allowed in a view definition.

User Action:

Remove the ROWNO specification from the SQL statement.


-7021: View column derived from function not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7021: View column derived from function not allowed

Explanation:

A view table column was specified which was the result of an arithmetic expression or of a set function. In the present case, it is not allowed to specify such a column.

User Action:

To achieve the desired effect try one or more other SQL statements.


-7022: Columns from more than one table not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7022: Columns from more than one table not allowed

Explanation:

In certain cases, columns from more than one table may not be addressed within an expression.

User Action:

Consider whether issuing other SQL statements could give the desired result.


-7023: Dropping of all columns not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7023: Dropping of all columns not allowed

Explanation:

You tried to delete every column from a table. This is not allowed.

User Action:

...

1. Delete the table using the DROP TABLE statement. This deletes all view tables, privileges, indexes, referential CONSTRAINT definitions, etc. that depend on this table.

2. Afterwards, use the CREATE TABLE statement to define a new table with the same name.


-7024: Alter column not allowed, constraint violation (SAP Library - MaxDB Library)

 Entering content frame

-7024: Alter column not allowed, constraint violation

Explanation:

An attempt was made to redefine a range of values for a particular column. The SQL statement fails when the table contains rows that violate the CONSTRAINT definition.

User Action:

...

1. Choose another CONSTRAINT definition, or do not change the definition at all.

2. Use a QUERY statement to find out which rows do not meet the CONSTRAINT definition. You can then change or delete these.


-7026: SQL statement not allowed without previous FETCH (SAP Library - MaxDB Library)

 Entering content frame

-7026: SQL statement not allowed without previous FETCH

Explanation:

The attempt was made to issue an SQL statement with CURRENT OF for the table without having previously issued a successful FETCH statement on the specified result table.

User Action:

Issue a FETCH statement for this result table and repeat the SQL statement.


-7029: Function not allowed for this data type (SAP Library - MaxDB Library)

 Entering content frame

-7029: Function not allowed for this data type

Explanation:

...

1. A DATE, TIME, TIMESTAMP, USER, USERGROUP, TRUE, FALSE or STAMP entry was used for a default specification of a column whose data type is incompatible with this entry.

2. A set function with DISTINCT was called for a value whose maximum length exceeds 1024 bytes.

3. A function was called for a value which does not allow this function to be used.

4. A date_or_timestamp_expression was created together with a value whose data type is invalid for this.

User Action:

...

1. In the case of a default specification, you need to choose another default specification or delete the current one altogether.

2. Use the SUBSTR function to shorten the value.

3. Use a QUERY statement issued on the DOMAIN.COLUMNS system table to determine the data types of the specified columns. You can check whether it's possible to achieve the desired effect using a function to convert numbers into character strings or vice versa.


-7032: SQL statement not allowed for column of data type LONG (SAP Library - MaxDB Library)

 Entering content frame

-7032: SQL statement not allowed for column of data type LONG

Explanation:

The SQL statement cannot be applied to LONG columns.

User Action:

Use one of the operations allowed for the data type LONG.


-7035: DEFAULT specification not allowed for this column (SAP Library - MaxDB Library)

 Entering content frame

-7035: DEFAULT specification not allowed for this column

Explanation:

An INSERT or UPDATE statement or a DEFAULT predicate was issued with a DEFAULT specification for a column for which no DEFAULT specification had been defined in the <CREATE TABLE> or any subsequent <ALTER TABLE statement>.

User Action:

Specify the desired value instead of DEFAULT.


-7036: ROWNO- specification not allowed in this context (SAP Library - MaxDB Library)

 Entering content frame

-7036: ROWNO- specification not allowed in this context

Explanation:

One of the following conditions was violated:

...

1. The specification ROWNO may only be used in QUERY statements. The <QUERY statement> must not contain a UNION, EXCEPT or INTERSECT specification.

2. The ROWNO predicate can be used within the search condition, in the form ROWNO < <rowno_spec> or ROWNO <= <rowno_spec>.In other words, ROWNO is to the left of the operator.

3. The ROWNO predicate may occur only once in a search condition. It must be connected with other predicates by logical AND.

User Action:

...

1. In the case of UNION, EXCEPT or INTERSECT, the effect can be achieved by two successive <QUERY statement>s.

2. Correct the search condition for the SQL statement accordingly.


-7037: NULL value for NOT NULL column not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7037: NULL value for NOT NULL column not allowed

Explanation:

The error message occurs when a referential CONSTRAINT definition is executed and ON DELETE SET NULL is specified in the DELETE rule if a column (referencing_column) does not permit the NULL value.

User Action:

Choose another action in the DELETE rule or admit the NULL value for the corresponding column(s) in the referencing table.


-7038: Foreign key column not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7038: Foreign key column not allowed

Explanation:

A foreign key column is a column which was specified in the referencing_column of a referential CONSTRAINT definition.

...

1. The attempt was made to delete a table column which was specified as a referencing_column of a CONSTRAINT definition.

2. The attempt was made to delete the key of a table. The columns of the key were specified implicitly or explicitly as referencing_columns of a CONSTRAINT definition.

User Action:

Delete the referential CONSTRAINT definition and then the column or key.


-7039: Cycle in referential constraint definition not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7039: Cycle in referential constraint definition not allowed

Explanation:

An attempt was made to create a referential CONSTRAINT definition which would produce an invalid reference cycle. This CONSTRAINT definition would lead to discrepancies so the database system has rejected it.

User Action:

Delete the cycle dependencies.


-7040: Referential constraint not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7040: Referential constraint not allowed

Explanation:

There is already a referential CONSTRAINT definition with the specified referencing table. Moreover, CASCADE dependency arises. Under these conditions, all CONSTRAINT definitions with the indicated referencing table must specify either CASCADE or RESTRICT.

User Action:

Rethink the desired effect, because it would result in basically contesting situations. You can view information about existing referential CONSTRAINT definitions using a QUERY statement issued on the DOMAIN.FOREIGNKEYCOLUMNS system table.


-7041: Result table name not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7041: Result table name not allowed

Explanation:

In a CREATE VIEW statement, a named result table was specified in a FROM clause of the QUERY expression. However, only base or view tables may be specified.

User Action:

Specify a base or view table in the SQL statement and expand the search condition to include the conditions used when the result table was generated.


-7042: Key update not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7042: Key update not allowed

Explanation:

The attempt was made to change the value of a key column in a temporary table to a new value. This is not allowed. Key columns can only be changed in permanent tables.

User Action:

If another key value is wanted, delete the row with the old key value and insert a row with the new key value.


-7043: Group member not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7043: Group member not allowed

Explanation:

The following reasons are possible:

...

1. The attempt was made to grant privileges to a user of a user group.

2. An attempt was made to alter the characteristics of a user who is a member of a user group using an ALTER USER statement.

User characteristics and privileges cannot be altered for members of a user group. This can only be done for the user group itself.

User Response:

A database administrator can use a QUERY statement issued on the DOMAIN.USERS system table to find out which user group the relevant user belongs to. Other users only see the users and user groups that belong to the same database administrator as they do.

...

1. Grant the appropriate privileges to the user group that the user belongs to.

2. Replace the ALTER USER with ALTER USERGROUP statement.


-7045: Parameter spec not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7045: Parameter spec not allowed

Explanation:

A parameter was specified, although this database component or this kind of application programming only allows the use of constants.

User Action:

Replace the parameter with a constant.


-7046: Column with length greater than 254 not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7046: Column with length greater than 254 not allowed

Explanation:

The attempt was made to use a CHAR-type column with a length greater than 254 in a statement part that does not allow for such a column. This could have happened, for example, if the attempt was made to change a column with a defined length less than 254 into a column with a defined length greater than 254.

User Action:

Do not use this column in the statement part. Try to achieve the desired effect by application programming. For a change in the defined length, the desired effect could be achieved by replacing the ALTER definition with a MODIFY definition. However, this is likely to take substantially more time. This depends on the number of data records in the accessed table and the indexes defined for it.


-7048: DROP/ALTER USER not allowed while user is connected (SAP Library - MaxDB Library)

 Entering content frame

-7048: DROP/ALTER USER not allowed while user is connected

Explanation:

The attempt was made to drop a user or to alter the characteristics of a user who was connected. This is only permitted for a user who is not connected.

User Action:

Repeat the SQL statement when the user to be dropped or altered is not connected.


-7050: Fastload with indexed table not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7050: Fastload with indexed table not allowed

Explanation:

The table to be imported includes an index. In this case, a fast import using the IMPORT TABLE <table_spec> Loader command is not possible.

User Response:

Delete the index or do without fast loading.


-7051: Read only view WITH CHECK OPTION not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7051: Read only view WITH CHECK OPTION not allowed

Explanation:

The view table to be created is not updateable. The specification WITH CHECK OPTION is not allowed for non updateable view tables.

User Action:

Repeat the SQL statement without the WITH CHECK OPTION.


-7055: Column(s) already indexed (SAP Library - MaxDB Library)

 Entering content frame

-7055: Column(s) already indexed

Explanation:

The specified column(s) already has/have an index.

User Action:

Use a QUERY statement issued on the DOMAIN.INDEXCOLUMNS system table to check whether the index values are stored in ascending or descending order. No user action is required.


-7056: Subquery not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7056: Subquery not allowed

Explanation:

A subquery specification is not allowed in a CONSTRAINT definition.

User Action:

...

1. Try to formulate the search condition in such a way that the subquery is not necessary.

2. Try to achieve the desired effect by defining a trigger that checks the condition.


-7057: View definition contradicts new table definition (SAP Library - MaxDB Library)

 Entering content frame

-7057: View definition contradicts new table definition

Explanation:

...

1. An attempt was made to add a column to a table or to drop a column from a table. SELECT * was used when defining the specified view table, and new names were assigned to the view table columns. After the table was modified, the number of view table columns no longer matched the number of table columns.

2. An attempt was made to drop a referential CONSTRAINT definition which is prerequisite for an updatable join view table.

User Action:

...

1. Delete the view table and define it again. Specify the required columns individually in the selected columns of the QUERY expression.

2. You can only delete the referential CONSTRAINT definition after you have deleted the updatable view table.


-7058: Correlated subquery with select in from clause not allowe (SAP Library - MaxDB Library)

 Entering content frame

-7058: Correlated subquery with select in from clause not allowed

Explanation:

You are not allowed to include a QUERY expression in the FROM clause of a correlated subquery.

User Action:

Formulate the corresponding subquery to leave out the QUERY expression. If this is not possible, split the SQL statement into at least two SQL statements and generate a named result table that can be used in the FROM clause.


-7061: LOCK ROW for this table not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7061: LOCK ROW for this table not allowed

Explanation:

A LOCK statement with a ROW specification can only be executed for an updatable join view table. However, not even updatable join view tables allow a ROW specification with OPTIMISTIC.

User Action:

The effect can be achieved using several ROW specifications issued on the underlying base tables.


-7063: Temp table not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7063: Temp table not allowed

Explanation:

With temporary tables, you can only use a restricted number of SQL statements for data definition. These include the existence check and statements for creating and deleting tables.

User Action:

Decide whether the SQL data definition statement can be removed or whether a permanent table should be created instead of the temporary table.


-7064: Feature not allowed in temp table definition (SAP Library - MaxDB Library)

 Entering content frame

-7064: Feature not allowed in temp table definition

Explanation:

A referential CONSTRAINT definition cannot be specified for a temporary table.

User Action:

Repeat the SQL statement without the invalid specification, or create a permanent table in place of the temporary table.


-7065: SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEG (SAP Library - MaxDB Library)

 Entering content frame

-7065: SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEGIN

Explanation:

A SUBTRANS BEGIN statement must have been called for each subtransaction that is to be closed.

User Action:

Check the database application for the dynamic behavior of the SUBTRANS statements.


-7066: Unique index referenced by foreign key not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7066: Unique index referenced by foreign key not allowed

Explanation:

The specified index cannot be dropped, because the columns it contains were specified as referenced columns of the referenced table (referenced_table) in a referential CONSTRAINT definition.

User Action:

You can only delete the index after you have deleted the corresponding referential CONSTRAINT definition. You can use a QUERY statement based on the DOMAIN.FOREIGNKEYCOLUMNS system table to display the CONSTRAINT definitions that were generated.


-7067: Update without repeated read not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7067: Update without repeated read not allowed

Explanation:

An optimistic lock was set to at least one table row by a previous SQL statement. Afterwards, another database user updated at least one of these rows. The database user who set the optimistic lock can make new changes to this row only after reading it again with an (optimistic) lock.

User Response:

The row to be updated must be read again with an (optimistic) lock.


-7068: Outer Join not allowed in this context (SAP Library - MaxDB Library)

 Entering content frame

-7068: Outer Join not allowed in this context

Explanation:

An OUTER JOIN indicator was used in a comparison predicate in which no table column was specified in one of the two expressions. An OUTER JOIN indicator is only allowed in a JOIN predicate.

User Action:

You can repeat the SQL statement without the OUTER JOIN indicator.


-7071: AUTOSAVE LOG must be stopped (SAP Library - MaxDB Library)

 Entering content frame

-7071: AUTOSAVE LOG must be stopped

Explanation:

The attempt was made to perform a SHUTDOWN. This is not possible as long as the automatic log backup is active.

User Action:

Stop the automatic log backup and then perform SHUTDOWN.


-7072: More than one column with default SERIAL not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7072: More than one column with default SERIAL not allowed

Explanation:

You tried to assign the DEFAULT SERIAL DEFAULT specification more than once when defining a base table. In each base table, there may not be more than one column with the DEFAULT SERIAL default specification.

User Action:

Choose a column from which this definition can be omitted. Then repeat the modified SQL statement.


-7074: Cycle in granted roles not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7074: Cycle in granted roles not allowed

Explanation:

The following reasons are possible:

...

1. You tried to assign a role to itself.

2. You tried to assign role definitions cyclically.

User Action:

Check for a typing error. If you do not find any, check whether the roles that would result in the cycle can be combined into one role.


-7075: Current save skipped, next is ready to take on this tape (SAP Library - MaxDB Library)

 Entering content frame

-7075: Current save skipped, next is ready to take on this tape

Explanation:

You tried to restore a log backup from a no rewind tape. The given backup is older than the one required. It could still be saved on this tape.

User Action:

Try to restore the next backup on this tape.


-7076: No more data to read from tape (SAP Library - MaxDB Library)

 Entering content frame

-7076: No more data to read from tape

Explanation:

You tried to restore a log backup from a no rewind tape. The given backup is older than the one required. There is no other backup on this tape.

User Action:

You no longer need the current tape. Insert the tape with the required backup and repeat the command.


-7077: Synonym not allowed (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -7077: Synonym not allowed

Explanation:

You have used an invalid synonym name within a CREATE TRIGGER or CREATE DBPROC statement. This is not allowed.

User Action:

Instead of using the synonym name, use the full name for which the synonym was originally defined.


-7078: No backup is running (SAP Library - MaxDB Library)

 Entering content frame

-7078: No backup is running

Explanation:

An attempt was made to cancel a backup but no backup was running.

User Action:

No user action required.


-7079: A backup is already running (SAP Library - MaxDB Library)

 Entering content frame

-7079: A backup is already running

Explanation:

An attempt was made to start a backup while another backup is running. You can only run one backup at a time.

User Action:

No user action is possible.


-7080: Query in statement not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7080: Query in statement not allowed

Explanation:

The search condition of an IF or WHILE statement contains a QUERY statement. This is not allowed.

User Action:

Execute the QUERY statement outside of the IF or WHILE statement, and save the results in program variables. Then use these results in the IF or WHILE statement.


-7082: SQL statement not allowed for this table type (SAP Library - MaxDB Library)

 Entering content frame

-7082: SQL statement not allowed for this table type

Explanation:

SQL statements for deleting or changing table rows or for changing table definitions are not permitted for this table type.

User Action:

You cannot use this SQL statement.


-7084: Parameter change not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7084: Parameter change not allowed

Explanation:

You tried to modify the value of an installation parameter using a SET statement. The database system, however, could not modify the value for one of the following reasons:

· The installation parameter is not modifiable.

· The installation parameter is not modifiable when in the ONLINE or ADMIN operating state.

User Action:

The following options are available:

· Do without the modification.

· If the installation parameter cannot be modified when in the ONLINE or ADMIN operating state, change the state of the database instance to OFFLINE, make the necessary modification, and then change the database instance back to the required operating state.


-7085: Function not allowed for this cursor (SAP Library - MaxDB Library)

 Entering content frame

-7085: Function not allowed for this cursor

Explanation:

You tried to execute a FETCH statement with the FIRST, LAST, PREV, <position> or SAME optional entry for a cursor that is not scrollable. This is only allowed for scrollable cursors.

User Action:

Do not use any of the named optional specifications for this cursor, or else use NEXT, or recreate the cursor as a scrollable cursor.


-7086: Schema not allowed (SAP Library - MaxDB Library)

 Entering content frame

-7086: Schema not allowed

Explanation:

The schema specified is not allowed. This occurs if the schema name specified in the CREATE SYNONYM statement or the CREATE DOMAIN statement is different from the current user’s name.

User Response:

Correct the schema name.


-7500: DCOM HRESULT (SAP Library - MaxDB Library)

 Entering content frame

-7500: DCOM HRESULT

Explanation

An unexpected error occurred during the CREATE PACKAGE statement. The exact cause of the error is signified by a numerical value (HRESULT) in the error message.

User action

This type of error suggests incorrect or missing entries in the registration database.

Ensure that the reference to the relevant library in the programmatic ID is correct. Also, make sure that this library exists in the given location and that the appropriate privileges are assigned.

If this fails to solve the problem, inform Support of the error number (HRESULT) so they can analyze the error.


-7900: Different block sizes (SAP Library - MaxDB Library)

 Entering content frame

-7900: Different block sizes

Explanation:

The block sizes specified for the restore and used for the backup differ from each other. The restore cannot be terminated successfully.

User Action:

The block size used for the corresponding save must also be used for the restore operation.


From -8000 to -9799 (SAP Library - MaxDB Library)

 Entering content frame

From -8000 to -9799

Database Kernel Error Messages

-8000 | SERVERDB must be restarted
-8001 | User must be connected
-8002 | User already connected to this user task
-8003 | Log and data must be compatible
-8004 | Constant must be compatible with column type and length
-8005 | Value expression must be parameter name
-8006 | Data types must be compatible
-8007 | Column must be key column
-8009 | DEFAULT value must be in constraint specification
-8010 | Table name must be in from list
-8013 | Order column must be output column
-8014 | Result table must be FOR REUSE
-8015 | Table must be a base table
-8016 | Table must be a view table
-8017 | Column must be group column
-8018 | Index name must be unique
-8020 | Next volume required
-8021 | Column must have DEFAULT specification
-8022 | User already connected
-8023 | COSTLIMIT must be greater than COSTWARNING
-8024 | RESTORE CATALOG failed
-8025 | Table must be temp table
-8026 | Connect disabled for this user
-8028 | UNION columns must be compatible
-8030 | Column must be indexed
-8031 | Owner must be specified
-8033 | Incomplete log segment
-8034 | Order column must be number
-8035 | Foreign key must exist
-8037 | DB procedure must be recompiled
-8040 | Key does not exist
-8044 | Conversion for character set value impossible
-8045 | Conversion to UNICODE impossible
-8046 | Conversion from UNICODE impossible
-8047 | Password required
-8048 | Version of component must be compatible with kernel version
-8050 | Migration error
-8051 | No snapshot available
-8052 | Trigger dropped during migration; check view migrationerrorprotocol
-8053 | Software version is too old for version of persistent data
-8888 | SERVERDB not accessible
-9000 | System error: Not yet implemented
-9001 to -9799 | System error


-8000: SERVERDB must be restarted (SAP Library - MaxDB Library)

 Entering content frame

-8000: SERVERDB must be restarted

Explanation:

It is not possible to work on the database instance because it was shut down.

User Action:

Switch the database to ONLINE mode.


-8001: User must be connected (SAP Library - MaxDB Library)

 Entering content frame

-8001: User must be connected

Explanation:

A database session can only be opened using a CONNECT statement.

User Action:

Specify a CONNECT statement.


-8002: User already connected to this user task (SAP Library - MaxDB Library)

 Entering content frame

-8002: User already connected to this user task

Explanation:

A user already connected to the database entered another CONNECT statement.

User Action:

If the user wants to continue working under another user name, he must specify first a RELEASE and then a CONNECT statement.


-8003: Log and data must be compatible (SAP Library - MaxDB Library)

 Entering content frame

-8003: Log and data must be compatible

Explanation:

...

1. When you start the database instance in the ONLINE operational state, the result of the check is that the data area and the current log area have different states.

2. When the log entries are imported, the result of the check is that the import sequence is incorrect.

User Action:

...

1. You must restore the database system by specifying the correct backup version.

2. Import all the necessary log entries in the correct order.

Start the database instance in the ONLINE operating state.

See also:

Database System Concepts, Logging Transactions


-8004: Constant must be compatible with column type and length (SAP Library - MaxDB Library)

 Entering content frame

-8004: Constant must be compatible with column type and length

Explanation:

The specified constant does not match the data type for this column.

User Action:

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the definition of the affected column. Specify a constant with the correct data type.


-8005: Value expression must be parameter name (SAP Library - MaxDB Library)

 Entering content frame

-8005: Value expression must be parameter name

Explanation:

When a database procedure was called, a constant value, instead of a parameter, was specified for an OUT or IN/OUT parameter.

User Action:

Replace the specified constant with a parameter.


-8006: Data types must be compatible (SAP Library - MaxDB Library)

 Entering content frame

-8006: Data types must be compatible

Explanation:

...

1. A function was applied to a non-permitted argument.

2. A two-digit operation was applied to non-comparable values.

3. A predicate contains non-comparable data types.

Each data type can be compared to itself. Columns of data type CHAR with the different code attributes ASCII and UNICODE can be compared to each other; they are implicitly adapted. The columns of code attribute ASCII can be compared to date, time, and timestamp specifications.

All numbers can be compared to each other.

User Action:

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the definition of the specified columns. It may be attempted to achieve comparability by applying a conversion function.


-8007: Column must be key column (SAP Library - MaxDB Library)

 Entering content frame

-8007: Column must be key column

Explanation:

The specification of a non-key column is not allowed here.

User Action:

Use a QUERY statement issued on the system table DOMAIN.COLUMNS to find out the columns which belong to the table key. Only these columns can be specified at this position within the SQL statement.


-8009: DEFAULT value must be in constraint specification (SAP Library - MaxDB Library)

 Entering content frame

-8009: DEFAULT value must be in constraint specification

Explanation:

The specified DEFAULT value would violate the CONSTRAINT definition.

User Action:

...

1. The corresponding <CONSTRAINT definition> must be reconsidered and modified, if necessary.

2. Use another DEFAULT value, or do not specify a default value at all.


-8010: Table name must be in from list (SAP Library - MaxDB Library)

 Entering content frame

-8010: Table name must be in from list

Explanation:

A table name which was not listed in the FROM clause was specified in a selected column, search condition or ORDER clause.

User Action:

...

1. If a reference name was specified for a table name, use this reference name in the SQL statement.

2. If the FROM clause contains the specification of a table which is not included in the schema of the current database user and which is also not a system table, you need to specify the schema name for the table throughout the SQL statement.


-8013: Order column must be output column (SAP Library - MaxDB Library)

 Entering content frame

-8013: Order column must be output column

Explanation:

...

1. For a QUERY statement with DISTINCT specification, only those column names that were specified as select columns can be specified in the ORDER clause.

2. If a column number is specified, you must ensure that this number is not greater than the number of specified output columns.

3. The number of output columns may have decreased in case of a SELECT * as a result of an ALTER TABLE statement with DROP definition.

User Action:

...

1. Do not use the DISTINCT specification or specify the column of the ORDER clause in a select column.

2. Correct the number in the ORDER clause accordingly.


-8014: Result table must be FOR REUSE (SAP Library - MaxDB Library)

 Entering content frame

-8014: Result table must be FOR REUSE

Explanation:

A named result table which was not created with FOR REUSE was used in the FROM clause of a QUERY statement or SINGLE SELECT statement.

User Action:

Create the named result table with FOR REUSE and reissue the SQL statement.


-8015: Table must be a base table (SAP Library - MaxDB Library)

 Entering content frame

-8015: Table must be a base table

Explanation:

The specification of a base table is expected. This specification is missing or the specified table is not a base table.

User Action:

Use a QUERY statement issued on the DOMAIN.TABLES system table to find out whether the specified table is a view table or result table. If it is a view table, use a QUERY statement issued on the DOMAIN.VIEWDEFS system table to find out the pertinent base table. You can then issue the required SQL statement for the base table if you have the appropriate privileges.


-8016: Table must be a view table (SAP Library - MaxDB Library)

 Entering content frame

-8016: Table must be a view table

Explanation:

A table which is not a view table was specified for the RENAME VIEW or DROP VIEW statement.

User Action:

Include a view table in the SQL statement, or replace the SQL statement with a RENAME TABLE statement or DROP TABLE statement.


-8017: Column must be group column (SAP Library - MaxDB Library)

 Entering content frame

-8017: Column must be group column

Explanation:

A column which is not a group column, i.e., which is not contained in the GROUP clause, was specified in a selected column or in the HAVING clause. Columns that are not group columns can only occur in arguments of the AVG, COUNT, MAX, MIN, STDDEV, SUM and VARIANCE set functions.

User Action:

Insert the specified column into the group clause as a further group column, or remove it from the selected column or HAVING clause.


-8018: Index name must be unique (SAP Library - MaxDB Library)

 Entering content frame

-8018: Index name must be unique

Explanation:

...

1. This error message can occur when a DROP INDEX statement is executed. Indexes with identical names were created for separate tables. Therefore, the name of the index to be deleted is not unique.

2. There is only one named single-column index for this column. An attempt was made to delete the index for this column without specifying its name.

User Action:

...

1. In the DROP INDEX statement, specify the name of the table to which the index to be deleted refers.

2. Delete the index, specifying its name.


-8020: Next volume required (SAP Library - MaxDB Library)

 Entering content frame

-8020: Next volume required

Explanation:

1. The current backup medium has no space left when saving.

2. Not all backup media for this backup were specified when the data backup was imported.

3. The next log backup medium is requested for the log backup import.

User Action:

...

1. Specify another backup medium.

2. Complete the list of backup media.

3. Specify the next log backup medium, if it exists, or terminate the import of the log backup manually.


-8021: Column must have DEFAULT specification (SAP Library - MaxDB Library)

 Entering content frame

-8021: Column must have DEFAULT specification

Explanation:

The attempt was made to specify the <action> SET DEFAULT as DELETE rule in a referential CONSTRAINT definition, although no DEFAULT value had been defined for at least one referencing_column.

User Action:

...

1. If the error occurred during the execution of a CREATE TABLE statement, either define a DEFAULT value for the column(s) or choose another action.

2. If the error occurred during the execution of an ALTER TABLE statement, issue another <ALTER TABLE statement> to assign a DEFAULT value to all columns (referencing_column) without a DEFAULT value and then repeat the previous ALTER TABLE statement. Alternatively, you may choose another action.


-8022: User already connected (SAP Library - MaxDB Library)

 Entering content frame

-8022: User already connected

Explanation:

A user attempts to connect to the database system under a user name which was defined with EXCLUSIVE in a CREATE USER, CREATE USERGROUP, ALTER USER or ALTER USERGROUP statement. Another user has also connected using this name.

User Response:

Wait until the other user has disconnected from the database system using a RELEASE statement.

To enable a user to have various simultaneous connections, NOT EXCLUSIVE must be specified for this user with the ALTER USER or ALTER USERGROUP statement These SQL statements may only be executed by the owner of the user or user group.


-8023: COSTLIMIT must be greater than COSTWARNING (SAP Library - MaxDB Library)

 Entering content frame

-8023: COSTLIMIT must be greater than COSTWARNING

Explanation:

A COSTLIMIT value was specified which was less than or equal to the specified COSTWARNING value. The COSTLIMIT value, however, must be greater than the COSTWARNING value.

User Action:

Use a QUERY statement issued on the system table DOMAIN.USERS to find out the COSTWARNING value for existing users.


-8024: RESTORE CATALOG failed (SAP Library - MaxDB Library)

 Entering content frame

-8024: RESTORE CATALOG failed

Explanation

In certain data definition statements, parts of the database catalog are deleted and then restored.

If an unexpected error occurs, error -8024 is displayed.

User action

Create a database trace of the last database activities and save it.

Send the trace to Support so that they can trace and rectify the error.


-8025: Table must be temp table (SAP Library - MaxDB Library)

 Entering content frame

-8025: Table must be temp table

Explanation:

In a CREATE TABLE statement, the IGNORE ROLLBACK option was specified for a permanent table. This is not allowed.

User Action:

You can repeat the SQL statement. To do this, you either need to deselect the IGNORE ROLLBACK option, or a create temporary table by specifying TEMP as schema of the table to be created.


-8026: Connect disabled for this user (SAP Library - MaxDB Library)

 Entering content frame

-8026: Connect disabled for this user

Explanation:

A user whose logon authorization has been removed by the database administrator has tried to logon to the database system.

User Response:

The user cannot logon to the database system without the administrator’s authorization.


-8028: UNION columns must be compatible (SAP Library - MaxDB Library)

 Entering content frame

-8028: UNION columns must be compatible

Explanation:

In a QUERY expression with at least one UNION, INTERSECT or EXCEPT specification, all sequences of selected columns must designate the same number of columns. The data types of the corresponding columns must thereby comply with the conditions valid for comparability.

Each data type can be compared to itself. Columns of data type CHAR with the different ASCII and EBCDIC code attributes can be compared to each other, whereby they are implicitly adapted. Columns with the ASCII code attribute can be compared to date, time, and timestamp specifications.

All numbers can be compared to each other.

In ANSI SQL mode, it is not enough for the data types and lengths of the specified columns to be compatible: they must match. Moreover, only column specifications or * may be specified in the selected columns of the QUERY specifications linked with UNION. Literals may not be specified.

User Action:

Use a QUERY statement issued on the DOMAIN.COLUMNS system table to determine the definition of the affected columns. You may like to try to achieve comparability by using a conversion function.

This request cannot be made in ANSI SQL mode.


-8030: Column must be indexed (SAP Library - MaxDB Library)

 Entering content frame

-8030: Column must be indexed

Explanation:

No index was created on the specified column.

In a referential CONSTRAINT definition, the columns (referenced_column) must designate either the key of the table or columns which form an index defined with UNIQUE.

User Action:

You can display a list of existing indexes using a QUERY statement based on the DOMAIN.INDEXES system table. Create the required index, or else do not use any index.


-8031: Schema must be specified (SAP Library - MaxDB Library)

 Entering content frame

-8031: Schema must be specified

Explanation:

The schema must be specified for every table name in a database procedure.

User Action:

Correct the database procedure accordingly.


-8033: Incomplete log segment (SAP Library - MaxDB Library)

 Entering content frame

-8033: Incomplete log segment

Explanation:

You tried to save the log area. However, there are fewer log entries to be saved than defined in the general database parameter LOG_SEGMENT_SIZE.

User Action:

No action required.


-8034: Order column must be number (SAP Library - MaxDB Library)

 Entering content frame

-8034: Order column must be number

Explanation:

In a QUERY statement in whose outermost QUERY expression there is at least one UNION, INTERSECT or EXCEPT, the ORDER clause must not contain column specifications.

User Response:

Replace the column specifications with the corresponding numbers of the output columns or with the result column name (result_column_name) used in the first QUERY specification of the outermost QUERY expression.


-8035: Foreign key must exist (SAP Library - MaxDB Library)

 Entering content frame

-8035: Foreign key must exist

Explanation:

An UPDATE statement was performed for an updateable join view table. This UPDATE statement leads to an internal insert into one of the underlying base tables. The specifications made in the UPDATE statement are not sufficient to form all mandatory columns which are needed for the implicit INSERT statement.

User Action:

Issue an INSERT statement on the underlying base table. This can prevent the necessity of inserting when performing the UPDATE statement on the join view table.


-8037: DB procedure must be recompiled (SAP Library - MaxDB Library)

 Entering content frame

-8037: DB procedure must be recompiled

Explanation:

SQL statements for data definition that affect tables used in the database procedure were executed. Compile the database procedure to see if this is still executable.

User Action:

The owner of the DB procedure must perform this check by resaving the DB procedure.


-8040: Key does not exist (SAP Library - MaxDB Library)

 Entering content frame

-8040: Key does not exist

Explanation:

The attempt was made to delete the key for the specified table. The specified table has no user-defined key. The key implicitly generated with the column SYSKEY cannot be deleted.

User Action:

The SQL statement is not needed because there is already the desired table definition.


-8044: Conversion for character set value impossible (SAP Library - MaxDB Library)

 Entering content frame

-8044: Conversion for character set value impossible

Explanation:

You tried to convert data in ASCII or UCS-2 format (see also Overview: UNICODE) into another format. This attempt has failed.

User Action:

You cannot perform a conversion explicitly. You can try to avoid this error by explicitly converting the data used, for example, for comparisons.


-8045: Conversion to UNICODE impossible (SAP Library - MaxDB Library)

 Entering content frame

-8045: Conversion to UNICODE impossible

Explanation:

You tried to convert data in ASCII format (see also Overview: UNICODE) into UCS-2 format. This attempt has failed.

User Action:

You cannot perform a conversion explicitly. You can try to avoid this error by explicitly converting the UCS-2 data used, for example, for comparisons.


-8046: Conversion from UNICODE impossible (SAP Library - MaxDB Library)

 Entering content frame

-8046: Conversion from UNICODE impossible

Explanation:

You tried to convert data from UNICODE format (UCS-2) to ASCII format. However, this is not possible because the data contains characters other than Latin1 characters.

User Action:

Check whether the data is correct.

You cannot perform a conversion explicitly. You can try to avoid this error by explicitly converting the ASCII data used for the purpose of, for example, comparisons.


-8047: Password required (SAP Library - MaxDB Library)

 Entering content frame

-8047: Password required

Explanation:

You tried to use a SET statement to activate a role which requires you to specify a password.

User Action:

Repeat the SQL statement, specifying the password this time.


-8048: Version of component must be compatible with kernel versi (SAP Library - MaxDB Library)

 Entering content frame

-8048: Version of component must be compatible with kernel version

Explanation:

You tried to use a component whose version number is much smaller than that of the database kernel used. Since the interface between the components and the database kernel has changed significantly, this is not possible.

User Action:

Use a component whose version number corresponds to that of the database kernel used.


-8049: Prepare migration required (SAP Library - MaxDB Library)

 Entering content frame

-8049: Prepare migration required

Explanation:

Once you had imported SAP DB Version 7.4, you were not able to start the INPLACE migration because no preparations had been made in the original database version for migration.

User Action:

...

1. Import the original database version again.

2. Switch the database instance to ONLINE mode.

3. Shut down the database instance.

4. Run the Database Manager CLI command migrate in a utility session while the database is in ADMIN mode.

This deletes data that is no longer support in Version 7.4.

5. Import Version 7.4 again and restart the INPLACE migration.


-8050: Migration error (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -8050: Migration error

Explanation

An error occurred while migrating a database instance with a database catalog stored in ASCII format (special database parameter: _UNICODE = NO) to a UNICODE database instance (database parameter: _UNICODE = YES). The cause of the error is logged in the file knldiagor knldiag.err.

User action

The action you need to take depends on what caused the error:

· "RESTART REQUIRED BEFORE MIGRATION"
The database instance and its current software must have been in ONLINE mode at least once before the migration can start.

· "UNHANDLED ENTRY TYPE: " + number of record type
The database catalog contains a record type that will not be migrated. All unhandled records are collected and an entry is written for each one. Contact Support.

· "ERROR HANDLING TYPE " + number of record type
An error occurred while processing a database catalog record of the type shown in the message. Migration is canceled. The record is saved to the work directory, under the name MIGERRORREC.BIN. Please inform the SAP DB Support team.

· "ERROR WHEN RECREATING VIEW" + initial text of the defined view
An error occurred while restoring a view table.
Depending which error occurred, you must delete the relevant view table and, if necessary, regenerate it after the migration.

· "MIGRATION FAILED FOR TRIGGER:" or "MIGRATION FAILED FOR DBPROC:"
Database procedures or triggers were defined based on tables. However, the tables, columns, or users have since been renamed. These cannot be recreated. The system generates a list of all the database procedures and triggers that cannot be recreated. Migration is then canceled.
The database procedures/triggers could no longer be used at the time of migration, and so they must be deleted.

· "CONSTRAINTTEXT IS TOO LONG:" + name of constraint
A constraint's definition text would exceed the maximum length if it were converted to UNICODE during migration. You must either delete or modify the constraint.

· "CATALOG IS UNICODE ALREADY"
The database instance already appears to be UNICODE-enabled.

· "_UNICODE has to be YES for migration"
Migration was started even though the _UNICODE database parameter was set to NO.


-8051: No snapshot available (SAP Library - MaxDB Library)

 Entering content frame

-8051: No snapshot available

Explanation:

You tried to reset the data area to an earlier state (snapshot), although a snapshot was not created first.

User Response:

You can only use this command if a snapshot already exists.

See also:

Concepts of the Database System, Freezing the Data Area (Snapshot)


Trigger dropped during migration; check view migrationerrorprotocol

 Entering content frame

-8052: Trigger dropped during migration; check view migrationerrorprotocol

Explanation:

When the database catalog was migrated to UNICODE, some triggers could not be recreated. The database system created replacements for these triggers.

User Action:

In the MIGRATIONERRORPROTOCOL system table, check the CREATE statements for the triggers that could not be recreated.

The CREATE statement for a trigger can be incorrect for the following reasons (for example):

· The trigger is referencing a table or view that was renamed or does not exist any more.

· The syntax within the trigger has changed.

You can delete the replacement trigger once you have fixed the original one.

See also:

System tables documentation


-8053: Software version is too old for version of persistent dat (SAP Library - MaxDB Library)

 Entering content frame

-8053: Software version is too old for version of persistent data

Explanation:

During a restart, the system ascertained that the database software version with which the data was generated does not correspond to the database software version of the current database instance.

The cause of this could be, for example, that you executed a restore with a data backup from a database instance with a newer version of the database software.

The restart terminates.

User Response:

Ensure that the database software version of your database instance corresponds to the version of the database software with which the data was created.


-8888: SERVERDB not accessible (SAP Library - MaxDB Library)

 Entering content frame

-8888: SERVERDB not accessible

Explanation:

The attempt was made to start a database session. This is impossible for one of the following reasons:

...

1. The database name was specified incorrectly

2. The database instance has not yet been started.

User Action:

...

1. Check the specified database name.

2. Start the database instance. Pay attention to errors that might occur.


-9000: SYSTEM ERROR: NOT YET IMPLEMENTED (SAP Library - MaxDB Library)

 Entering content frame

-9000: SYSTEM ERROR: NOT YET IMPLEMENTED

Explanation:

This SQL statement is not yet implemented. It will be available in future releases.

User Action:

To achieve the desired effect try one or more other SQL statements.


-9001 to -9799: System error (SAP Library - MaxDB Library)

 Entering content frame

-9001 to -9799: System error

Explanation:

These error messages should not occur during normal operation with a consistent database instance. With some errors, an implicit SHUTDOWN is performed.

User Action:

As a rule, you should shut down the database and contact Support. Create a trace of the last database activities and save it. Send the trace to Support so that they can trace and rectify the error.


From -10000 to -10999 (SAP Library - MaxDB Library)

 Entering content frame

From -10000 to -10999

SQLDBC Interface Error Messages

-10001 | System error: <description>
-10003 | Feature not supported for kernel version <version>
-10100 | Invalid value for option <option> of SQLDBC_ConnectProperties
-10101 | Invalid value for ISOLATIONLEVEL (<description>)
-10102 | Invalid value for PACKETCOUNT (<description>)
-10103 | Invalid value for STATEMENTCACHESIZE (<description>)
-10104 | Invalid value for KEY
-10200 | Function sequence error (data for execution expected)
-10201 | Function sequence error (no data for execution expected)
-10202 | Function sequence error (operation was aborted by disconnect)
-10210 | Invalid command state (no prepared SQL command)
-10220 | Calling addBatch is not allowed for PreparedStatement / Calling clearBatch is not allowed for PreparedStatement
-10221 | Command info too long
-10300 | Invalid parameter index [<number>]
-10301 | Invalid host type (<name>) for parameter (<number>)
-10304 | Parameter/Column (<number>) not bound
-10305 | Parameter <number> contains null pointer
-10306 | Negative buffer length for parameter (<number>) used
-10307 | Invalid length or indicator value for parameter (<number>)
-10308 | Non-character and non-binary data for parameter (<number>) for piecewise insert not allowed
-10310 | Invalid column index (<number>)
-10312 | Attempt to concatenate to a NULL or DEFAULT value for parameter (<number>)
-10313 | Requested parameter (<number>) was already processed
-10314 | Invalid parameter processing sequence, process non-LONG data before parameter (<number>)
-10315 | Invalid start position (<number>)
-10316 | DATA AT EXECUTE for parameter (<number>) not allowed (conflicts with use of LOB parameter)
-10317 | LOB type for parameter (<number>) not allowed (conflicts with use of DATA AT EXECUTE parameter)
-10318 | Invalid LOB object
-10319 | Could not read/write LOB for parameter/column (<number>)
-10320 | LOB already closed for parameter/column (<number>)
-10321 | LOB invalidated by a previous error for parameter/column (<number>)
-10322 | Could not insert LOB. Parameter/column (<number>) has a NULL/DEFAULT value
-10323 | Non-character and non-binary data for parameter/column (<number>) was tried to read piecewise
-10324 | Stream with id (<number>) not found
-10325 | Stream parameter (<number>) is not an input/output parameter
-10326 | No data found for stream (<number>)
-10327 | Invalid use of null pointer in stream parameter field of stream descriptor for parameter (<number>)
-10328 | Mismatch of number of stream members for parameter (<number>) (application <count1>, database <count2>)
-10329 | Invalid serial value requested, must be first or last value
-10330 | Multiple stream output sequence error
-10331 | Input stream callback buffer overflow for table id (<number>) , allowed <count1> bytes, written <count2> bytes
-10332 | No callback function supplied for stream parameter (<number>)
-10400 | Conversion looses significant digits for parameter/column (<number>)
-10401 | Conversion of parameter/column (<number>) would truncate data
-10404 | Conversion not supported for parameter/column (<number>)
-10405 | Cannot convert UCS2 data to ASCII
-10406 | Invalid data length for UCS2 data for parameter/column (<number>)
-10407 | Corrupted UTF8 data for parameter/column (<number>)
-10408 | Character conversion failed
-10410 | Date/Time format is not supported for parameter/column (<number>)
-10411 | Illegal DATE value for parameter/column (<number>)
-10412 | Illegal TIME value for parameter/column (<number>)
-10413 | Illegal TIMESTAMP value for parameter/column (<number>)
-10414 | Conversion from binary value to string is not supported for parameter/column (<number>)
-10500 | Result set is closed
-10501 | Invalid position in result set: before first row
-10502 | Invalid position in result set: after last row
-10503 | The operation is not allowed for result set type FORWARD_ONLY
-10504 | Invalid position (<row_number>) for row set
-10505 | Result set type is UPDATABLE but row set type is READ_ONLY
-10506 | Result set type is READ_ONLY but row set type is UPDATABLE
-10507 | Internal error: No metadata available for row set operation
-10508 | Invalid encoding of column name for column (<number>) for row set operation
-10509 | The statement was not executed with updatable cursor concurrency
-10601 | SQL command is the empty string
-10602 | SQL command contains UNICODE character
-10603 | SQL command would generate a result set
-10604 | SQL command contains output parameters
-10605 | Illegal schema modification, parameters/columns have changed type/number incompatibly
-10706 | Statement too long
-10709 | Connection failed (<description>)
-10715 | Missing user name for connection | Missing password for connection
-10757 | XUSER error (<description>)
-10802 | Invalid numeric value for parameter/column (<number>)
-10803 | Allocation of shared memory failed (<description>)
-10807 | Connection down: [<description>]
-10808 | Feature <feature> not implemented yet in module: <module> line: <line_number>
-10810 | Session already in use
-10811 | Numeric overflow for parameter/column (<number>)
-10821 | Session not connected
-10856 | Invalid row array size 0
-10857 | Missing database name for connection
-10861 | Invalid use of null pointer for stream handle in parameter (<number>)
-10862 | Stream parameter (<number>) error in read|write procedure
-10899 | Unknown error
-10901 | No space left in request packet
-10902 | Invalid request packet structure
-10903 | Internal Error: LONGDATA part expected
-10904 | Internal error: Expected result count
-10905 | Invalid reply packet structure
-10906 | Internal Error: Entry for valindex (<number>) not found
-10907 | Internal Error: Long descriptor has error flag set


-10001: System error: <description> (SAP Library - MaxDB Library)

 Entering content frame

-10001: System error: <description>

Explanation:

Calling a system function generated an error that could not be processed. <description> provides more information about the error.

User Action:

· Check whether you have sufficient operating system resources.

· Check whether the operating system user who is logged on has the required read, write and execution privileges.

See also:

Glossary, SQLDBC


-10003: Feature not supported for kernel version <version> (SAP Library - MaxDB Library)

 Entering content frame

-10003: Feature not supported for kernel version <version>

Explanation:

Version <version> of the database software is too old.

User Action:

Install a more recent version of the database software.

See also:

Glossary, SQLDBC


Invalid value for option <option> of SQLDBC_ConnectProperties

 Entering content frame

-10100: Invalid value for option <option> of SQLDBC_ConnectProperties

Explanation:

You entered a value that is not allowed for the <option> option of property SQLDBC_ConnectProperties for the method SQLDBC_Connection::connect.

User Action:

Check the values that you entered.

See also:

Glossary, SQLDBC


-10101: Invalid value for ISOLATIONLEVEL (<description>) (SAP Library - MaxDB Library)

 Entering content frame

-10101: Invalid value for ISOLATIONLEVEL (<description>)

Explanation:

You entered a value that is not allowed for the ISOLATIONLEVEL option of property SQLDBC_ConnectProperties for the method SQLDBC_Connection::connect.

<description> provides more information about the error.

User Action:

Check the value that you entered for the ISOLATIONLEVEL option.

See also:

Glossary, SQLDBC


-10102: Invalid value for PACKETCOUNT (<description>) (SAP Library - MaxDB Library)

 Entering content frame

-10102: Invalid value for PACKETCOUNT (<description>)

Explanation:

You entered a value that is not allowed for the PACKETCOUNT option of property SQLDBC_ConnectProperties for the method SQLDBC_Connection::connect.

<description> provides more information about the error.

User Action:

Check the value that you entered for the PACKETCOUNT option.

See also:

Glossary, SQLDBC


-10103: Invalid value for STATEMENTCACHESIZE (<description>) (SAP Library - MaxDB Library)

 Entering content frame

-10103: Invalid value for STATEMENTCACHESIZE (<description>)

Explanation:

You entered a value that is not allowed for the STATEMENTCACHESIZE option of property SQLDBC_ConnectProperties for the method SQLDBC_Connection::connect.

<description> provides more information about the error.

User Action:

Check the value that you entered for the STATEMENTCACHESIZE option.

See also:

Glossary, SQLDBC


-10104: Invalid value for KEY (SAP Library - MaxDB Library)

 Entering content frame

-10104: Invalid value for KEY

Explanation:

You entered a value that is not allowed for the KEY option of property SQLDBC_ConnectProperties for the method SQLDBC_Connection::connect.

User Action:

· Use the XUSER listcommand to check whether the XUSER entry provided is available for the database instance and whether or not it is valid.

· If you entered KEY=SQLOPT, check whether the -U <user_key>option was set in the SQLOPT environment variables.

See also:

Glossary, SQLDBC


-10200: Function sequence error (data for execution expected) (SAP Library - MaxDB Library)

 Entering content frame

-10200: Function sequence error (data for execution expected)

Explanation:

The method that was called could not be executed, because the previous call of method SQLDBC_PreparedStatement::execute or SQLDBC_PreparedStatement::nextParameter requires data to be inserted piecewise using SQLDBC_PreparedStatement::putData.

User Action:

End the previous action using SQLDBC_PreparedStatement::putData or SQLDBC_PreparedStatement::nextParameter.


-10201: Function sequence error (no data for execution expected) (SAP Library - MaxDB Library)

 Entering content frame

-10201: Function sequence error (no data for execution expected)

Explanation:

The SQLDBC_PreparedStatement::putData or SQLDBC_PreparedStatement::nextParameter method that was called could not be executed, because no data was required to be inserted piecewise.

User Action:

To insert data piecewise, use the SQLDBC_PreparedStatement::bindParameter method and select the value SQLDBC_DATA_AT_EXEC for the LengthIndicator argument.


-10202: Function sequence error (operation was aborted by discon (SAP Library - MaxDB Library)

 Entering content frame

-10202: Function sequence error (operation was aborted by disconnect)

Explanation:

The SQLDBC_PreparedStatement::putData method that was called could not be executed, because the connection to the database instance was terminated.

User Action:

Log on to the database instance again.


-10210: Invalid command state (no prepared SQL command) (SAP Library - MaxDB Library)

 Entering content frame

-10210: Invalid command state (no prepared SQL command)

Explanation:

The SQLDBC_PreparedStatement::execute method that was called could not be executed, because the statement was not prepared using the SQLDBC_PreparedStatement::prepare method.

User Action:

Prepare (parse) SQL statements using the SQLDBC_PreparedStatement::prepare method.


Calling addBatch is not allowed for PreparedStatement / Calling clearBatch is not allowed for PreparedStatement

 Entering content frame

-10220: Calling addBatch is not allowed for PreparedStatement / Calling clearBatch is not allowed for PreparedStatement

Explanation:

The SQLDBC_PreparedStatement::addBatch or SQLDBC_PreparedStatement::clearBatch method that was called cannot be used for SQLDBC_PreparedStatement objects.

User Action:

Only use the addBatch and clearBatch methods for SQLDBC_Statement objects.


-10221: Command info too long (SAP Library - MaxDB Library)

 Entering content frame

-10221: Command info too long

Explanation:

Failed to call method SQLDBC_PreparedStatement::setCommandInfo, because the character string entered is too long. The maximum length permitted is 40 characters.

User Action:

Check the length of the character string that was entered as the first parameter for the SQLDBC_PreparedStatement::setCommandInfo() method.


-10300: Invalid parameter index [<number>] (SAP Library - MaxDB Library)

 Entering content frame

-10300: Invalid parameter index [<number>]

Explanation:

The method that was called could not be executed, because the value <number> entered for the parameter number is invalid.

User Action:

Choose a valid value for the parameter number in the Index argument of the SQLDBC_PreparedStament::bindParameter or SQLDBC_ResultSet::bindColumn method.


-10301: Invalid host type (<name>) for parameter (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10301: Invalid host type (<name>) for parameter (<number>)

Explanation:

The method that was called could not be executed, because the <name> data type entered in the SQLDBC_PreparedStatement::bindParameter method is invalid.

User Action:

· Only choose values for the data type (SQLDBC_Hosttype) specified in the SQLDBC_Types.h file.

· Check whether your version of the SQLDBC interface supports the data type entered.


-10304: Parameter/Column (<number>) not bound (SAP Library - MaxDB Library)

 Entering content frame

-10304: Parameter/Column (<number>) not bound

Explanation:

The method that was called could not be executed, because no program variable was bound for the parameter or column with the specified number <number>.

User Action:

Use the SQLDBC_PreparedStatement::bindParameter or SQLDBC_ResultSet::bindColumn method to bind a program variable.


-10305: Parameter <number> contains null pointer (SAP Library - MaxDB Library)

 Entering content frame

-10305: Parameter <number> contains null pointer

Explanation:

The method that was called could not write to or read any parameters or columns from the database, because the program variable bound to parameter <number> and the related indicator parameter is a NULL pointer.

User Action:

Use the SQLDBC_PreparedStatement::bindParameter or SQLDBC_ResultSet::bindColumn method to bind a program variable. Enter a valid program variable address or set the indicator parameter.


-10306: Negative buffer length for parameter (<number>) used (SAP Library - MaxDB Library)

 Entering content frame

-10306: Negative buffer length for parameter (<number>) used

Explanation:

The method that was called could not copy any parameters to the database session, because the length specified (LengthIndicator) for the program variables, which was linked to parameter <number>, contains a negative value.

User Action:

Enter a positive length value which corresponds to the length of the program variable value.


Invalid length or indicator value for parameter (<number>)

 Entering content frame

-10307: Invalid length or indicator value for parameter (<number>)

Explanation:

You have entered a value for the <number>parameter with either an invalid length or an invalid indicator value.

User Response:

Check the specified value. The value must be >= 0, SQLDBC_NULL_DATA or SQLDBC_DEFAULT_PARAM.


Non-character and non-binary data for parameter (<number>) for piecewise insert not allowed

 Entering content frame

-10308: Non-character and non-binary data for parameter (<number>) for piecewise insert not allowed

Explanation:

Numeric data types cannot be processed piecewise. The bound parameter <number> does not have the character or binary data type, and so it cannot be processed piecewise.

User Action:

Enter the character or binary data type (SQLDBC_HostType) for the parameter that you want to process piecewise. Define a program variable for this.


-10310: Invalid column index (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10310: Invalid column index (<number>)

Explanation:

The index you entered for the database column is invalid.

User Action:

Enter a valid value for the index of the database column. You can only select columns that are included in the result set.


Attempt to concatenate to a NULL or DEFAULT value for parameter (<number>)

 Entering content frame

-10312: Attempt to concatenate to a NULL or DEFAULT value for parameter (<number>)

Explanation:

While data was being written piecewise, an attempt was made to assign further data to parameter <number>, which was already assigned the NULL value or the DEFAULT value.

User Action:

Do not assign any more data to a parameter to which you have already assigned the NULL or DEFAULT value.


-10313: Requested parameter (<number>) was already processed (SAP Library - MaxDB Library)

 Entering content frame

-10313: Requested parameter (<number>) was already processed

Explanation:

A parameter that was already processed cannot be assigned any more values. After SQLDBC_PreparedStatment::nextParameter has been called, no more values can be assigned to the previous parameter.

While data was being written piecewise, an attempt was made to assign further data to parameter <number>, which was already processed.

User Action:

Do not assign any more values to a parameter that has already been processed.


Invalid parameter processing sequence, process non-LONG data before parameter (<number>)

 Entering content frame

-10314: Invalid parameter processing sequence, process non-LONG data before parameter (<number>)

Explanation:

The parameter index transferred to the SQLDBC_PreparedStatement::nextParameter method can not be processed as the next parameter.

User Response:

· Change the order of processing for parameters.

· Process the parameters describing LONG columns after the parameters for other columns.


-10315: Invalid start position (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10315: Invalid start position (<number>)

Explanation:

An invalid position was transferred during positioned reading of data from a LONG value.

User Response:

Check the position specified.


DATA AT EXECUTE for parameter (<number>) not allowed (conflicts with use of LOB parameter)

 Entering content frame

-10316: DATA AT EXECUTE for parameter (<number>) not allowed (conflicts with use of LOB parameter)

Explanation:

One parameter was bound to DATA AT EXECUTE, but a different parameter is supplied for an SQLDBC_LOB structure.

User Response:

Do not use DATA AT EXECUTE and SQLDBC_LOB parameters at the same time.


LOB type for parameter (<number>) not allowed (conflicts with use of DATA AT EXECUTE parameter)

 Entering content frame

-10317: LOB type for parameter (<number>) not allowed (conflicts with use of DATA AT EXECUTE parameter)

Explanation:

One parameter was bound to an SQLDBC_LOBstructure, but a different parameter is bound to DATA AT EXECUTE.

User Response:

Do not use DATA AT EXECUTE and SQLDBC_LOB parameters at the same time.


-10318: Invalid LOB object (SAP Library - MaxDB Library)

 Entering content frame

-10318: Invalid LOB object

Explanation:

The following causes are possible:

· An invalid class reference was used to call the LOB method

· The SQLDBC_PreparedStatement that belongs to the LOB method no longer exists

· The SQLDBC_PreparedStatement that belongs to the LOB method has no LOB objects.

User Action:

Only use the LOB object method while the associated SQLDBC_PreparedStatment is valid.


-10319: Could not read/write LOB for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10319: Could not read/write LOB for parameter/column (<number>)

Explanation:

One of the following two errors occurred for parameter/column <number>:

· The SQLDBC_LOB::getVal method was used to try to read an LOB object, even though this object was only opened for write access (input parameter).

· The SQLDBC_LOB::putVal method was used to try to write an LOB object, even though this object was only opened for read access (output parameter).

User Action:

Only use the SQLDBC_LOB::getVal method for output parameters and the SQLDBC_LOB::putVal method for input parameters.


-10320: LOB already closed for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10320: LOB already closed for parameter/column (<number>)

Explanation:

The SQLDBC_LOB::putData or SQLDBC_LOB::getData method that was called could not be executed, because the LOB object belonging to parameter/column <number> was already closed using the SQLDBC_LOB::close method.

User Action:

To open the LOB object, execute the SQLDBC_PreparedStatement::execute method again.


LOB invalidated by a previous error for parameter/column (<number>)

 Entering content frame

-10321: LOB invalidated by a previous error for parameter/column (<number>)

Explanation:

The SQLDBC_LOB method that was called could not be executed, because the last attempt to call the method failed and, as a result, the LOB object for parameter/column <number> is invalid.

User Action:

Check the last attempt to call the method.


Could not insert LOB. Parameter/column (<number>) has a NULL/DEFAULT value

 Entering content frame

-10322: Could not insert LOB. Parameter/column (<number>) has a NULL/DEFAULT value

Explanation:

The SQLDBC_LOB::putData or SQLDBC_LOB::getData method that was called could not be executed, because the LOB object belonging to parameter/column <number> contains the NULL or DEFAULT value.

User Action:

With these methods, you cannot use an LOB object that contains the NULL or DEFAULT value.


Non-character and non-binary data for parameter/column (<number>) was tried to read piecewise

 Entering content frame

-10323: Non-character and non-binary data for parameter/column (<number>) was tried to read piecewise

Explanation:

There was an attempt to read a parameter or a column piecewise, but the parameter or column does not contain character or binary data.

User Response:

Only use piecewise reading for characters or binary data.


-10324: Stream with id (<number>) not found (SAP Library - MaxDB Library)

 Entering content frame

-10324: Stream with id (<number>) not found

Explanation:

The database procedure is referencing a liveCache stream that the application does not recognize.

User Response:

Check the database procedure.


Stream parameter (<number>) is not an input|output parameter

 Entering content frame

-10325: Stream parameter (<number>) is not an input|output parameter

Explanation:

The database procedure is referencing a liveCache stream as input but the application is treating the stream as output, or vice versa.

User Response:

Check the database procedure and/or the application.


-10326: No data found for stream (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10326: No data found for stream (<number>)

Explanation:

No data was transferred for a liveCache stream (output).

User Response:

Check the database procedure.


Invalid use of null pointer in stream parameter field of stream descriptor for parameter (<number>)

 Entering content frame

-10327: Invalid use of null pointer in stream parameter field of stream descriptor for parameter (<number>)

Explanation:

The description of the liveCache stream parameters includes a null pointer.

User Response:

Check the parameters supplied.


Mismatch of number of stream members for parameter (<number>) (application <count1>, database <count2>)

 Entering content frame

-10328: Mismatch of number of stream members for parameter (<number>) (application <count1>, database <count2>)

Explanation:

The description of the liveCache stream’s structure has a different number of elements in the database than in the application program.

User Response:

Check the database procedure and the application program for inconsistencies or a conflict of versions.


-10329: Invalid serial value requested, must be first or last va (SAP Library - MaxDB Library)

 Entering content frame

-10329: Invalid serial value requested, must be first or last value

Explanation:

The SQLDBC_Statement::getLastInsertedKey was set with the wrong parameters.

User Response:

Check the call in the application program.


-10330: Multiple stream output sequence error (SAP Library - MaxDB Library)

 Entering content frame

-10330: Multiple stream output sequence error

Explanation:

A log error was discovered while processing the liveCache stream (output).

User Response:

Contact Support.


Input stream callback buffer overflow for table id (<number>) , allowed <count1> bytes, written <count2> bytes

 Entering content frame

-10331: Input stream callback buffer overflow for table id (<number>) , allowed <count1> bytes, written <count2> bytes

Explanation:

After a callback procedure was called to process the liveCache stream (input), a memory overwrite (buffer overflow) was discovered.

User Response:

Check the callback procedure.


No callback function supplied for stream parameter (<number>)

 Entering content frame

-10332: No callback function supplied for stream parameter (<number>)

Explanation:

No callback function was supplied for a liveCache stream.

User Response:

Check the parameters supplied.


Conversion looses significant digits for parameter/column (<number>)

 Entering content frame

-10400: Conversion looses significant digits for parameter/column (<number>)

Explanation:

The numeric (floatingpoint or fixed) value for parameter/column <number> could not be read or inserted, because the length of the parameter or column is too small.

User Action:

Perform one of the following actions:

· Increase the host variable length that is bound to the parameter using the SQLDBC_PreparedStatement::bindParameter method or to the column using the SQLDBC_ResultSet::bindColumn method

· Choose another data type for the host variable

· Adapt your SQL statement

· Adapt your table definition.


Conversion of parameter/column (<number>) would truncate data

 Entering content frame

-10401: Conversion of parameter/column (<number>) would truncate data

Explanation:

The data (character or binary) for parameter/column <number> could not be read or inserted, because the length of the parameter or column is too small.

User Action:

Perform one of the following actions:

· Increase the host variable length that is bound to the parameter using the SQLDBC_PreparedStatement::bindParameter method or to the column using the SQLDBC_ResultSet::bindColumn method

· Alter the SQL statement

· Alter the table definition.


-10404: Conversion not supported for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10404: Conversion not supported for parameter/column (<number>)

Explanation:

The value for parameter/column <number> could not be read or inserted, because conversion is not supported for the required data type format.

User Action:

Check whether the conversion you require is permitted for the installed version of the SQLDBC interface.

If this conversion is permitted, change the data type of the host variables or of the parameter/column in one of the data types contained in the conversion matrix.


-10405: Cannot convert UCS2 data to ASCII (SAP Library - MaxDB Library)

 Entering content frame

-10405: Cannot convert UCS2 data to ASCII

Explanation:

The UNICODE value (UCS2) of the parameter/column could not be read or inserted, because the value contains characters that cannot be displayed in ASCII.

User Action:

Only enter UNICODE values (UCS2) that are part of the 7-bit ASCII character set.


Invalid data length for UCS2 data for parameter/column (<number>)

 Entering content frame

-10406: Invalid data length for UCS2 data for parameter/column (<number>)

Explanation:

The UNICODE value (UCS2) of parameter/column <number> could not be read or inserted, because the number of characters is uneven. UNICODE values (UCS2) can only be converted to ASCII if the number of characters to be converted is even.

User Action:

· Check the number entered for the LengthIndicator argument for the SQLDBC_PreparedStatement::bindParameter method.

· Make sure that the concluding 0-byte in the character set is not counted.


-10407: Corrupted UTF8 data for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10407: Corrupted UTF8 data for parameter/column (<number>)

Explanation:

The UNICODE value (UTF8) of the parameter/column could not be read or inserted, because the value contains characters that cannot be displayed in ASCII.

User Action:

Only enter UNICODE values (UTF8) that are part of the 7-bit ASCII character set.


-10408: Character conversion failed (SAP Library - MaxDB Library)

 Entering content frame

-10408: Character conversion failed

Explanation:

The LOB data that was transferred could not be converted, because the data contains invalid characters, or it does not match the data format of the column. UNICODE data (UCS2 and UTF8) can only be inserted in UNICODE database instances.

User Action:

· Check whether the database instance supports the specified data format.

· Check whether the special database parameter _UNICODE has the value YES.


Date/time format is not supported for parameter/column (<number>)

 Entering content frame

-10410: Date/time format is not supported for parameter/column (<number>)

Explanation:

The SQLDBC interface does not support the date or time format configured for parameter/column <number>.

User Action:

Use a valid date or time format for the data type of the parameter or host variables.

See also:

Reference Manual, datetimeformat


-10411: Illegal DATE value for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10411: Illegal DATE value for parameter/column (<number>)

Explanation:

The value for parameter/column <number> could not be read or inserted, because the date value is invalid.

User Action:

Enter a valid date value.

See also:

Reference Manual, datetimeformat


-10412: Illegal TIME value for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10412: Illegal TIME value for parameter/column (<number>)

Explanation:

The value for parameter/column <number> could not be read or inserted, because the time value is invalid.

User Action:

Enter a valid time value.

See also:

Reference Manual, datetimeformat


-10413: Illegal TIMESTAMP value for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10413: Illegal TIMESTAMP value for parameter/column (<number>)

Explanation:

The value for parameter/column <number> could not be read or inserted, because the timestamp value is invalid.

User Action:

Enter a valid timestamp value.

See also:

Reference Manual, TIMESTAMP (Timestamp Value)


Conversion from binary value to string is not supported for parameter/column (<number>)

 Entering content frame

-10414: Conversion from binary value to string is not supported for parameter/column (<number>)

Explanation:

A BYTE parameter was supplied for an ASCII/UNICODE variable, or a CHAR ASCII/CHAR UNICODE parameter was supplied for a binary variable.

User Response:

Check the parameters supplied.


-10500: Result set is closed (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10500: Result set is closed

Explanation:

The method that was called could not be executed, because there is no result set or because the result set was closed using the SQLDBC_ResultSet::close method.

User Action:

Only call the following methods if a result set exists:

absolute
bindColumn
clearColumns
close
first
GetResultSetMetaData
getRowSet
getUpdatableRowSet
last
next
relative
setFetchSize
setRowSetSize


-10501: Invalid position in result set: before first row (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10501: Invalid position in result set: before first row

Explanation:

The method that was called could not be executed, because the current cursor position of the result set is before the first row of the result set.

User Action:

Position the cursor within the result set using one of the following SQLDBC_ResultSet methods (first, last, next, relative, absolute) or the SQLDBC_RowSet::setPos method.


-10502: Invalid position in result set: after last row (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10502: Invalid position in result set: after last row

Explanation:

The method that was called could not be executed, because the current cursor position of the result set is after the last row of the result set.

User Action:

Position the cursor within the result set using one of the following SQLDBC_ResultSet methods (first, last, next, relative, absolute) or the SQLDBC_RowSet::setPos method.


-10503: The operation is not allowed for result set type FORWARD (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10503: The operation is not allowed for result set type FORWARD_ONLY

Explanation:

The method that was called cannot be executed, because the result table type is FORWARD_ONLY. Position specifications for result tables are only permitted for result tables whose type is SCROLL_SENSITIVE or SCROLL_INSENSITIVE.

User Action:

Use the SQLDBC_PreparedStatement::setResultSetType method to change the result table type to SCROLL_SENSITIVE or SCROLL_INSENSITIVE.


-10504: Invalid position (<row_number>) for row set (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10504: Invalid position (<row_number>) for row set

Explanation:

The method that was called could not be executed, because the specified position <row_number> does not lie within SQLDBC_RowsSet.

User Action:

Only enter values in the SQLDBC_RowSet::setPos method if they meet the following conditions:

· > 0

· < RowSetSize of the result set


-10505: Result set type is UPDATABLE but row set type is READ_ON (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10505: Result set type is UPDATABLE but row set type is READ_ONLY

Explanation:

A RowSet could not be generated, because the corresponding SQL statement or the result set type does not allow updates (modifications).

User Action:

Modifiable result sets can only be generated using special SELECT statements.

The following options are available:

· Alter the SQL statement

· Set the result set type to CONCUR_UPDATABLEusing the SQLDBC_Statement::ConcurrencyType or SQLDBC_PreparedStatement::ConcurrencyType method.


-10506: Result set type is READ_ONLY but row set type is UPDATAB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10506: Result set type is READ_ONLY but row set type is UPDATABLE

Explanation:

A RowSet could not be generated, because while the corresponding SQL statement allows updates (modifications), the result set type does not.

User Action:

Result sets that cannot be modified can only be generated using special SELECT statements.

The following options are available:

· Alter the SQL statement

· Set the result set type to CONCUR_READONLY using the SQLDBC_Statement::ConcurrencyType or SQLDBC_PreparedStatement::ConcurrencyType method. This generates a read-only result set.


-10507: Internal error: No metadata available for row set operat (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10507: Internal error: No metadata available for row set operation

Explanation:

An internal error has occurred. As a result of this error, no information is available for the structure of the result set that should be opened for UPDATE operations.

User Action:

Simplify your SQL statement.


Invalid encoding of column name for column (<number>) for row set operation

 Entering content frame

Background documentation -10508: Invalid encoding of column name for column (<number>) for row set operation

Explanation:

The method that was called cannot be executed, because the column name contains UNICODE characters and 7-bit ASCII was defined for the SQL statement.

User Action:

Set the character set (Encoding) for the SQL statement in the SQLDBC_Statement::execute or SQLDBC_PreparedStatement::prepare method to SQLDBC_StringEncodingType_Encoding_UCS2 or SQLDBC_StringEncodingType_Encoding_UTF8 and execute the method again.


The statement was not executed with updatable cursor concurrency

 Entering content frame

Background documentation -10509: The statement was not executed with updatable cursor concurrency

Explanation:

It was not possible to execute the method (insertOneRow, updateRow or deleteRow) that was called from SQLDBC_UpdatableRowSet, because the result set was not modifiable.

User Action:

Modifiable result sets can only be generated using special SELECT statements.

The following options are available:

· Alter the SQL statement

· Set the result set type to CONCUR_UPDATABLE using the SQLDBC_Statement::ConcurrencyType or SQLDBC_PreparedStatement::ConcurrencyType method.


-10601: SQL command is the empty string (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10601: SQL command is the empty string

Explanation:

The SQLDBC_Statement::execute or SQLDBC_PreparedStatement::prepare method that was called could not be executed, because no SQL statement was entered, or because 0 was specified as the length.

User Action:

The following options are available:

· Transfer the SQL statement as a character set in the sql parameter of the SQLDBC_Statement::execute or SQLDBC_PreparedStatement::prepare method.

· Set the correct length in the sqlLength parameter.

· If you are using UNICODE data, configure the correct character set (Encoding) for the SQL statement.


-10602: SQL command contains UNICODE character (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10602: SQL command contains UNICODE character

Explanation:

The SQLDBC_Statement::execute or SQLDBC_PreparedStatement::prepare method that was called could not be executed, because the SQL statement contains UNICODE characters and the database instance was not configured for UNICODE characters.

User Action:

Only use 7-bit ASCII SQL statements for ASCII database instances.


-10603: SQL command would generate a result set (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10603: SQL command would generate a result set

Explanation:

The SQLDBC_Statement::addBatch or SQLDBC_Statement::executeBatch method that was called could not be executed, because the SQL statements that were transferred would have generated a result set.

User Action:

Do not use any SQL statements that would generate a result set (SELECT or database procedure) for these methods.


-10604: SQL command contains output parameters (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10604: SQL command contains output parameters

Explanation:

The SQL statement that was transferred could not be executed, because it contains output parameters.

User Action:

You cannot process output parameters using SQLDBC_Statement class methods.

Use SQLDBC_PreparedStatement objects for SQL statements with output parameters (SELECT INTO or database procedure).


Illegal schema modification, parameters/columns have changed type/number incompatibly

 Entering content frame

Background documentation -10605: Illegal schema modification, parameters/columns have changed type/number incompatibly

Explanation:

The method cannot be executed, because the SQL statement was parsed and now the table definition is incompatible. After the SQL statement was parsed, the table definition was probably changed by another application with a DDL statement.

User Action:

Parse the SQL statement again. If necessary, bind the parameter again.


-10706: Statement too long (SAP Library - MaxDB Library)

 Entering content frame

-10706: Statement too long

Explanation:

The SQL statement that you entered is too long.

User Action:

· Shorten the SQL statement.

· Check the value of the _PACKET_SIZE database parameter and increase it if necessary.

See also:

Glossary, SQLDBC


-10709: Connection failed (<description>) (SAP Library - MaxDB Library)

 Entering content frame

-10709: Connection failed (<description>)

Explanation:

Connection to the database instance failed.

<description> contains the internal error message.

User Action:

· Check whether you entered the right connection data (name of the database instance, name of the computer).

· Check whether the database instance is ONLINE.

· If you want to establish a connection to a database instance on another computer, check whether the X server is running on the other computer.

See also:

Glossary, SQLDBC


Missing user name for connection | Missing password for connection

 Entering content frame

-10715: Missing user name for connection | Missing password for connection

Explanation:

An attempt was made to connect to the database using the SQLDBC_Connection::connect method.

One of the following problems arose:

· You did not specify a database user.

· You did not specify a password for the database user.

User Action:

Enter the database user or the corresponding password in the properties of the SQLDBC_Connection::connect method.

· If you want to establish the connection using the KEY property, use the XUSER list command to check whether an XUSER entry exists for this database user or whether the XUSER entry contains the database user's password.

· If you want to establish the connection using the KEY=SQLOPT property, check whether the -u <database_user>,<database_user_password> option was set in the SQLOPT environment variables.

See also:

Glossary, SQLDBC


-10757: XUSER error (<description>) (SAP Library - MaxDB Library)

 Entering content frame

-10757: XUSER error (<description>)

Explanation:

You entered the KEY property for the CONNECT method. An error occurred while the related XUSER entry was being detected.

User Response

Use the XUSER list command to ensure that the XUSER entry you specified for the KEY property really exists. If the XUSER entry does not exist, create it using the XUSER set command (see Creating or Changing XUSER Entries).

See also:

Glossary, SQLDBC


-10802: Invalid numeric value for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10802: Invalid numeric value for parameter/column (<number>)

Explanation:

The numeric value of the parameter/column could not be read or inserted, because the numeric value is invalid.

User Action:

Check whether the parameter/column contains a valid value.

The following rules apply for floatingpointvalues:

· The values must be IEEE-compliant.

· NaN values (NaN=Not a Number) are not permitted.


-10803: Allocation of shared memory failed (<description>) (SAP Library - MaxDB Library)

 Entering content frame

-10803: Allocation of shared memory failed (<description>)

Explanation:

The database system could not create shared memory, or access to the shared memory was denied. This error can occur if operating system permissions were assigned incorrectly.

<description> provides more information about the error.

User Response

· If you are using UNIX or Linux, check whether the $HOME/.sdb directory exists and whether the user who is logged on to the operating system has access to this directory (see Concepts of the Database System, Special Operating System Users and User Groups (UNIX/Linux).

· If a file is specified in <description>, check whether this file exists and whether the user who is logged on to the operating system has read and write privileges for this file.

· If memory size is specified in <description>, check whether there is enough free space on the hard drive.

See also:

Glossary, SQLDBC


-10807: Connection down: [<description>] (SAP Library - MaxDB Library)

 Entering content frame

-10807: Connection down: [<description>]

Explanation:

The connection to the database instance was terminated. This error can occur if, for example, the database instance was shut down, or if there are network problems.

<description>provides the internal error number and further information about the error.

User Action:

· Check the connection data.

· Check whether the database instance is ONLINE. If it is online, log on to the database instance again using the SQLDBC_Connection::connect method.

See also:

Glossary, SQLDBC


Feature <feature> not implemented yet in module: <module> line: <line_number>

 Entering content frame

-10808: Feature <feature> not implemented yet in module: <module> line: <line_number>

Explanation:

The <feature> feature has not yet been implemented in the <module> module, row <line_number>.

User Action:

Install the most up-to-date version of the software.

See also:

Glossary, SQLDBC


-10810: Session already in use (SAP Library - MaxDB Library)

 Entering content frame

-10810: Session already in use

Explanation:

An SQL statement is already being executed in this thread for this database session.

User Response:

Avoid calling SQLDBC methods from signal handlers, unless you are certain that no SQL statements will be executed in the application program when the signal is triggered.


-10811: Numeric overflow for parameter/column (<number>) (SAP Library - MaxDB Library)

 Entering content frame

-10811: Numeric overflow for parameter/column (<number>)

Explanation:

The numeric value of parameter/column <number> could not be read or inserted, because it is too large.

User Action:

Perform one of the following actions:

· Alter the host variable data type that is bound to the parameter using the SQLDBC_PreparedStatement::bindParameter method or to the column using the SQLDBC_ResultSet::bindColumn method

· Alter the SQL statement

· Alter the table definition.


-10821: Session not connected (SAP Library - MaxDB Library)

 Entering content frame

-10821: Session not connected

Explanation:

The is no connection to the database instance. The connection to the database instance was terminated.

User Action:

Log on to the database instance again using the CONNECT method.

See also:

Glossary, SQLDBC


-10856: Invalid row array size 0 (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10856: Invalid row array size 0

Explanation:

The SQLDBC_PrepareStatement::setRowArraySize method that was called could not be executed, because 0 was entered as the size of the input array.

Measurement commands that have parameters must always be bound to parameter arrays. All bound parameter arrays must have the same dimension and be above 0.

User Action:

Define your parameters as arrays, and set the dimension of these arrays as RowArraySize.


-10857: Missing database name for connection (SAP Library - MaxDB Library)

 Entering content frame

-10857: Missing database name for connection

Explanation:

An attempt was made to connect to the database using the SQLDBC_Connection::connect method, but no name was specified for the database instance.

User Action:

Enter the name of the database instance in the properties of the SQLDBC_Connection::connect method:

· If you want to establish the connection using the KEY property, use the XUSER list command to check whether an XUSER entry exists for the database instance.

· If you want to establish the connection using the KEY=SQLOPT property, check whether the -d <database_name>option was set in the SQLOPT environment variables.

See also:

Glossary, SQLDBC


Invalid use of null pointer for stream handle in parameter (<number>)

 Entering content frame

-10861: Invalid use of null pointer for stream handle in parameter (<number>)

Explanation:

A null pointer was input when binding a structure for a liveCache stream parameter.

User Response:

Check the specified value in the application program.


-10862: Stream parameter (<number>) error in read|write procedur (SAP Library - MaxDB Library)

 Entering content frame

-10862: Stream parameter (<number>) error in read|write procedure

Explanation:

An error was reported when calling the callback procedure when processing a liveCache stream.

User Response:

Check the callback procedure.


-10899: Unknown error (SAP Library - MaxDB Library)

 Entering content frame

-10899: Unknown error

Explanation:

The error could not be assigned to a message. This error can occur if you are using a beta version of the software, or if inconsistencies have arisen between internal data structures.

User Action:

Please inform Support.


-10901: No space left in request packet (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10901: No space left in request packet

Explanation:

The method that was called failed, because the buffer for the connection to the database instance is too small to execute the SQL statement.

The SQL statement is probably too long or too complicated, or additional functions such as the SQLDBC_Prepared_Statement::setCommandInfo method were used.

User Action:

The following options are available:

· Use the _PACKET_SIZE database parameter to increase the buffer size.

· Shorten the SQL statement.

· Use less parameters/columns in the SQL statement.

See also:

Database System Concepts, Database Parameters


-10902: Invalid request packet structure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10902: Invalid request packet structure

Explanation:

The internal structure of the buffer for connecting the client to the database instance is inconsistent.

User Action:

Check the knldiag log file for more information about the error.

See also:

Database System Concepts, Log files


-10903: Internal Error: LONGDATA part expected (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10903: Internal Error: LONGDATA part expected

Explanation:

The method that was called failed during the transfer of LONG values, because the database kernel did not provide the necessary data, or the internal structure of the buffer for the connection to the database instance is inconsistent.

User Action:

Check the knldiag log file for more information about the error.

See also:

Database System Concepts, Log files


-10904: Internal error: Expected result count (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10904: Internal error: Expected result count

Explanation:

The method that was called failed during the transfer of results, because the database kernel did not provide the necessary data, or the internal structure of the buffer for the connection to the database instance is inconsistent.

User Action:

Check the knldiag log file for more information about the error.

See also:

Database System Concepts, Log files


-10905: Invalid reply packet structure (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10905: Invalid reply packet structure

Explanation:

The internal structure of the buffer for connecting the database instance to the client is inconsistent.

User Action:

Check the knldiag log file for more information about the error.

See also:

Database System Concepts, Log files


-10906: Internal Error: Entry for valindex (<number>) not found (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10906: Internal Error: Entry for valindex (<number>) not found

Explanation:

The method that was called failed during the transfer of LONG values, because the internal structure of the LONG column <number> is inconsistent.

User Action:

Check the knldiag log file for more information about the error.

See also:

Database System Concepts, Log files


-10907: Internal Error: Long descriptor has error flag set (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -10907: Internal Error: Long descriptor has error flag set

Explanation:

The method that was called failed during the transfer of LONG values, because the database kernel reported an error.

User Action:

Check the knldiag log file for more information about the error.

See also:

Database System Concepts, Log files


From -11000 to -11099 (SAP Library - MaxDB Library)

 Entering content frame

From -11000 to -11099

Perl Interface Messages

-11000 to -11099

Perl DBD messages


From -11100 to -11199 (SAP Library - MaxDB Library)

 Entering content frame

From -11100 to -11199

PHP Interface Messages

-11100 to -11199

PHP Interface Messages


From -22000 to -22999 (SAP Library - MaxDB Library)

 Entering content frame

From -22000 to -22999

Error messages of the ODBC program

-22000 | Null values not allowed on more than one long column
-22005 | Connection timeout occured. Session reconnected


-22000: Null values not allowed on more than one long column (SAP Library - MaxDB Library)

 Entering content frame

-22000: Null values not allowed on more than one long column

Explanation:

In an INSERT or UPDATE statement, at most one LONG column may contain a NULL value if LONG columns are inserted using SQLParamData and SQLPutData.

User Action:

Only include one LONG column in the statement, or use empty strings instead of NULL values.


-22005: Connection timeout occurred. Session reconnected (SAP Library - MaxDB Library)

 Entering content frame

-22005: Connection timeout occurred. Session reconnected

Explanation:

The user's transaction was canceled and reset by a ROLLBACK statement. The database session was terminated because the user failed to carry out any operations during a certain period of time (special database parameter SESSION_TIMEOUT, or the timeout value specified in the CONNECT statement).

The ODBC driver recognizes the timeout in this type of instance and automatically logs the user back on to the database instance using the original parameters (user name, password, database name, server host, etc.). Each statement from the relevant session signals this with return code SQL_SUCCESS_WITH_INFO and message -22005.

User Action:

Every statement that has a result set (CURSOR) must be executed again in order to ensure that the result sets are built up again. If the connection is set to SQL_AUTOCOMMIT_OFF, all the other statements that were in an open transaction must also be executed again.


From -23000 to -23999 (SAP Library - MaxDB Library)

 Entering content frame

From -23000 to -23999

Error Messages of the SQL Studio Program

-23050 | Unknown error
-23051 | Could not load system tables for SQL Studio
-23052 | Could not save object data
-23053 | Cannot load suppose list
-23054 | Maximum numbers of windows reached
-23055 | Connection failed
-23056 | User is exclusive
-23057 | Reconnect failed
-23058 | No database connection
-23059 | You do not have the permission to modify this object
-23060 | You do not have the permission to delete this object
-23061 | Cannot analyze error
-23062 | Could not open connection
-23063 | Could not create Global Com Object
-23064 | Import failed
-23070 | Cannot open object created by newer SQL Studio Version
-23071 | Convert object created by older SQL Studio Version
-23072 | Representation of null value too long
-23100 | OLE Error Please restart SQL Studio
-23101 | Data in clipboard truncated
-23102 | Failed to create DBC Pool
-23103 | Failed to create DBC Handle
-23104 | Could not load table definition
-23200 | No data sources
-23201 | No ODBC driver
-23202 | Could not load object description
-23203 | Cannot show tables of users, wrong database version


-23050: Unknown error (SAP Library - MaxDB Library)

 Entering content frame

-23050: Unknown error

Explanation:

An unknown error has occurred.

User Action:

Contact Support.


-23051: Could not load system tables for SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

-23051: Could not load system tables for SQL Studio

Explanation:

The database instance does not contain the system tables needed for SQL Studio.

User Action:

Load the system tables with Database Manager.

If you receive the same error message again, contact Support.


-23052: Could not save object data (SAP Library - MaxDB Library)

 Entering content frame

-23052: Could not save object data

Explanation:

An SQL Studio object could not be saved.

User Action:

Load the system tables with Database Manager.

If you receive the same error message again, contact Support.


-23053: Cannot load suppose list (SAP Library - MaxDB Library)

 Entering content frame

-23053: Cannot load suppose list

Explanation:

SQL support could not be loaded.

User Action:

Load the system tables with Database Manager.

If you receive the same error message again, contact Support.


-23054: Maximum numbers of windows reached (SAP Library - MaxDB Library)

 Entering content frame

-23054: Maximum numbers of windows reached

Explanation:

The maximum number of windows have been opened.

User Action:

Close some windows.


-23055: Connection failed (SAP Library - MaxDB Library)

 Entering content frame

-23055: Connection failed

Explanation:

You were unable to connect to the database instance.

User Action:

Check the state of the database instance with the Database Manager.


-23056: User is exclusive (SAP Library - MaxDB Library)

 Entering content frame

-23056: User is exclusive

Explanation:

An attempt has been made to connect to the database instance several times using an exclusive user.

User Action:

If the user really needs to connect to the database more than once, use the SQL Studio to change the user to a not-exclusive user.


-23057: Reconnect failed (SAP Library - MaxDB Library)

 Entering content frame

-23057: Reconnect failed

Explanation:

An attempt to restore an interrupted connection to the database instance has failed.

User Action:

Check the state of the database instance with the Database Manager.

End the database session and log on to the database instance again.


-23058: No database connection (SAP Library - MaxDB Library)

 Entering content frame

-23058: No database connection

Explanation:

The connection to the database instance has been broken.

User Action:

Check the state of the database instance with the Database Manager.

End the database session and log on to the database instance again.


-23059: You do not have the permission to modify this object (SAP Library - MaxDB Library)

 Entering content frame

-23059: You do not have the permission to modify this object

Explanation:

You cannot modify an object from the SQL Studio that has been released by someone else.

User Action:

Contact the owner of the object.


-23060: You do not have the permission to delete this object (SAP Library - MaxDB Library)

 Entering content frame

-23060: You do not have the permission to delete this object

Explanation:

You cannot delete an object from the SQL Studio that has been released by someone else.

User Action:

Contact the owner of the object.


-23061: Cannot analyze error (SAP Library - MaxDB Library)

 Entering content frame

-23061: Cannot analyze error

Explanation:

An ODBC error has occurred that could not be analyzed.

User Action:

Check which version of the ODBC driver you are using and install a more recent version if necessary.


-23062: Could not open connection (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23062: Could not open connection

Explanation:

An attempt to connect to the database instance has failed.

User Action:

Check the state of the database instance with the Database Manager.

End the SQL Studio session and connect to the database again.


-23063: Could not create Global Com Object (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23063: Could not create Global Com Object

Explanation:

An SQL Studio object could not be created.

User Action:

Exit the SQL Studio.

Check whether the system has enough memory.

Restart the SQL Studio.


-23064: Import failed (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23064: Import failed

Explanation:

Could not load exported SQL Studio objects.

User Action:

Contact Support.


-23070: Cannot open object created by newer SQL Studio Version (SAP Library - MaxDB Library)

 Entering content frame

-23070: Cannot open object created by newer SQL Studio Version

Explanation:

You attempted to open an SQL Studio object that was created with a newer version of the software.

User Action:

You can only modify this object using a newer version of the software. Install the most up-to-date version of the SQL Studio.


-23071: Convert object created by older SQL Studio Version (SAP Library - MaxDB Library)

 Entering content frame

-23071: Convert object created by older SQL Studio Version

Explanation:

You can convert the object from the SQL Studio into the format of a newer program version.

User Action:

Choose Yes if you want to convert the object. Saving the object gives it the same format as the newer version of the SQL Studio. Once the object has been converted, you can no longer process it with an older version.

Choose No if you do not want to convert the object.


-23072: Representation of null value too long (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23072: Representation of null value too long

Explanation:

The NULL value display contains more than 16 characters.

User Action:

Choose a NULL value display with less than 16 characters.


-23100: OLE Error! Please restart SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

-23100: OLE Error! Please restart SQL Studio

Explanation:

An automation error occurred in the Windows operating system during an OLE operation.

User Action:

End and restart SQL Studio.


-23101: Data in clipboard truncated (SAP Library - MaxDB Library)

 Entering content frame

-23101: Data in clipboard truncated

Explanation:

When the contents of a LONG column are exported to the clipboard, a maximum of 1048576 bytes are transferred. If there is more data than this in the results, it will be ignored.

User Action:

You can export all the contents of a LONG column that exceeds 1048576 bytes to a file.


-23102: Failed to create DBC Pool (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23102: Failed to create DBC Pool

Explanation:

Could not create a database connection pool.

User Action:

Contact Support.


-23103: Failed to create DBC Handle (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23103: Failed to create DBC Handle

Explanation:

Could not create a database connection pool.

User Action:

Contact Support.


-23104: Could not load table definition (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23104: Could not load table definition

Explanation:

The definition of a table could not be loaded.

User Action:

Contact Support.


-23200: No data sources (SAP Library - MaxDB Library)

 Entering content frame

-23200: No data sources

Explanation:

No ODBC data sources have been installed on the operating system with the database’s ODBC driver.

User Action:

Install a data source with the ODBC administrator.


-23201: No ODBC driver (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23201: No ODBC driver

Explanation:

There is no ODBC driver (sqlod32.dll, sqlsp32.dll) in the SQL Studio directory.

User Action:

Uninstall SQL Studio and reinstall it again.

If you receive the same error message again, contact Support.


-23202: Could not load object description (SAP Library - MaxDB Library)

 Entering content frame

Background documentation -23202: Could not load object description

Explanation:

The SQL Studio objects could not be loaded.

User Action:

Load the system tables with Database Manager.

If you receive the same error message again, contact Support.


-23203: Cannot show tables of users, wrong database version! (SAP Library - MaxDB Library)

 Entering content frame

-23203: Cannot show tables of users, wrong database version!

Explanation:

The system table DOMAIN.TABLES does not contain all the columns required to display the tables in the catalog tree structure.

User Action:

Use a newer version of SQL Studio.


From -24000 to -24999 (SAP Library - MaxDB Library)

 Entering content frame

From -24000 to -24999

Error Messages of the Database Manager Program

-24905 | ERR_NOEBIDLIST: no information on external backup IDs available
-24906 | ERR_EBFDIRTY: invalid format of external backup history
-24907 | ERR_DBAWRONG - wrong SYSDBA
-24909 | ERR_DBAUNKNOWN - DOMAIN password unknown
-24910 | ERR_PARAMVER - wrong version of param help file (cserv.pcf) <version>
-24911 | ERR_INVDBNAME - database name <dbname> is reserved
-24912 | ERR_WRONGINST - DBM Server instroot is <instroot>
-24913 | ERR_SERVICEDB - cannot register service kernel for <instroot>
-24914 | ERR_KEYEXISTS - installation key <key> exists
-24915 | ERR_NOADDD - configuration update not allowed (param file is inactive)
-24916 | ERR_MAXVOLCNT - max volume count exceeded
-24917 | ERR_MAXDATA - max data size exceeded
-24918 | ERR_MISSMIRR - missing data for mirror devspace
-24919 | ERR_CLEANUP: cannot free all operational resources after backup operation
-24920 | ERR_BACKUPOP: backup operation was unsuccessful
-24921 | ERR_POSTOP: error while finishing backup operation
-24922 | ERR_OPCHK: cannot check state of backup operation
-24923 | ERR_TOOLREQ: error while starting external backup tool
-24924 | ERR_DBREQ: cannot start database kernel request
-24925 | ERR_PREPARE: preparation of backup operation failed
-24926 | ERR_MEDIUMCHK: medium cannot be used with this external backup tool
-24927 | ERR_TOOLCHK: external backup tool not found
-24928 | ERR_NOREPLY - no reply available
-24929 | ERR_USRFRM - invalid user record format
-24930 | ERR_XPVALUESET - parameter value not in valueset
-24931 | ERR_XPMAX - parameter value higher than maximum allowed
-24932 | ERR_XPMIN - parameter value smaller than minimum allowed
-24933 | ERR_NOSERVICESESSION - no service kernel session available
-24934 | ERR_VERSION - incompatible versions (param and kernel)
-24935 | ERR_NOUSERS - no users found
-24936 | ERR_DBNORUN - database is not running
-24937 | ERR_MISSRIGHT - no server rights for this command
-24938 | ERR_NOENTRY - no entry found
-24939 | ERR_LASTREG - cannot delete last registration of instance
-24940 | ERR_NEEDSYSLOGON - system logon required
-24941 | ERR_NEEDLOGON - DBM server logon required
-24942 | ERR_USRDELSDBA - cannot delete sysdba
-24943 | ERR_USRDELDBM - cannot delete DBM user
-24944 | ERR_USRDELSELF - cannot delete current user
-24945 | ERR_TOFEWPARAM - too few parameters
-24946 | ERR_TOMANYPARAM - too many parameters
-24947 | ERR_DBNAME - do not use dbname
-24948 | ERR_NODBNAME - database name required
-24949 | ERR_USREXISTS - user entry already exists
-24950 | ERR_USRFAIL - user authorization failed
-24951 | ERR_USRREAD - could not read user data
-24952 | ERR_USRSAVE - could not save user data
-24953 | ERR_DBEXIST - database instance already exists
-24954 | ERR_BANOAUTOMED - no autolog medium found in media list
-24955 | ERR_BANOSAVETYPE - backup type not defined
-24956 | ERR_BASAVETYPECON – backup type conflicts with media definition
-24957 | ERR_NOUSER – required user not set
-24958 | ERR_BAOVERWRITE - file already exists, cannot overwrite
-24959 | ERR_XPOVERFLOW - value out of margin
-24960 | ERR_DBRUN – database is running
-24961 | ERR_STATE – cannot determine current db state
-24962 | ERR_VOLTYPE - wrong volume type
-24963 | ERR_VOLCHECK - error while checking volume
-24964 | ERR_EXECUTE – error in program execution
-24965 | ERR_SYSLOGON – logon to system failed
-24966 | ERR_LOGON – logon to DBM Server failed
-24967 | ERR_SYSTEM – system call error
-24968 | ERR_XPREADONLY – parameter is read only
-24969 | ERR_XPDIRTY – param file is dirty
-24970 | ERR_XPNOMODIFY –parameter must not be modified
-24971 | ERR_XPNOCHECK - no running parameter check
-24972 | ERR_XPINVCONF – invalid value
-24973 | ERR_XPCHECK – param check failure/request
-24974 | ERR_XPSESSION – param session active
-24975 | ERR_NOXPSESSION – param session inactive
-24976 | ERR_PARAMEXIST – param file of database already exists
-24977 | ERR_COMMAND - unknown command <command>
-24978 | ERR_XPSYNTAX – xparam syntax error
-24979 | ERR_XPNOTFOUND – parameter not found
-24980 | ERR_NOHELP - xparam help file not found
-24981 | ERR_HIENTRYNOTFOUND – backup history entry not found
-24982 | ERR_ERR_NOHISTORY - backup history file not found
-24983 | ERR_BANOVALIDTYPE - invalid backup type
-24984 | ERR_MENOVALID - invalid medium definition
-24985 | ERR_MENOTFOUND – medium not found
-24986 | ERR_NOMEDIA - media file not found
-24987 | ERR_TOSMALL – packet size too small for answer
-24988 | ERR_SQL – SQL error
-24989 | ERR_NOHISTORYSESSION – no backup history session available
-24990 | ERR_ NOBACKUPSESSION – no backup session available
-24993 | ERR_RTEEXT – runtime environment error
-24994 | ERR_RTE – runtime environment error
-24995 | ERR_MEM – memory allocation error
-24996 | ERR_PARAM – wrong parameters
-24997 | ERR_FILE – file handling error
-24998 | ERR_NOTIMPL – sorry, command not yet implemented
-24999 | ERR – common error


-24905: ERR_NOEBIDLIST: no information on external backup IDs av (SAP Library - MaxDB Library)

 Entering content frame

-24905: ERR_NOEBIDLIST: no information on external backup IDs available

Explanation:

No information on external backup IDs is available, since this information was not requested from an external backup tool.

User Action:

Execute the backup_ext_ids_get DBM command to fetch the external backup IDs.


-24906: ERR_EBFDIRTY: invalid format of external backup history (SAP Library - MaxDB Library)

 Entering content frame

-24906: ERR_EBFDIRTY: invalid format of external backup history

Explanation:

The External Backup History file is not in the expected format.

User Action:

Depending on whether you require the information in this file or not, either contact Support or create a backup copy of this file and replace it with an empty file with the same name.


-24907: ERR_DBAWRONG - wrong SYSDBA (SAP Library - MaxDB Library)

 Entering content frame

-24907: ERR_DBAWRONG - wrong SYSDBA

Explanation:

The user defined as SYSDBA (database system administrator) in the DBM server does not have the required rights.

User Action:

Specify the correct database system administrator.


-24909: ERR_DBAUNKNOWN - SYSDBA unknown (SAP Library - MaxDB Library)

 Entering content frame

-24909: ERR_DBAUNKNOWN - SYSDBA unknown

Explanation:

The SYSDBA (database system administrator) required to load the system tables is not known to the DBM server.

User Action:

Specify the database system administrator.


ERR_PARAMVER - wrong version of param help file (cserv.pcf) <version>

 Entering content frame

-24910: ERR_PARAMVER - wrong version of param help file (cserv.pcf) <version>

Explanation:

The version of the DBM server does not match the version of the parameter description file (cserv.pcf).

User Action:

Correct your installation. Remember to close all programs in your database system before starting an installation or upgrade.


-24911: ERR_INVDBNAME - database name <database_name> is reserve (SAP Library - MaxDB Library)

 Entering content frame

-24911: ERR_INVDBNAME - database name <database_name> is reserved

Explanation:

You selected an invalid name for your database instance.

User Action:

Use a different name for your database instance.


-24912: ERR_WRONGINST – DBM server instroot is <inst_path> (SAP Library - MaxDB Library)

 Entering content frame

-24912: ERR_WRONGINST – DBM server instroot is <inst_path>

Explanation:

You attempted to register an installation using a DBM server from a different installation. This is not possible.

User Action:

Use the correct DBM server. When using Database Manager CLI, you can use the Option -R to force the use of a specific DBM server.


ERR_SERVICEDB - can not register service kernel for <inst_path>

 Entering content frame

-24913: ERR_SERVICEDB - can not register service kernel for <inst_path>

Explanation:

The service database instance cannot be registered. This could be because the files were incorrectly installed or the operating system user does not have the necessary authorizations.

User Action:

Correct or repeat the installation or provide your operating system user with the required authorizations.


-24914: ERR_KEYEXISTS - installation key <key> exists (SAP Library - MaxDB Library)

 Entering content frame

-24914: ERR_KEYEXISTS - installation key <key> exists

Explanation:

You used a key in the DBM server command inst_reg that has already been used. If you did not specify a key, empty key is already used.

User Action:

Use a unique key after option -k in DBM command inst_reg ( inst_reg -k <key>).


ERR_NOADDD - configuration update not allowed (param file is inactive)

 Entering content frame

-24915: ERR_NOADDD - configuration update not allowed (param file is inactive)

Explanation:

The database configuration cannot be changed as changes were made to the parameter file, but these changes are not yet activated.

User Action:

To activate the changes to the parameter file, change the database operation status to OFFLINE and then to ONLINE.

To discard the changes to the parameter file, use the DBM command param_restore.


-24916: ERR_MAXVOLCNT - max volume count exceeded (SAP Library - MaxDB Library)

 Entering content frame

-24916: ERR_MAXVOLCNT - max volume count exceeded

Explanation:

The number of volumes of the type being used exceeds the maximum value that is currently set.

User Response:

Increase the value of the general database parameter MAXLOGVOLUMES for the log volumes, or the MAXDATAVOLUMES value for the data volumes. You must restart the database instance in order to activate this new value.


-24917: ERR_MAXDATA - max data size exceeded (SAP Library - MaxDB Library)

 Entering content frame

-24917: ERR_MAXDATA - max data size exceeded

Explanation:

The number of data volumes exceeds the maximum value that is currently set.

User Action:

Reduce the size of the volume to be added.


-24918: ERR_MISSMIRR - missing data for mirror volume (SAP Library - MaxDB Library)

 Entering content frame

-24918: ERR_MISSMIRR - missing data for mirror volume

Explanation:

The information for a mirror volume is missing.

User Action:

Correct your entry by specifying the data for the mirrored volume. Execute the command again.


ERR_CLEANUP: cannot free all operational resources after backup operation

 Entering content frame

-24919: ERR_CLEANUP: cannot free all operational resources after backup operation

Explanation:

It was not possible to free all of the temporary system resources that were used for a successful backup, check, or restore.

User Action:

Check which resources were not released using the backup log. If the resources are temporary files or pipes, try to remove these manually. You should also attempt to fix the problem with the help of the extended error description. If you cannot solve the problem, contact Support.


-24920: ERR_BACKUPOP: backup operation was unsuccessful (SAP Library - MaxDB Library)

 Entering content frame

-24920: ERR_BACKUPOP: backup operation was unsuccessful

Explanation:

The backup, check or restore action failed due to problems with either the database or the backup tool. If it is a backup check that has failed, this may have been caused by errors in the relevant backup.

User Action:

Attempt to fix the problem with the help of the extended error description. If you cannot solve the problem, contact Support.


-24921: ERR_POSTOP: error while finishing backup operation (SAP Library - MaxDB Library)

 Entering content frame

-24921: ERR_POSTOP: error while finishing backup operation

Explanation:

It was not possible to perform the necessary postprocessing steps after a successful backup, check, or restore.

User Action:

Try to fix the problem with the help of the extended error description, and repeat the backup, check, or restore. If you cannot solve the problem, contact Support.


-24922: ERR_OPCHK: cannot check state of backup operation (SAP Library - MaxDB Library)

 Entering content frame

-24922: ERR_OPCHK: cannot check state of backup operation

Explanation:

You were unable to check the state of the database instance or backup tool.

User Action:

Attempt to fix the problem with the help of the extended error description. If you cannot solve the problem, contact Support.


-24923: ERR_TOOLREQ: error while starting external backup tool (SAP Library - MaxDB Library)

 Entering content frame

-24923: ERR_TOOLREQ: error while starting external backup tool

Explanation:

It was not possible to start a backup tool correctly.

User Action:

Attempt to fix the problem with the help of the extended error description. If you cannot solve the problem, contact Support.


-24924: ERR_DBREQ: cannot start database kernel request (SAP Library - MaxDB Library)

 Entering content frame

-24924: ERR_DBREQ: cannot start database kernel request

Explanation:

The database instance was unable to start the backup, check, or restore process.

User Action:

Attempt to fix the problem with the help of the extended error description. If you cannot solve the problem, contact Support.


-24925: ERR_PREPARE: preparation of backup operation failed (SAP Library - MaxDB Library)

 Entering content frame

-24925: ERR_PREPARE: preparation of backup operation failed

Explanation:

The preparations required to implement the backup tool could not be completed successfully.

User Action:

Attempt to fix the problem with the help of the extended error description. If you cannot solve the problem, contact Support.


ERR_MEDIUMCHK: medium cannot be used with this external backup tool

 Entering content frame

-24926: ERR_MEDIUMCHK: medium cannot be used with this external backup tool

Explanation:

The specified backup medium cannot be used with the backup tool defined by the name of the medium.

User Action:

Attempt to fix the problem with the help of the detailed error description, by changing the backup medium accordingly. If you cannot solve the problem, contact Support.


-24927: ERR_TOOLCHK: external backup tool not found (SAP Library - MaxDB Library)

 Entering content frame

-24927: ERR_TOOLCHK: external backup tool not found

Explanation:

The external backup tool was not found or was not installed properly.

User Action:

Attempt to fix the problem with the help of the extended error description. If you do not want to use an external backup tool, change the definition of the backup medium accordingly. If you cannot solve the problem, contact Support.


-24928: ERR_NOREPLY - no reply available (SAP Library - MaxDB Library)

 Entering content frame

-24928: ERR_NOREPLY - no reply available

Explanation:

There is no response to an asynchronous request sent to the database instance.

User Action:

Repeat the statement until there is a response, and then use the statement that corresponds to the request to retrieve the response. Alternatively, you can immediately use the statement for retrieving the response. This statement waits until the response is provided.


-24929: ERR_USRFRM - invalid user record format (SAP Library - MaxDB Library)

 Entering content frame

-24929: ERR_USRFRM - invalid user record format

Explanation:

The DBM user data is inconsistent.

User Action:

If you are migrating data, check that all the migration steps have been executed correctly. If the error persists, contact Support.


-24930: ERR_XPVALUESET - parameter value not in value set (SAP Library - MaxDB Library)

 Entering content frame

-24930: ERR_XPVALUESET - parameter value not in value set

Explanation:

The entered database parameter value is not within the permitted value range.

User Action:

Correct your entry, and re-execute the DBM command.


-24931: ERR_XPMIN - parameter value smaller than minimum allowed (SAP Library - MaxDB Library)

 Entering content frame

-24931: ERR_XPMIN - parameter value smaller than minimum allowed

Explanation:

The entered database parameter value exceeds the permitted maximum value.

User Action:

Correct your entry, and re-execute the DBM command.


-24932: ERR_XPMIN - parameter value smaller than minimum allowed (SAP Library - MaxDB Library)

 Entering content frame

-24932: ERR_XPMIN - parameter value smaller than minimum allowed

Explanation:

The entered database parameter value is below the required minimum.

User Action:

Correct your entry and re-execute the DBM command.


-24933: ERR_NOSERVICESESSION - no service kernel available (SAP Library - MaxDB Library)

 Entering content frame

-24933: ERR_NOSERVICESESSION - no service kernel available

Explanation:

The DBM command requires a service session.

User Action:

Before you execute the DBM command, activate the service session with the DBM command service_connect or the option -uSRV.


-24934: ERR_VERSION - incompatible versions (param and kernel) (SAP Library - MaxDB Library)

 Entering content frame

-24934: ERR_VERSION - incompatible versions (param and kernel)

Explanation:

The version of the parameter file of the database instance does not match the executable database program.

User Action:

Update the entries in the parameter file by checking the parameters. To do this, use the DBM command param_checkall.


-24935: ERR_NOUSERS - no users found (SAP Library - MaxDB Library)

 Entering content frame

-24935: ERR_NOUSERS - no users found

Explanation:

No user entries found.

User Action:

Generate the required user entries with the DBM command db_create.


-24936: ERR_DBNORUN - database is not running (SAP Library - MaxDB Library)

 Entering content frame

-24936: ERR_DBNORUN - database is not running

Explanation:

The databank instance is not in the ADMIN or ONLINE state.

User Action:

Make sure that the database instance is in the required operation status before using this DBM command. To do this, use DBM command db_admin or db_online.


-24937: ERR_MISSRIGHT - no server rights for this command (SAP Library - MaxDB Library)

 Entering content frame

-24937: ERR_MISSRIGHT - no server rights for this command

Explanation:

The current DBM operator is not authorized to execute this command.

User Response:

Use a different DBM operator, or adjust the user rights of the current DBM operator appropriately. Use the DBM command user  put.


-24938: ERR_NOENTRY - no entry found (SAP Library - MaxDB Library)

 Entering content frame

-24938: ERR_NOENTRY - no entry found

Explanation:

The requested registration of the database instance was not found.

User Action:

Use an existing registration to execute the DBM command.


-24939: ERR_LASTREG - cannot delete last registration of instanc (SAP Library - MaxDB Library)

 Entering content frame

-24939: ERR_LASTREG - cannot delete last registration of instance

Explanation:

The last registration of a database instance cannot be deleted using the DBM command.

User Action:

To delete the database instance, use the DBM command db_drop. When you delete a database instance, all of its data, including its configuration, is deleted.


-24940: ERR_NEEDSYSLOGON - system logon required (SAP Library - MaxDB Library)

 Entering content frame

-24940: ERR_NEEDSYSLOGON - system logon required

Explanation:

This DBM command requires you to log on to the operating system.

User Response:

Assign an operating system user to the relevant DBM operator. Use the DBM command user put .

To activate the operating system user, log on to the DBM server again. To do this, use the DBM command user logon, and note any warnings that are displayed indicating problems with the operating system logon.


-24941: ERR_NEEDLOGON - DBM server logon required (SAP Library - MaxDB Library)

 Entering content frame

-24941: ERR_NEEDLOGON - DBM server logon required

Explanation:

The DBM command requires that you log on to the DBM server.

User Action:

Log on to the DBM server. To do this, use DBM command user_logon or option -u.


-24942: ERR_USRDELSDBA - cannot delete sysdba (SAP Library - MaxDB Library)

 Entering content frame

-24942: ERR_USRDELSDBA - cannot delete sysdba

Explanation:

The specified database system administrator (SYSDBA user) has special properties and cannot be deleted.

User Response:

You are not allowed to delete this user. If unauthorized persons know the user name and password, change the password of the database system administrator. For example, use the DBM command user put


-24943: ERR_USRDELDBM - cannot delete DBM operator (SAP Library - MaxDB Library)

 Entering content frame

-24943: ERR_USRDELDBM - cannot delete DBM operator

Explanation:

The specified DBM operator has special properties and cannot be deleted.

User Response:

You are not allowed to delete this user. If unauthorized persons know the user name and password, change the password of the database manager operator. Use the DBM command user_put


-24944: ERR_USRDELSELF - cannot delete current user (SAP Library - MaxDB Library)

 Entering content frame

-24944: ERR_USRDELSELF - cannot delete current user

Explanation:

The current user cannot be deleted.

User Action:

Log on to the DBM server with another user, and execute the DBM command again.


-24945: ERR_TOFEWPARAM - to few parameters (SAP Library - MaxDB Library)

 Entering content frame

-24945: ERR_TOFEWPARAM - to few parameters

Explanation:

The DBM command has too few parameters.

User Action:

Correct your entry according to the documentation for DBM commands, and execute the statement again.


-24946: ERR_TOMANYPARAM - to many parameters (SAP Library - MaxDB Library)

 Entering content frame

-24946: ERR_TOMANYPARAM - to many parameters

Explanation:

The DBM command has too many parameters.

User Action:

Correct your entry according to the documentation for DBM commands, and execute the statement again.


-24947: ERR_DBNAME - do not use dbname (SAP Library - MaxDB Library)

 Entering content frame

-24947: ERR_DBNAME - do not use dbname

Explanation:

You cannot use this DBM command on a database instance.

User Action:

Do not specify a database name when you execute the DBM command.


-24948: ERR_NODBNAME - database name required (SAP Library - MaxDB Library)

 Entering content frame

-24948: ERR_NODBNAME - database name required

Explanation:

You can use this DBM command on a database instance only.

User Action:

Use option -d to specify the name of the database instance for the DBM server.


-24949: ERR_USREXISTS - user entry already exists (SAP Library - MaxDB Library)

 Entering content frame

-24949: ERR_USREXISTS - user entry already exists

Explanation:

This DBM command cannot be used, as the user name already exists.

User Action:

Use a name that has not already been used for a user, or delete the existing user. Only delete a user if you the user is no longer required. When you delete a user, you delete all of the saved settings for that user. To delete a user, use the DBM command user_delete.


-24950: ERR_USRFAIL - user authorization failed (SAP Library - MaxDB Library)

 Entering content frame

-24950: ERR_USRFAIL - user authorization failed

Explanation:

Authorization on the DBM server failed. The user name and/or the password used are incorrect.

User Action:

Enter the correct user/password combination and log on to the DBM server again. You can correct the user data for the database instance in the Database Manager GUI.


-24951: ERR_USRREAD - could not read user data (SAP Library - MaxDB Library)

 Entering content frame

-24951: ERR_USRREAD - could not read user data

Explanation:

The database manager operator (DBM operator) data could not be read.

User Response:

Check the file system attributes and the operating system rights of the user profile container. This file has the name <database_name>.upc. On Windows, you can find this file in the configdirectory of the database installation. On UNIX systems, this file is stored in <independent_data>/config. Use the DBM command user_getall to check the existence of the user.


-24952: ERR_USRSAVE - could not save user data (SAP Library - MaxDB Library)

 Entering content frame

-24952: ERR_USRSAVE - could not save user data

Explanation:

The DBM operator data could not be saved.

User Response:

Check the file system attributes and the operating system rights of the user profile container. This file has the name <database_name>.upc. On Windows, you can find this file in the configdirectory of the database installation. On UNIX systems, this file is stored in <independent_data>/config. Check that there is enough memory available on the relevant hard disk.


-24953: ERR_DBEXIST - database instance already exists (SAP Library - MaxDB Library)

 Entering content frame

-24953: ERR_DBEXIST - database instance already exists

Explanation:

This DBM command cannot be used, as the database instance already exists.

User Action:

Use a name that has not already been used for a database instance, or delete the existing database instance. Only delete a database instance if you no longer need it. When you delete a database instance, all of its data, including its configuration, is deleted. To delete the database instance, use the DBM command db_drop.


-24954: ERR_BANOAUTOMED - no autolog medium found in media list (SAP Library - MaxDB Library)

 Entering content frame

-24954: ERR_BANOAUTOMED - no autolog medium found in media list

Explanation:

You have not defined a backup medium to back up the log automatically.

User Action:

Correct the medium definition, or enter the backup medium explicitly for the failed command.


-24955: ERR_BANOSAVETYPE - backup type not defined (SAP Library - MaxDB Library)

 Entering content frame

-24955: ERR_BANOSAVETYPE - backup type not defined

Explanation:

The backup medium definition contains no backup type ( LOG, DATA or PAGES) .

User Action:

Correct the medium definition, or enter the backup type explicitly for the failed command.


ERR_BASAVETYPECON - backup type conflicts with medium definition

 Entering content frame

-24956: ERR_BASAVETYPECON - backup type conflicts with medium definition

Explanation:

An attempt has been made to Save or Restore using the defined backup medium. However, the predefined backup type for the backup medium ( LOG, DATA or PAGES) and the backup type used for the Save or Restore clash.

User Action:

Correct your entry or the medium definition.

You may sometimes have to readjust your definition again to restore older backups.


-24957: ERR_NOUSER - required user not set (SAP Library - MaxDB Library)

 Entering content frame

-24957: ERR_NOUSER - required user not set

Explanation:

You tried to execute a DBM command relating to user data in the SAP application which is stored in the DBM server for this database instance. However, this user data is not on the DBM server.

User Response:

First, save the necessary user data (see: Saved by Special Users) and execute the command once again. Alternatively, you can enter the user name and password explicitly with the DBM command.

In the database manager GUI, use the command line dialog for entering DBM commands (see: Using Database Manager CLI ).


-24958: ERR_BAOVERWRITE - file already exists, cannot overwrite (SAP Library - MaxDB Library)

 Entering content frame

-24958: ERR_BAOVERWRITE - file already exists, cannot overwrite

Explanation:

An attempt has been made to perform a backup. However, the backup medium that you specified has already been used for a backup, and has been defined as Not overwritable.

User Action:

Use a different backup medium or delete the existing one using the operating system tools. Alternatively, you could also adjust the medium definition.

Overwriting or deleting a backup medium destroys all data stored there.


-24959: ERR_XPOVERFLOW - value out of margin (SAP Library - MaxDB Library)

 Entering content frame

-24959: ERR_XPOVERFLOW - value out of margin

Explanation:

The value used for a database parameter is invalid. You have either chosen an invalid data type (for example, you have used text for a numerical parameter) or you have exceeded the maximum values allowed for that data type (for example, you have used too large a number or too much text).

User Action:

Correct your entry.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24960: ERR_DBRUN - database is running (SAP Library - MaxDB Library)

 Entering content frame

-24960: ERR_DBRUN - database is running

Explanation:

The databank instance is in the ADMIN or ONLINE operation status. This DBM command is not valid in this operation status.

User Action:

First of all, make sure the database instance is OFFLINE and then re-execute the command.

Making the database instance OFFLINE breaks the connection to all users logged on to the database instance or to all programs that are running on it.


-24961: ERR_STATE - cannot determine current db state (SAP Library - MaxDB Library)

 Entering content frame

-24961: ERR_STATE - cannot determine current db state

Explanation:

The operating state of the database instance could not be determined properly. This means that the validity of the DBM commands can no longer be determined.

User Action:

Check the database processes using the operating system tools. Try to connect to the database instance through a database application, for example SQL Studio. If this succeeds, the database instance is in the ONLINE state and is ready for (maybe limited) use.

Use some of the other options available, for example, log files, to check the state of the database instance. Contact Support if necessary.

If your applications or users can no longer connect to the database instance, you should make sure that the database instance has a proper operating state by restarting it.


-24962: ERR_VOLTYPE - wrong volume type (SAP Library - MaxDB Library)

 Entering content frame

-24962: ERR_VOLTYPE - wrong volume type

Explanation:

An unknown or invalid volume type has been used.

User Response:

Correct your entry.


-24963: ERR_VOLCHECK - error while checking volume (SAP Library - MaxDB Library)

 Entering content frame

-24963: ERR_VOLCHECK - error while checking volume

Explanation:

The volume you have tried to configure is invalid. The system was unable to find/create a volume with the parameters specified.

User Response:

Check your entries and the configuration of your operating system. Make corrections as appropriate and reconfigure the volume.


-24964: ERR_EXECUTE - error in program execution (SAP Library - MaxDB Library)

 Entering content frame

-24964: ERR_EXECUTE - error in program execution

Explanation:

An error occurred when a program or operating system command was called using the DBM server The program/command was not found or it encountered an error when it was executed.

User Action:

Remember the exit code shipped with the system as well as the program/command documentation that was delivered. Check whether the program/command is available on the server. Use the program/command documentation to help you find the error.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24965: ERR_SYSLOGON - logon to system failed (SAP Library - MaxDB Library)

 Entering content frame

-24965: ERR_SYSLOGON - logon to system failed

Explanation:

The DBM server could not log on to the operating system or the statement used requires it to be already logged on to the operating system.

User Action:

Check you entries as well as the authorizations assigned to the respective user. In Windows, the user must have the authorization logon as batch job. The current DBM server user must also have authorization to log on under a different user account.


-24966: ERR_LOGON - logon to DBM server failed (SAP Library - MaxDB Library)

 Entering content frame

-24966: ERR_LOGON - logon to DBM server failed

Explanation:

An invalid user/password combination was used or the statement used requires you to be already logged on.

User Action:

Enter the correct user/password combination or log on to the DBM server first.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24967: ERR_SYSTEM - system call error (SAP Library - MaxDB Library)

 Entering content frame

-24967: ERR_SYSTEM - system call error

Explanation:

An attempt to use an operating system function has failed.

User Action:

Read the extended error text, which describes operating system messages in more detail.


-24968: ERR_XPREADONLY - parameter is read only (SAP Library - MaxDB Library)

 Entering content frame

-24968: ERR_XPREADONLY - parameter is read only

Explanation:

The database parameter used cannot be modified.

User Action:

Correct your entry.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, contact Support.


-24969: ERR_XPDIRTY - param file is dirty (SAP Library - MaxDB Library)

 Entering content frame

-24969: ERR_XPDIRTY - param file is dirty

Explanation:

An attempt has been made to make a change to the database parameters without first checking whether or not a previous change works properly by restarting the database instance.

User Action:

Start the database instance and repeat the change you made to the database parameter.

Restarting the database instance breaks the connection to all users logged on to the database instance or ends all programs that are running on it.


-24970: ERR_XPNOMODIFY - parameter must not be modified (SAP Library - MaxDB Library)

 Entering content frame

-24970: ERR_XPNOMODIFY - parameter must not be modified

Explanation:

The database parameter used cannot be modified.

User Action:

Set the database parameter back to its initial value.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24971: ERR_XPNOCHECK - no running parameter check (SAP Library - MaxDB Library)

 Entering content frame

-24971: ERR_XPNOCHECK - no running parameter check

Explanation:

A restart was not possible after correcting a single parameter because no check run was active when the database parameters were checked.

User Action:

Start the database parameter check again.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24972: ERR_XPINVCONF - invalid value (SAP Library - MaxDB Library)

 Entering content frame

-24972: ERR_XPINVCONF - invalid value

Explanation:

An attempt was made to confirm a database parameter. You either used an invalid value or a parameter for which there was no Request available.

User Action:

Correct your entries or check the database parameters again (e.g. using the param_checkall DBM command).

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24973: ERR_XPCHECK - param check failure/request (SAP Library - MaxDB Library)

 Entering content frame

-24973: ERR_XPCHECK - param check failure/request

Explanation:

The system was unable to check the database parameters using the rules and processes stored in the parameter help file. You will find more information on this in the extended message text.

User Action:

Correct the database parameter value as stated in the documentation.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24974: ERR_XPSESSION - param session active (SAP Library - MaxDB Library)

 Entering content frame

-24974: ERR_XPSESSION - param session active

Explanation:

If a parameter session is already active, you will not be able to start another session.

User Action:

Check the sequence of your DBM commands. If necessary, terminate an existing parameter session using param_commitsession or param_abortsession. Alternatively, you can also use the active parameter session to execute your command.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24975: ERR_NOXPSESSION - param session inactive (SAP Library - MaxDB Library)

 Entering content frame

-24975: ERR_NOXPSESSION - param session inactive

Explanation:

Some DBM commands in this application area require a parameter session. In this case, this session was inactive.

User Action:

Check the sequence of your commands. First of all, you must open a parameter session using the param_startsession DBM command before you can process a database parameter.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24976: ERR_PARAMEXIST - param file of database already exists (SAP Library - MaxDB Library)

 Entering content frame

-24976: ERR_PARAMEXIST - param file of database already exists

Explanation:

A parameter file already exists for the specified database instance. The parameter file can be initialized only if no parameter file exists. This prevents the configuration from being lost.

User Action:

Delete the parameter file explicitly either at file-system level or using the DBM command param_rmfile. Note that this will mean the current database instance configuration will be lost.


-24977: ERR_COMMAND - unknown command <command> (SAP Library - MaxDB Library)

 Entering content frame

-24977: ERR_COMMAND - unknown command <command>

Explanation:

This particular DBM command was not recognized.

User Action:

Enter a correct command. Bear case-sensitivity in mind.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24978: ERR_XPSYNTAX - xparam syntax error (SAP Library - MaxDB Library)

 Entering content frame

-24978: ERR_XPSYNTAX - xparam syntax error

Explanation:

The parameter description in the database parameter help file is incorrect.

User Action:

Read the extended error text and correct the error in the file cserv.pcf, which you will find in the database installation’s env directory.


-24979: ERR_XPNOTFOUND - parameter not found (SAP Library - MaxDB Library)

 Entering content frame

-24979: ERR_XPNOTFOUND - parameter not found

Explanation:

The specified database parameter does not exist in the parameter help file.

User Action:

Check that the parameter name is correct. Bear case-sensitivity in mind.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24980: ERR_NOHELP - xparam help file not found (SAP Library - MaxDB Library)

 Entering content frame

-24980: ERR_NOHELP - xparam help file not found

Explanation:

The parameter help file that describes the database parameters could not be opened.

User Action:

Check that the cserv.pcf file in the database installation’s env directory exists and is correct. You should also check the DBM server’s access rights to this file.


-24981: ERR_HIENTRYNOTFOUND - backup history entry not found (SAP Library - MaxDB Library)

 Entering content frame

-24981: ERR_HIENTRYNOTFOUND - backup history entry not found

Explanation:

The required entry does not exist in the backup history.

User Action:

Correct the parameters of your DBM command to read the backup history.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24982: ERR_ERR_NOHISTORY - backup history file not found (SAP Library - MaxDB Library)

 Entering content frame

-24982: ERR_ERR_NOHISTORY - backup history file not found

Explanation:

There is no backup history available.

User Action:

A backup history only exists if backup operations have already been executed. The backup history function cannot be used before this has been done.


-24983: ERR_BANOVALIDTYPE - invalid backup type (SAP Library - MaxDB Library)

 Entering content frame

-24983: ERR_BANOVALIDTYPE - invalid backup type

Explanation:

The specified backup type is invalid.

User Action:

Specify a valid backup type in your DBM command.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24984: ERR_MENOVALID - invalid medium definition (SAP Library - MaxDB Library)

 Entering content frame

-24984: ERR_MENOVALID - invalid medium definition

Explanation:

The backup medium definition is invalid.

User Action:

Check the parameters you entered.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24985: ERR_MENOTFOUND - medium not found (SAP Library - MaxDB Library)

 Entering content frame

-24985: ERR_MENOTFOUND - medium not found

Explanation:

The backup medium you specified was been defined.

User Action:

Check your entries. Use another back medium, or create a new one with that name.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24986: ERR_NOMEDIA - media file not found (SAP Library - MaxDB Library)

 Entering content frame

-24986: ERR_NOMEDIA - media file not found

Explanation:

No backup medium has been defined yet for the database instance.

User Action:

Create backup media before using functions that require a backup media definition.

Check that the DBM server can access its configuration files. It may be that the DBM server has the wrong user authorizations.


-24987: ERR_TOSMALL - packet size too small for answer (SAP Library - MaxDB Library)

 Entering content frame

-24987: ERR_TOSMALL - packet size too small for answer

Explanation:

The application has provided too little memory space for the DBM servers's response.

User Action:

Modify your DBM command so that the response is smaller.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24988: ERR_SQL - sql error (SAP Library - MaxDB Library)

 Entering content frame

-24988: ERR_SQL - sql error

Explanation:

An error occurred when an SQL statement was transferred to the database kernel.

User Action:

You may need to consult the other database kernel error message and correct your entries accordingly.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24989: ERR_NOHISTORYSESSION - no backup history session availab (SAP Library - MaxDB Library)

 Entering content frame

-24989: ERR_NOHISTORYSESSION - no backup history session available

Explanation:

The DBM command is only possible if the backup history is open.

User Action:

First, open the backup history using the backup_history_open command. Then watch for any errors that might occur.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24990: ERR_ NOBACKUPSESSION - no backup session available (SAP Library - MaxDB Library)

 Entering content frame

-24990: ERR_ NOBACKUPSESSION - no backup session available

Explanation:

The DBM command is only permitted if the Save or Restore is active.

User Action:

First start the backup session you require using the backup_start or recover_start DBM commands, then execute further commands depending on how the Save/Restore runs.

Check whether the save/restore process started properly.

Please note that reading a database backup will override the current state of your database instance.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24993: ERR_RTEEXT - runtime environment error (SAP Library - MaxDB Library)

 Entering content frame

-24993: ERR_RTEEXT - runtime environment error

Explanation:

The database runtime environment was unable to perform a function correctly.

User Action:

Please read the additional runtime environment error message.


-24994: ERR_RTE - runtime environment error (SAP Library - MaxDB Library)

 Entering content frame

-24994: ERR_RTE - runtime environment error

Explanation:

The database runtime environment was unable to perform a function correctly.

User action:

Please read the additional runtime environment error message.


-24995: ERR_MEM - memory allocation error (SAP Library - MaxDB Library)

 Entering content frame

-24995: ERR_MEM - memory allocation error

Explanation:

The operating system was unable to provide the DBM server with enough main memory.

User Action:

Correct the limit on the DBM server’s user authorizations if one exists.

Check the overall condition of your operating system for any problems with main memory management.


-24996: ERR_PARAM - wrong parameters (SAP Library - MaxDB Library)

 Entering content frame

-24996: ERR_PARAM - wrong parameters

Explanation:

Your DBM command was executed with incorrect parameters.

User Action:

Check your entries. You should also check whether the command requires a database name or a special type of session.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24997: ERR_FILE - file handling error (SAP Library - MaxDB Library)

 Entering content frame

-24997: ERR_FILE - file handling error

Explanation:

A file was not accessed properly.

User Action:

This might happen because you do not have the user authorizations required. Check the DBM server installation and its current authorizations.

You should also check whether the file is damaged.


-24998: ERR_NOTIMPL - sorry, command not yet implemented (SAP Library - MaxDB Library)

 Entering content frame

-24998: ERR_NOTIMPL - sorry, command not yet implemented

Explanation:

Your DBM command is not available in this version.

User Action:

Choose a different command.

If the error occurs in Database Manager GUI and there is no way in which you can correct it, please contact Support.


-24999: ERR - common error (SAP Library - MaxDB Library)

 Entering content frame

-24999: ERR - common error

Explanation:

An error that Database Manager cannot analyze properly has occurred.

User Action:

Contact Support.


From -25000 to -25999 (SAP Library - MaxDB Library)

 Entering content frame

Background documentation From -25000 to -25999

Loader Error Messages

-25003 | Name of database host could not be determined
-25004 | Error when connecting to the database
-25005 | Error when logging user on to the database
-25006 | Error occurred when connecting to the database with specified userkey
-25007 | Error when executing the command; no connection to the database exists
-25008 | Error when logging on user; previous user's database connection has been restored
-25009 | Failure in db communication
-25010 | <SQL error text>
-25011 | Error when executing the internal SQL command
-25018 | Error when changing the authorizations for the log file; unable to change the file owner
-25019 | Error when opening the log file; temporary log file opened
-25020 | Memory space exhausted
-25021 | Error switching connected user to ; %s
-25022 | Request to terminate operation received; processing of command terminated
-25109 | <command> not implemented
-25201 | Invalid length specification for INTEGER field
-25202 | Invalid length specification for REAL field
-25203 | Invalid length specification for DECIMAL field
-25204 | Invalid length specification for ZONED field
-25205 | Declare USAGE between 50% and 100%
-25206 | USAGE value of '0 rows' not allowed
-25207 | USAGE value of row(s) too high; maximum number of records possible on a single db page:
-25208 | Invalid position specification; specify a positive value
-25209 | Invalid value for FRACTION; specify a positive value
-25210 | Invalid value for SCALE; enter a value between -127 and 127
-25211 | Invalid ROUND specification; specify a value between 0 and 18
-25212 | Invalid TRUNC specification; enter a value between 0 and 18
-25213 | Invalid file format specification; FORMATTED and COMPRESSED exclude each other
-25214 | Invalid file format specification; Separator/Delimiter is not allowed together with FORMATTED
-25216 | File format specification FORMATTED required
-25218 | Invalid file format specification; no columns specified despite FORMATTED file format
-25219 | Columns must be specified in the command in ascending order according to their position
-25220 | Invalid separator/delimiter specification
-25221 | Invalid specification for representation of decimal numbers
-25222 | Invalid specification for representation of Boolean values
-25223 | Invalid specification for representation of NULL values
-25224 | Invalid specification for language of messages; specify ENG or DEU
-25225 | Invalid specification for the representation of thousand separator and decimal point in numerical values
-25226 | Maximum number of column specifications in a command has been exceeded
-25227 | Maximum number of conditions in a command has been exceeded
-25228 | Invalid specification for external representation of date or time values
-25229 | Incorrect comparison operator in condition
-25230 | Cannot execute command; specify an outfile for commands
-25231 | Specification of ROUND, TRUNC, or SCALE not allowed for this column
-25232 | Unknown keyword
-25233 | Some column descriptions with end position but file format is COMPRESSED
-25234 | Some column descriptions without end position but file format is FORMATTED
-25235 | Some positions specified more than once
-25236 | Some positions overlap
-25237 | Cannot execute UPDATE COLUMNS command; specify set columns
-25238 | Cannot execute UPDATE COLUMNS command; specify access columns
-25239 | Specified value is not a valid integer
-25281 | Syntax error at a certain position
-25301 | Invalid input for date or time column
-25302 | The value entered is not a valid numerical value
-25303 | Input value does not match key order or range specification
-25304 | Columns for key (KEY) or search condition missing
-25305 | Data for key columns exceeds allowed key length
-25306 | Invalid HEX constant found in code page file; the file might be corrupted
-25308 | CONSTRAINT condition violated
-25309 | Invalid input for BOOLEAN column
-25310 | Column must not contain NULL values
-25311 | No Data for NOT NULL - column without default
-25313 | Overflow occurred, execution aborted
-25314 | Fractional part too small for column , minimum length:
-25315 | Column data type of column and external data type are not compatible
-25316 | Table contains at least one column defined as LONG; IMPORT in PAGE format rejected
-25317 | Constant must be compatible with column type and length
-25318 | Syskey violation (the computed value exceeds the highest possible syskey value)
-25319 | Unable to find any data for the column in the data file
-25320 | The LONG value could not be loaded into column
-25321 | This condition value is not a valid number:
-25322 | This condition value was truncated and cannot be used:
-25323 | Data type of null value representation for column is incompatible with the column data type
-25324 | Error in the length specifications of the column descriptions; see log file for more detailed information
-25325 | Errors checking compatibility of external and db data types. See loader server log file for more information
-25326 | The exported number (column ) was truncated
-25327 | Error(s) exporting record; start position of incorrect record in data file:
-25328 | Some error(s) while extracting data. See loader server log file for more information
-25329 | The given data file was not generated using EXPORT in PAGE Format
-25330 | The page sizes of the source system and the target system do not match (source: , target: )
-25331 | This is a restricted statement, user must be SYSDBA
-25332 | Error getting schema definition of table ( )
-25333 | Error getting index definitions for table ( )
-25334 | File counter for data file exceeded maximum value of
-25335 | Error restoring single table using data file with multiple table data; specify single table data file
-25336 | Error restoring multiple tables using data file with single table data; specify data file created using EXPORT DB or EXPORT USER
-25337 | Error restoring table ; no table data found in data file
-25338 | Error during restart IMPORT; restart entry not found in mapping file
-25339 | Error during restart IMPORT; file could not be opened/read
-25340 | UCS2 conversion error; character string contains invalid characters or character sequences
-25341 | Error generating 'create table/index statements’
-25342 | Error restoring table ; table exists but source table schema and target table schema are different
-25343 | Column name(s) or number(s) do not match column names/numbers in select list:
-25344 | Incorrect field length for column , minimum length
-25351 | No long file info given for LONG column
-25352 | Errors analyzing long file information. See loader server log file for more information
-25353 | Specified maximum number of LONG data files for column exceeded
-25354 | LONGFILE specification missing or incorrect
-25501 | Error when opening file
-25502 | Error when closing file
-25503 | Error when reading file
-25504 | Error when writing file
-25505 | Error when erasing file
-25507 | Error when shrinking file
-25801 | Internal program error


-25003: Name of database host could not be determined (SAP Library - MaxDB Library)

 Entering content frame

-25003: Name of database host could not be determined

Explanation:

In a command for opening a connection, no database host is specified. The database host could not be determined.

User Response:

In loader commands for creating a database session enter the name of the host on which the database instance is running to set up a connection. Restart the Loader.


-25004: Error when connecting to the database (SAP Library - MaxDB Library)

 Entering content frame

-25004: Error when connecting to the database

Explanation:

The system cannot open a connection to the database instance.

User Action:

Use the SQL error text to determine why the connection failed. Fix the cause of the problem, and restart the Loader.


-25005: Error when logging user on to the database (SAP Library - MaxDB Library)

 Entering content frame

-25005: Error when logging user on to the database

Explanation:

The user specified could not be logged on to the database instance.

User Action:

Use the SQL error text to determine why the log on attempt failed. Fix the cause or the error and restart the Loader.


Error occurred when connecting to the database with specified user key

 Entering content frame

-25006: Error occurred when connecting to the database with specified user key

Explanation:

The system cannot create a connection to the database instance using the specified user data.

User Action:

Use the SQL error text to determine why the connection failed. Fix the cause or the error and restart the Loader.


Error when executing the command; no connection to the database exists

 Entering content frame

-25007: Error when executing the command; no connection to the database exists

Explanation:

Whilst the Loader command is executing exports or imports, or an SQL statement, the system determined that there is no connection to the database instance. This may be because you are not logged on to the correct database instance.

User Response:

Using the USE USER command, log on to the database instance prior to executing the command or SQL statement.


Error when logging on user; previous user's database connection has been restored

 Entering content frame

-25008: Error when logging on user; previous user's database connection has been restored

Explanation:

An error occurred when a user attempted to log on to the database instance. The last user to have logged on has been logged on again instead.

This error message only appears if a new user is unable log on to a database instance where another user who is processing load and unload commands is already logged on. This message precedes the error message –25005.

User Action:

Since this message merely informs you that a previous connection has been restored, please proceed as described in message -25005.


-25009: Failure in db communication (SAP Library - MaxDB Library)

 Entering content frame

-25009: Failure in db communication

Explanation:

Communication between the Loader and the database instance takes place via the synchronous exchange of communication packages. The Loader sends a package containing the command that is to be processed to the database instance. This is known as a "request". While the database instance processes the command, the Loader waits for the package to be returned with the result. This is known as a "receive".

Errors may occur during this process if the connection from the Loader to the database instance is lost or if the database instance is no longer available.

User Action:

Use the error text to determine why the communication failed. Fix the cause or the error and restart the Loader.


-25010: <SQL_error_text> (SAP Library - MaxDB Library)

 Entering content frame

-25010: <SQL_error_text>

Explanation:

The database instance reports SQL errors that occur while a user's SQL statements are being processed with this error number.

User Action:

Fix the cause of the error and restart the Loader.


-25011: Error when executing the internal SQL command (SAP Library - MaxDB Library)

 Entering content frame

-25011: Error when executing the internal SQL command

Explanation:

An SQL statement generated internally by the Loader to process a load or unload command could not be executed. This message also displays the cause of the error.

User Action:

Fix the cause of the error and restart the Loader.


Error when changing the authorizations for the log file; unable to change the file owner

 Entering content frame

-25018: Error when changing the authorizations for the log file; unable to change the file owner

Explanation:

This error can only occur when you execute the SET LOGOWNER <user_name> command on UNIX or Linux operating systems.

User Action:

Use the error text to determine why the modification failed. Rectify the error and re-execute the statement.


-25019: Error when opening the log file; temporary log file open (SAP Library - MaxDB Library)

 Entering content frame

-25019: Error when opening the log file; temporary log file opened

Explanation:

Attempts to open the Loader's log file failed. This may have been caused by another Loader already running on the same computer. If more than one Loader is started on one computer at the same time, only one can access the log file at a time because log files can only be opened exclusively.

So the Loader can still process the statements, it opens a temporary log file, the name of which is stated in the message.

User Action:

No user action is required.


-25020: Memory space exhausted (SAP Library - MaxDB Library)

 Entering content frame

-25020: Memory space exhausted

Explanation:

A command or a statement cannot be executed because of limited memory space.

User Action:

No user action possible.


-25021: Error switching connected user to ; (SAP Library - MaxDB Library)

 Entering content frame

-25021: Error switching connected user to ;

Explanation:

An error has occurred with either the EXPORT DB or IMPORT DB Loader command.

When exporting or importing data with the corresponding command, the Loader must switch the user internally so it can process user-specific data. This internal changeover failed.

User Response:

Rectify the cause of the error and re-execute the command.


Request to terminate operation received; processing of command terminated

 Entering content frame

-25022: Request to terminate operation received; processing of command terminated

Explanation:

Using Ctrl C, the user has sent a request to the Loader to cancel the processing of commands and statements.

User Action:

No user action is required.


-25109: <command> not implemented (SAP Library - MaxDB Library)

 Entering content frame

-25109: <command> not implemented

Explanation:

The specified statement could not be executed because the required functions have not been installed on the Loader.

User Action:

No user action is possible.


-25201: Invalid length specification for INTEGER field (SAP Library - MaxDB Library)

 Entering content frame

-25201: Invalid length specification for INTEGER field

Explanation:

The command to load or unload data contains an error.

An explicit column description contains a file field of type INTEGER whose length does not correspond to the length mentioned here.

User Action:

Correct the data and re-execute the command.


-25202: Invalid length specification for REAL field (SAP Library - MaxDB Library)

 Entering content frame

-25202: Invalid length specification for REAL field

Explanation:

The command to load or unload data contains an error.

A file field of type REAL is specified in an explicit column description. However, the length of the field does not match the length specified in the error message.

User Action:

Correct the file information and re-execute the command.


-25203: Invalid length specification for DECIMAL field (SAP Library - MaxDB Library)

 Entering content frame

-25203: Invalid length specification for DECIMAL field

Explanation:

The command to load or unload data contains an error.

A file field of type DECIMAL is specified in an explicit column description. However, the length of the field does not match the length specified in the error message.

User Action:

Correct your entries and re-execute the command.


-25204: Invalid length specification for ZONED field (SAP Library - MaxDB Library)

 Entering content frame

-25204: Invalid length specification for ZONED field

Explanation:

The command to load or unload data contains an error.

An explicit column description contains a file field of type ZONED whose length does not correspond to the length specified in the error message.

User Action:

Correct the file information and re-execute the command.


-25205: Declare USAGE between 50% and 100% (SAP Library - MaxDB Library)

 Entering content frame

-25205: Declare USAGE between 50% and 100%

Explanation:

A Loader command for importing contains an error: IMPORT TABLE <table_spec>.

The USAGE value specified in the command is not within the permitted number range, that is, between 50% and 100%.

User Response:

Correct the specified USAGE percentage and re-execute the command.


-25206: USAGE value of '0 rows' not allowed (SAP Library - MaxDB Library)

 Entering content frame

-25206: USAGE value of '0 rows' not allowed

Explanation:

A Loader command for importing data contains an error: IMPORT TABLE <table_spec>.

The value that has been specified for USAGE (0 rows) is not valid.

User Response:

Correct the number of rows you specified for USAGE and re-execute the command.


USAGE value of row(s) too high; maximum number of records possible on a single db page:

 Entering content frame

-25207: USAGE value of row(s) too high; maximum number of records possible on a single db page:

Explanation:

A Loader command for importing contains an error: IMPORT TABLE <table_spec>.

The row number specified for USAGE (rows per page of the database) is too large. The maximum number of lines allowed can be determined from the size of a database page and the size of a record in the table to be imported.

User Response:

Correct your entries and re-execute the command.


-25208: Invalid position specification; specify a positive value (SAP Library - MaxDB Library)

 Entering content frame

-25208: Invalid position specification; specify a positive value

Explanation:

The command to load or unload data contains an error.

You cannot specify a negative value for a position.

User Action:

Correct the data and re-execute the command.


-25209: Invalid value for FRACTION; specify a positive value (SAP Library - MaxDB Library)

 Entering content frame

-25209: Invalid value for FRACTION; specify a positive value

Explanation:

The command to load or unload data contains an error.

The value entered for FRACTION cannot be a negative value.

User Action:

Correct the entry you made for FRACTION and re-execute the command.


-25210: Invalid value for SCALE; enter a value between -127 and (SAP Library - MaxDB Library)

 Entering content frame

-25210: Invalid value for SCALE; enter a value between -127 and 127

Explanation:

The command to load or unload data contains an error.

A number specified for SCALE must be between -127 and +127.

User Action:

Correct the entry you made for SCALE and re-execute the command.


-25211: Invalid ROUND specification; specify a value between 0 a (SAP Library - MaxDB Library)

 Entering content frame

-25211: Invalid ROUND specification; specify a value between 0 and 18

Explanation:

The command to load or unload data contains an error.

A number specified for ROUND must be between 0 and 18.

User Action:

Correct the number of rows you specified for ROUND and re-execute the command.


-25212: Invalid TRUNC specification; enter a value between 0 and (SAP Library - MaxDB Library)

 Entering content frame

-25212: Invalid TRUNC specification; enter a value between 0 and 18

Explanation:

The command to load or unload data contains an error.

A number specified for TRUNC must be between 0 and 18.

User Action:

Correct the number of rows you specified for TRUNC and re-execute the command.


Invalid file format specification; FORMATTED and COMPRESSED exclude each other

 Entering content frame

-25213: Invalid file format specification; FORMATTED and COMPRESSED exclude each other

Explanation:

The command to export or import data contains an error.

You cannot specify both COMPRESSED and FORMATTED as the format of a data stream. These formats exclude each other.

User Response:

Correct the format and re-execute the command.


Invalid file format specification; Separator/Delimiter is not allowed together with FORMATTED

 Entering content frame

-25214: Invalid file format specification; Separator/Delimiter is not allowed together with FORMATTED

Explanation:

The command to export or import data contains an error.

When FORMATTED is specified as the format of a data stream in a command, you cannot also specify separators or delimiters in the statement.

User Response:

Correct the entries and re-execute the command.


-25216: File format specification FORMATTED required (SAP Library - MaxDB Library)

 Entering content frame

-25216: File format specification FORMATTED required

Explanation:

The command to export or import data contains an error.

The INTEGER, REAL, DECIMAL, and ZONED formats for individual columns to be loaded or unloaded are only allowed if the data stream is set to the FORMATTED format.

User Response:

Correct the format and re-execute the command.


Invalid file format specification; no columns specified despite FORMATTED file format

 Entering content frame

-25218: Invalid file format specification; no columns specified despite FORMATTED file format

Explanation:

The command to export or import data contains an error.

The FORMATTED format was specified as the data stream in a command. However, no columns were specified. FORMATTED requires that every column to be downloaded or uploaded, be specified in the command.

User Response:

Correct the statement and re-execute it.


Columns must be specified in the command in ascending order according to their position

 Entering content frame

-25219: Columns must be specified in the command in ascending order according to their position

Explanation:

Error in the command for importing data.

In the command for the data stream, the format COMPRESSED was entered. In this case, the columns must be specified in the command in ascending order according to their position.

User Response:

Correct the entries and re-execute the command.


-25220: Invalid separator/delimiter specification (SAP Library - MaxDB Library)

 Entering content frame

-25220: Invalid separator/delimiter specification

Explanation:

The command to load or unload data contains an error.

Separators and delimiters must not contain more than one character.

User Action:

Correct the format and re-execute the command.


-25221: Invalid specification for representation of decimal numb (SAP Library - MaxDB Library)

 Entering content frame

-25221: Invalid specification for representation of decimal numbers

Explanation:

The command to export or import data contains an error.

The data stream format specification in a command includes a character string to be used for decimal numbers to arrange thousands and separate whole numbers from decimal places. The syntax of the character string is incorrect.

User Response:

Correct the entries and re-execute the command.


-25222: Invalid specification for representation of Boolean valu (SAP Library - MaxDB Library)

 Entering content frame

-25222: Invalid specification for representation of Boolean values

Explanation:

The command to export or import data contains an error.

The data stream format specification in a command includes a character string that specifies how BOOLEAN values to export or import from the database instance are displayed. The syntax of the character string is incorrect.

User Response:

Correct the entries and re-execute the command.


-25223: Invalid specification for representation of NULL values (SAP Library - MaxDB Library)

 Entering content frame

-25223: Invalid specification for representation of NULL values

Explanation:

The command to export or import data contains an error.

The specification of the character string with which NULL values are represented, or are to be represented, externally in a data stream does not have the correct syntax. Character strings representing NULL values can be a maximum of 20 characters long.

User Response:

Correct the file information and re-execute the command.


Invalid specification for language of messages; specify ENG or DEU

 Entering content frame

-25224: Invalid specification for language of messages; specify ENG or DEU

Explanation:

The command to load or unload data contains an error.

German (DEU) and English (ENG) are supported as languages for messages (error, status, and warning messages).

User Action:

Correct the file information and re-execute the command.


Invalid specification for the representation of thousand separator and decimal point in numerical values

 Entering content frame

-25225: Invalid specification for the representation of thousand separator and decimal point in numerical values

Explanation:

The command to load or unload data contains an error.

The specification of the thousand separator and the decimal point to be used when loading or unloading numerical values from the Loader does not have the correct syntax.

User Action:

Correct the file information and re-execute the command.


Maximum number of column specifications in a command has been exceeded

 Entering content frame

-25226: Maximum number of column specifications in a command has been exceeded

Explanation:

The command to load or unload data contains an error.

In a command to load or unload data, you cannot specify more columns than the database instance allows per table. This value of 1024 columns was exceeded in the command to be executed.

User Action:

Correct the file information and re-execute the command.


-25227: Maximum number of conditions in a command has been excee (SAP Library - MaxDB Library)

 Entering content frame

-25227: Maximum number of conditions in a command has been exceeded

Explanation:

The command to load or unload data contains an error.

In a command to load or unload data, you cannot specify more than 254 conditions in total for all columns. This value was exceeded in the command to be executed.

User Action:

Correct the file information and re-execute the command.


Invalid specification for external representation of date or time values

 Entering content frame

-25228: Invalid specification for external representation of date or time values

Explanation:

The command to export or import data contains an error.

The specification for the representation of date or time values (specified template) is invalid.

User Response:

Correct the specification so that the display matches the date or time value, and re-execute the command.


-25229: Incorrect comparison operator in condition (SAP Library - MaxDB Library)

 Entering content frame

-25229: Incorrect comparison operator in condition

Explanation:

The Loader command to export or import data contains an error.

The relational operator specified in the condition is not supported. The compare_operator syntax rule lists possible relational operators.

User Response:

Correct the file information and re-execute the command.


-25230: Cannot execute command; specify an output file for comma (SAP Library - MaxDB Library)

 Entering content frame

-25230: Cannot execute command; specify an output file for commands

Explanation:

Error in the Loader command for exporting data.

The command must contain specifications for at least 2 output files – one data stream for data and one data stream for the commands to be created. The data stream for the commands is missing in the command.

User Response:

Correct the file information and re-execute the command.


Specification of ROUND, TRUNC, or SCALE not allowed for this column

 Entering content frame

-25231: Specification of ROUND, TRUNC, or SCALE not allowed for this column

Explanation:

Error when loading or unloading data.

The ROUND, TRUNC, or SCALE specification is only possible for numerical table columns, that is, for table columns of type INTEGER, SMALLINT, FLOAT, or FIXED.

User Action:

Correct the file information and re-execute the command.


-25232: Unknown keyword (SAP Library - MaxDB Library)

 Entering content frame

-25232: Unknown keyword

Explanation:

The command to load or unload data contains an error.

The entered command contains an unknown keyword.

User Action:

Correct the statement and re-execute it.


Some column descriptions with end position but file format is COMPRESSED

 Entering content frame

-25233: Some column descriptions with end position but file format is COMPRESSED

Explanation:

Error in the Loader command to import or update data.

The format for the data stream is specified in the command as COMPRESSED. With this format, the positions in the column descriptions specify the number of the current field to be imported in a data line of the data stream. End positions are not allowed in this format.

User Response:

Correct the positions you entered and re-execute the command.


Some column descriptions without end position but file format is FORMATTED

 Entering content frame

-25234: Some column descriptions without end position but file format is FORMATTED

Explanation:

Error in the Loader command to import or update data.

The FORMATTED format for the data streams is specified in the command as FORMATTED. With this format, position specifications in the form start position ‑ end position are required.

User Response:

Correct the positions you entered and re-execute the command.


-25235: Some positions specified more than once (SAP Library - MaxDB Library)

 Entering content frame

-25235: Some positions specified more than once

Explanation:

Error in the Loader command for exporting data.

The format for the data stream is specified in the command as COMPRESSED. All values to be exported must be specified using different position specifications. Otherwise, exported values will be overwritten.

User Response:

Correct the position specification and re-execute the command.


-25236: Some positions overlap (SAP Library - MaxDB Library)

 Entering content frame

-25236: Some positions overlap

Explanation:

Error in the Loader command for exporting data.

The format for the data stream is specified in the command as FORMATTED. You must specify all the values to be exported using non-overlapping column position references in the command. Otherwise, any values that have already been exported will be overwritten.

User Response:

Correct the position specification and re-execute the command.


-25237: Cannot execute UPDATE COLUMNS command; specify set colum (SAP Library - MaxDB Library)

 Entering content frame

-25237: Cannot execute UPDATE COLUMNS command; specify set columns

Explanation:

Error when updating data using the UPDATE COLUMNS command.

The specifications required to execute the column update are missing from the command. The column specification must begin with the keyword SET.

User Response:

Correct the statement and re-execute it.


-25238: Cannot execute UPDATE COLUMNS command; specify access co (SAP Library - MaxDB Library)

 Entering content frame

-25238: Cannot execute UPDATE COLUMNS command; specify access columns

Explanation:

Error when updating data using the UPDATE COLUMNS command.

The column specifications required to execute the command are missing. The values specified in the columns represent the row in the target table that should be updated.

User Response:

Correct the statement and re-execute it.


-25239: Specified value is not a valid integer (SAP Library - MaxDB Library)

 Entering content frame

-25239: Specified value is not a valid integer

Explanation:

The Loader command to import or update data contains an error.

The value specified in a command is not recognized as an integer number (the range of values for integer numbers is 0 <= 2147483647).

User Response:

Correct the statement and re-execute it.


-25281: Syntax error at a certain position (SAP Library - MaxDB Library)

 Entering content frame

-25281: Syntax error at a certain position

Explanation:

The Loader discovered a syntax error in the command when it was parsed.

User Action:

Correct the statement and re-execute it.


-25301: Invalid input for date or time column (SAP Library - MaxDB Library)

 Entering content frame

-25301: Invalid input for date or time column

Explanation:

The command to import or update data contains an error.

When you enter values in columns of data type DATE or TIME, there are various formats you can use (INTERNAL, EUR, ISO, USA, JIS). The Loader uses these specifications to convert values to the internal database format for the respective data type when inserting the values..

This error occurs if a value you have specified is supposed to be inserted into a column of data type DATE or TIME and it cannot be converted into the correct internal database format.

User Response:

Correct the values and re-execute the command.


-25302: The value entered is not a valid numerical value (SAP Library - MaxDB Library)

 Entering content frame

-25302: The value entered is not a valid numerical value

Explanation:

The command to load or unload data contains an error.

This error can have several causes depending on the context in which it occurs.

A value that is to be loaded into a column with a numerical data type (INTEGER, FIXED (n, m), ...) cannot be converted into the internal format. The value is either too high or is not recognized as a number.

A value that is to be unloaded from a column with a numerical data type (INTEGER, FIXED (n, m), ...) cannot be converted into the external display format. The value is either too high or the data types are not compatible (for example, if you try to extract a value from a column of data type FLOAT and to display it externally as data type INTEGER BINARY).

Commands for loading or unloading data contain certain conditions, for example, for loading or unloading NULL values. If you have defined conditions for columns with a numerical data type, the values in these conditions must be recognized as a numerical value.

User Action:

Correct the values and re-execute the command.


-25303: Input value does not match key order or range specificat (SAP Library - MaxDB Library)

 Entering content frame

-25303: Input value does not match key order or range specification

Explanation:

Error in the Loader command for importing data.

All values that are to be imported must be available in key sequence in the data stream. The order is violated either due to the data record in the row (data format COMPRESSED or FORMATTED without binary data) or the position specified (format of the data stream: FORMATTED BINARY).

User Response:

Correct the data and re-execute the command.


-25304: Columns for key (KEY) or search condition missing (SAP Library - MaxDB Library)

 Entering content frame

-25304: Columns for key (KEY) or search condition missing

Explanation:

Error in the command for importing data.

No entries were made in one or more of the key fields of a table that is to be imported. The data record affected is specified in the next message.

User Response:

Correct the data and re-execute the command.


-25305: Data for key columns exceeds allowed key length (SAP Library - MaxDB Library)

 Entering content frame

-25305: Data for key columns exceeds allowed key length

Explanation:

An error has occurred when importing data.

User Response:

Correct the data and re-execute the command.


Invalid HEX constant found in code page file; the file might be corrupted

 Entering content frame

-25306: Invalid HEX constant found in code page file; the file might be corrupted

Explanation:

The command to import or update data contains an error.

You have specified in the command that the values to be imported in plain text are available in hexadecimal coding for one or more columns.

The values you have entered are not valid for hexadecimal display.

User Response:

Correct the values and re-execute the command.


-25308: CONSTRAINT condition violated (SAP Library - MaxDB Library)

 Entering content frame

-25308: CONSTRAINT condition violated

Explanation:

An error has occurred when importing data.

The data record specified does not meet the requirements defined in the CONSTRAINT condition for this table.

User Response:

Correct the data and re-execute the command.


-25309: Invalid input for BOOLEAN column (SAP Library - MaxDB Library)

 Entering content frame

-25309: Invalid input for BOOLEAN column

Explanation:

The Loader command to import or update data contains an error.

You can define how BOOLEAN values are displayed externally either in each individual command or in a command file for all commands.

The value to be uploaded is not compatible with this display type.

User Response:

Correct the data and re-execute the command.


-25310: Column must not contain NULL values (SAP Library - MaxDB Library)

 Entering content frame

-25310: Column must not contain NULL values

Explanation:

The Loader command to import or update data contains an error.

You cannot import NULL values into columns that have been defined as NOT NULL columns and that have no system default value.

User Response:

Correct the data and re-execute the command.


-25311: No Data for NOT NULL - column without default (SAP Library - MaxDB Library)

 Entering content frame

-25311: No Data for NOT NULL - column without default

Explanation:

Error in the Loader command for importing data.

This error occurs if no data is found in the data stream for a column that has been defined as NOT NULL and that has no system default value or if the column is not specified in the command.

User Response:

Correct the values or the command and re-execute the command.


-25313: Overflow occurred, execution aborted (SAP Library - MaxDB Library)

 Entering content frame

-25313: Overflow occurred, execution aborted

Explanation:

Error in the Loader command for exporting data.

A numerical value cannot be exported into the external format specified in the command. This error occurs if, for example, you try to export the value 2147483647 from data type INTEGER into an external binary INTEGER value that is only 2 bytes long.

In this case, you will only see an error message, and instead of numerical data, the data stream will only contain a corresponding number of asterisks (*). This error does not interrupt the data export.

User Response:

Check the data once it has been exported.


-25314: Fractional part too small for column, minimum length: (SAP Library - MaxDB Library)

 Entering content frame

-25314: Fractional part too small for column, minimum length:

Explanation:

Error in the command for exporting data.

The format you have defined for the external display of the specified column’s values (DECIMAL or ZONED format) contains too few decimal places. The number required is determined by the column definition in the database instance and/or the operations that are performed on the column values when they are exported.

User Response:

Correct the specifications you made for the external display of this column and re-execute the command.


Column data type of column and external data type are not compatible

 Entering content frame

-25315: Column data type of column and external data type are not compatible

Explanation:

Error in the command for exporting data.

User Response:

Select another external data type and re-execute the command.


Table contains at least one column defined as LONG; IMPORT in PAGE format rejected

 Entering content frame

-25316: Table contains at least one column defined as LONG; IMPORT in PAGE format rejected

Explanation:

Error in the command for importing data.

The table to be imported must not contain any columns of data type LONG. This also applies even if the column affected does not need to be imported, that is, even if the command does not list the column in the column description.

User Response:

Load the table with a different IMPORT command.


-25317: Constant must be compatible with column type and length (SAP Library - MaxDB Library)

 Entering content frame

-25317: Constant must be compatible with column type and length

Explanation:

The Loader command to import or update data contains an error.

The value you have entered cannot be imported into the column because it is either too long or the external data type and the column data type are incompatible.

User Response:

Correct the data and re-execute the command.


Syskey violation (the computed value exceeds the highest possible syskey value)

 Entering content frame

-25318: Syskey violation (the computed value exceeds the highest possible syskey value)

Explanation:

Error in the Loader command for importing data.

Data is being imported into a table containing no user-defined keys. If this is the case, the database generates its own internal key.

The key that is generated exceeds the maximum possible value. However, this error only occurs if the number of data records in the table exceeds 2E48.

User Response:

Please inform Support.


-25319: Unable to find any data for the column in the data file (SAP Library - MaxDB Library)

 Entering content frame

-25319: Unable to find any data for the column in the data file

Explanation:

An error has occurred in the command for uploading data (DATALOAD or FASTLOAD).

When you load data, you must specify data in the data stream for all columns included in the command. The only exceptions to this rule are columns that permit system default or NULL values.

The Loader found no data in the data stream for the specified column.

In addition to displaying this error message, the Loader also logs which row (text data stream) or which position in the data stream (binary data stream) the error occurred in.

User Response:

Check the data in the data stream and re-execute the command.


-25320: The LONG value could not be loaded into column (SAP Library - MaxDB Library)

 Entering content frame

-25320: The LONG value could not be loaded into column

Explanation:

The Loader command to import or update data contains an error.

An error occurred when importing a value into a column of data type LONG. The error message contains extra text outlining the cause of the failed upload.

User Response:

Correct the cause of the error and re-execute the command.


-25321: This condition value is not a valid number: (SAP Library - MaxDB Library)

 Entering content frame

-25321: This condition value is not a valid number:

Explanation:

The Loader command to import or update data contains an error.

You can specify conditions for individual columns in your commands, which then govern how the values are imported/updated. The system must be able to identify the constants in conditions for numerical columns as numbers.

If you see this error message, it means that the value you have entered as a constant is not recognized as a number.

User Response:

Correct the statement and re-execute it.


This condition value was truncated and cannot be used: ' '

 Entering content frame

-25322: This condition value was truncated and cannot be used: ' '

Explanation:

The Loader command to import or update data contains an error.

You can specify conditions for individual columns in your commands, which then govern how the values are imported/updated. The system must be able to identify the constants in conditions for numerical columns as numbers.

If you see this error message, it means that the value you have entered as a constant is recognized as a number. However, it was truncated by a few decimal places during conversion and therefore can no longer be used.

User Response:

Correct the statement and re-execute it.


Data type of null value representation for column is incompatible with the column data type

 Entering content frame

-25323: Data type of null value representation for column is incompatible with the column data type

Explanation:

Error in the Loader command for exporting data.

You can specify in your command a NULL value representation for individual columns. This means that if a NULL value is exported, the constant value you entered in the command is written into the data stream.

The data type of the constant value you specified and the external data type of the column to be exported must be compatible. If you do not specify a data type in the command, the default data type CHAR is used.

User Response:

Correct the statement and re-execute it.


Errors checking length of column specifications. See Loader server log file for more information

 Entering content frame

-25324: Errors checking length of column specifications. See Loader server log file for more information

Explanation:

Error in the Loader command for exporting data.

You can specify in your command the length of the values in the data stream for individual columns. Some of the lengths you specify may be shorter than the column lengths defined in the database. If this is the case, these values may be exported incorrectly.

This error message is only a summary of the error. The error messages –25203, -25204, and -25315 specify which column descriptions contain errors and are listed in the log file.

User Response:

Correct the statement and re-execute it.


Errors checking compatibility of external and db data types. See Loader server log file for more information

 Entering content frame

-25325: Errors checking compatibility of external and db data types. See Loader server log file for more information

Explanation:

Error in the Loader command for exporting data.

You can specify in your command the external data type of the values in the data stream for individual columns.

This error message is only a summary of the error. The error messages -25315 and -25323 specify which column descriptions contain errors and they are only listed in the log file.

User Response:

Correct the statement and re-execute it.


The exported number (column ) was truncated

 Entering content frame

-25326: The exported number (column ) was truncated

Explanation:

Error in the command for exporting data.

The number that was exported was truncated by a few decimal places when it was converted into an external data type.

This error does not cause the command to terminate.

User Response:

No user action required.


Error(s) exporting record; start position of incorrect record in data file:

 Entering content frame

-25327: Error(s) exporting record; start position of incorrect record in data file:

Explanation:

Error in the command for exporting data.

The data record included in the error message was exported incorrectly.

The position specified is only relevant for binary data streams because they state the exact position of the incorrect data record in the data stream. When dealing with text data streams, the position is always 1.

This error message was preceded by other error messages, which describe in more detail the error and the incorrect values in the data record.

This error does not cause the command to terminate if it was executed with error tolerance greater than 1.

User Response:

Check the incorrect data records.

If the command terminates, correct the statement and re-execute it.


Some error(s) while extracting data. See Loader server log file for more information

 Entering content frame

-25328: Some error(s) while extracting data. See Loader server log file for more information

Explanation:

Error in the Loader command for exporting data.

Only the client (for example, LOADERCLI) displays this error message.

User Response:

Check the problems that have occurred using the entries in the server log file of the Loader.

Correct the statement if necessary and re-execute it.


The given data file was not generated using EXPORT in PAGE Format

 Entering content frame

-25329: The given data file was not generated using EXPORT in PAGE Format

Explanation:

Error in the Loader command for importing data.

The data streams for this command must be binary and contain database structures and special information on executing the subsequent IMPORT command. These data streams are created using the EXPORT command and must not be modified.

The data stream specified in the command was modified after the export was executed or it was not created using the EXPORT command. In the cause of the error section you see which information in the data stream cannot be evaluated.

User Response:

Create the data stream using the EXPORT command and re-execute the command.


The page sizes of the source system and the target system do not match (source: , target: )

 Entering content frame

-25330: The page sizes of the source system and the target system do not match (source: , target: )

Explanation:

Error in the Loader command for importing data.

The data generated with the EXPORT command is a binary structure of the exported database. If you want to import the data into another database, it must have the same page size as the source database instance.

This error occurs when the page size of the database instance from which the tables were exported is different than the page size of database instance into which they are to be imported.

User Response:

Use a target database instance that has the same page size as the source database instance.

See also:

Loader documentation


-25331: This is a restricted statement, user must be SYSDBA (SAP Library - MaxDB Library)

 Entering content frame

-25331: This is a restricted statement, user must be SYSDBA

Explanation:

The Loader commands TABLEEXTRACT ALL, TABLELOAD ALL, CATALOGEXTRACT ALL, and CATALOGLOAD ALL affect the whole database catalog and can therefore only be executed by a data base system administrator.

User Response:

Call the Loader using the correct user ID or execute a USE USER command with the correct user ID beforehand.


Error getting schema definition of table ( ):

 Entering content frame

-25332: Error getting schema definition of table ( ):

Explanation:

Error in the command for exporting data.

When you execute an EXPORT command, all table data as well as the table’s structure is exported for each table. This means that the exported table can be completely restored when you call the IMPORT command.

An error occurred when the table’s structure was exported. You can find the cause of the error in the SQL error text.

User Response:

Analyze the cause of the error and re-execute the command.


Error getting index definitions for table ( )

 Entering content frame

-25333: Error getting index definitions for table ( )

Explanation:

Error in the command for exporting data.

When you execute an EXPORT command, all table data as well as the index definition is exported for each table. This means that the exported table can be completely restored when you call the IMPORT command.

An error occurred when the table’s index definitions were exported. You can find the cause of the error in the SQL error text.

User Response:

Analyze the cause of the error and re-execute the command.


-25334: File counter for data file exceeded maximum value of (SAP Library - MaxDB Library)

 Entering content frame

-25334: File counter for data file exceeded maximum value of

Explanation:

Error in the Loader command for exporting data.

To ensure that data streams generated during a EXPORT TABLE command do not exceed the default size, a series of files will be automatically generated on the basis of the data stream name specified in the command.

The maximum number of data files that can be generated is 9999.

User Response:

Correct the default size for one single data stream in the EXPORT TABLE command and re-execute the command.


Error restoring single table using data file with multiple table data; specify single table data file

 Entering content frame

-25335: Error restoring single table using data file with multiple table data; specify single table data file

Explanation:

Error in the command for importing data.

The data was exported with either the EXPORT USER or the EXPORT DB command. Data exported in this way can only be imported with the IMPORT USER or the IMPORT DB command. You cannot import one particular table using this data.

User Response:

If you want to import one particular table, you must first export it using the EXPORT TABLE command.

If you want to import all the data from the data stream, correct the command and re-execute it.


Error restoring multiple tables using data file with single table data; specify data file created using EXPORT DB or EXPORT USER

 Entering content frame

-25336: Error restoring multiple tables using data file with single table data; specify data file created using EXPORT DB or EXPORT USER

Explanation:

Error in the command for importing data.

The data was exported with the EXPORT TABLE command. If you use this command, only one table is exported. This can only be imported using the relevant IMPORT TABLE command.

You cannot import more than one table using this data.

User Response:

If you want to import all tables, or a particular user's tables, you must first export them with the EXPORT DB, or EXPORT USER, command.


-25337: Error restoring table; no table data found in data file (SAP Library - MaxDB Library)

 Entering content frame

-25337: Error restoring table; no table data found in data file

Explanation:

Error in the Loader command for importing data.

The specified data stream does not contain any data that can be used to import the table. Before a table can be imported, it must be exported using the EXPORT TABLE command.

User Response:

Export the table before you restore it.


-25338: Error during restart IMPORT; restart entry not found in mapping file

Explanation:

An error has occurred when restarting the data import.

You can restart cancelled imports using the IMPORT command. To enable you to do this, when the Loader executes the command, it writes a restart file containing the name of the last table to be imported successfully.

This error occurs if the Loader is unable to find the name of the table written to the restart file in the assignment file. One possible cause may be that the assignment file was modified after the import was cancelled.

User Response:

If possible, restore the assignment file to its original state. If this is not possible, you need to export and import all the data again to ensure your data is consistent.


Error during restart IMPORT; file could not be opened/read

 Entering content frame

-25339: Error during restart IMPORT; file could not be opened/read

Explanation:

Error when re-executing an IMPORT command for importing data.

The system was unable to open the restart file.

User Response:

Analyze and rectify the cause of the error. Execute the command again.


UCS2 conversion error; character string contains invalid characters or character sequences

 Entering content frame

-25340: UCS2 conversion error; character string contains invalid characters or character sequences

Explanation:

The Loader command for importing or updating data into a database instance that uses UNICODE contains an error.

If data is imported into columns of a character-based data type (CHAR), Loader converts it into a format that the database recognizes (UCS-2). In this case, an error has occurred during the conversion. The data that is to be imported contains characters that cannot be converted to UCS-2.

User Response:

Correct the rejected data and re-execute the command.


-25341: Error generating 'create table/index statements' (SAP Library - MaxDB Library)

 Entering content frame

-25341: Error generating 'create table/index statements'

Explanation:

Error in the command for exporting data.

When you execute the EXPORT command, data is exported and commands for creating tables (CREATE TABLE) and indexes (CREATE INDEX) are generated.

In this case, an error has occurred during the conversion. The error is described in more detail in the error message text specified in the error message.

User Response:

Rectify the cause of the error and re-execute the command.


Error restoring table ; table exists but source table schema and target table schema are different

 Entering content frame

-25342: Error restoring table ; table exists but source table schema and target table schema are different

Explanation:

Error in the command for importing data.

The specified table already exists in the database instance. The Loader has established that the structures of the source and target table are different. This means that the data cannot be imported.

User Response:

Change the structure of the target table so that it matches that of the source table. Execute the command again.


Column name(s) or number(s) do not match column names/numbers in select list:

 Entering content frame

-25343: Column name(s) or number(s) do not match column names/numbers in select list:

Explanation:

Error in the Loader command for exporting data.

The column names are present in the column list but are missing from the SELECT statement. These will not be downloaded and therefore cannot be backed up in the data file.

User Response:

If you want to export these columns as well, you must include them in the SELECT statement. Otherwise delete the column names from the column list.

Execute the command again.


Incorrect field length for column , minimum length

 Entering content frame

-25344: Incorrect field length for column , minimum length

Explanation:

Error in the Loader command for exporting data.

The length specified for output is too small and not all values that are possible based on the column definition in the database instance can be output.

User Response:

Correct the output length for the column specified and re-execute the command.


-25351: No long file info given for LONG column (SAP Library - MaxDB Library)

 Entering content frame

-25351: No long file info given for LONG column

Explanation:

Error in the Loader command for exporting data.

The column specified in the EXPORT command's SELECT statement is data type LONG. To export it, you must include a longfile_spec in the command for this column.

User Response:

Correct the statement and re-execute it.


Errors analyzing long file information. See loader server log file for more information

 Entering content frame

-25352: Errors analyzing long file information. See loader server log file for more information

Explanation:

Error in the Loader command for exporting data.

This error message is only a summary of the error. The error messages that preceded this message are listed in the log file.

User Response:

Check the error messages. Correct the statement and re-execute it.


Specified maximum number of LONG data files for column exceeded

 Entering content frame

-25353: Specified maximum number of LONG data files for column exceeded

Explanation:

Error during execution of the Loader command for exporting data.

In the command, you can set the longfile_spec in the syntax element for columns of data type LONG so that each value exported is written in a single data stream. Placeholders in the data stream name ('#') determine the maximum number of data streams that can be generated. For example, <name>### would mean that 1000 data streams can be generated.

This error occurs if the table contains more data records than the number of data streams that can be generated.

User Response:

Correct the command and then re-execute it.


-25354: LONGFILE specification missing or incorrect (SAP Library - MaxDB Library)

 Entering content frame

-25354: LONGFILE specification missing or incorrect

Explanation:

Error in the Loader command for importing or updating data, if all of a column’s LONG values to be inserted are in a LONG data stream.

The Loader was unable to locate any position specifications in the source data stream for the values in the LONG data stream.

User Response:

Correct the data stream and re-execute the command.


-25501: Error when opening file (SAP Library - MaxDB Library)

 Entering content frame

-25501: Error when opening file

Explanation:

An operating system-dependent text appears in the operating system error message, indicating the error that occurred. Reasons for the error may be that there is no file of this name or that the specified disk is write-protected, etc.

User Action:

Specify a different filename or correct the error (at operating system level).


-25502: Error when closing file (SAP Library - MaxDB Library)

 Entering content frame

-25502: Error when closing file

Explanation:

An operating system-dependent text appears in the operating system error message, indicating the error that occurred.

User Action:

No user action is required.


-25503: Error when reading file (SAP Library - MaxDB Library)

 Entering content frame

-25503: Error when reading file

Explanation:

An operating system-dependent text appears in the operating system error message, indicating the error that occurred.

User Action:

Fix the cause of the error and restart the Loader to process the terminated command.


-25504: Error when writing file (SAP Library - MaxDB Library)

 Entering content frame

-25504: Error when writing file

Explanation:

An operating system-dependent text appears in the operating system error message, indicating the error that occurred.

User Action:

Fix the cause of the error and restart the Loader to process the terminated command.


-25505: Error when erasing file (SAP Library - MaxDB Library)

 Entering content frame

-25505: Error when erasing file

Explanation:

An operating system-dependent text appears in the operating system error message, indicating the error that occurred.

User Action:

No user action is required.


-25507: Error when shrinking file (SAP Library - MaxDB Library)

 Entering content frame

-25507: Error when shrinking file

Explanation:

An operating system-dependent text appears in the operating system error message, indicating the error that occurred. Reasons for the error may be that there is no file of this name or that the specified disk is write-protected, and so on.

User Action:

Specify a different filename or correct the error at operating system level.


-25801: Internal program error (SAP Library - MaxDB Library)

 Entering content frame

-25801: Internal program error

Explanation:

An internal program error has occurred.

User Action:

Notify Support, specifying the details contained in the error message.


From -27000 to -28999 (SAP Library - MaxDB Library)

 Entering content frame

From -27000 to -28999

Error Messages of the liveCache

-27000 | Unknown error
-27003 | Numeric input parameter overflow
-27006 | Incompatible data types
-27009 | Command too long
-27014 | Connect not ok
-27015 | Connection down
-27016 | DB shut down
-27017 | Too many users
-27018 | Connection error
-27019 | Conversion UNICODE to ASCII not possible
-28001 | Access via NIL OID
-28002 | Invalid OID
-28003 | Unknown GUID
-28005 | Duplicate object
-28006 | Object not locked
-28007 | OID not compatible with given class
-28501 | Error reading OMS input stream
-28502 | Error writing OMS output stream
-28503 | Crash in DB-Procedure
-28505 | No component object found
-28508 | Unsupported parameter type
-28514 | Unknown OMS version
-28515 | OMS Version already open
-28516 | Commit or Rollback required
-28517 | Already in Critical Section
-28518 | Not in Critical Section
-28521 | Already in version
-28522 | Missing before image
-28523 | Unknown schema
-28524 | Duplicate schema
-28525 | Procedure Address not found
-28527 | Directory not found
-28529 | Too small name buffer
-28530 | omsTerminate called
-28531 | OMS read only
-28532 | Version bound by transaction
-28533 | Integer out of packed range
-28534 | Package must be recreated
-28600 | Invalid request code in package
-28601 | Object data packet for read missing
-28602 | Packet size does not match object size
-28603 | Requested packet size to transfer an object is too big
-28604 | Trying to queue too many data packets when sending object data
-28605 | Invalid operation in UDE Server-Kernel communication
-28606 | Communication error
-28607 | Missing object data packet
-28608 | Invalid reply for stored procedure
-28609 | Stored procedure not found
-28801 | Wrong class id
-28802 | Wrong object version
-28803 | Wrong object state
-28804 | Too old OID
-28806 | Nil page pointer
-28808 | Hash not found
-28810 | Duplicate hash key
-28813 | Unknown consistent version
-28814 | Object not found
-28815 | Object history not found
-28817 | Wrong object length
-28818 | Wrong object position
-28819 | Object has been updated by other transactions
-28823 | Page already in use
-28826 | Pagecounter inconsistent
-28828 | Inconsistent information concerning “is container dropped”
-28902 | Too many nested try/catch statements
-28903 | DBFunction $1 must return a value
-28822 to -28999 | Internal Error


-27000: Unknown error (SAP Library - MaxDB Library)

 Entering content frame

-27000: Unknown error

Explanation:

A system error has occurred.

User Action:

Contact Support.


-27003: Numeric input parameter overflow (SAP Library - MaxDB Library)

 Entering content frame

-27003: Numeric input parameter overflow

Explanation:

An overflow occurred in one of the following situations:

· With an SQL read statement:
when transferring a numerical value from the database instance to a host variable

or

· With an SQL write statement:
when transferring a numerical value of a host variable to the database instance.

User Action:

Contact Support.


-27006: Incompatible data types (SAP Library - MaxDB Library)

 Entering content frame

-27006: Incompatible data types

Explanation:

One of the following situations occurred:

· An SQL read statement attempted to read a value from the database instance to an incompatible host variable

or

· An SQL write statement attempted to write the value of an incompatible host variable to the database instance.

User Action:

Contact Support.


-27009: Command too long (SAP Library - MaxDB Library)

 Entering content frame

-27009: Command too long

Explanation:

An attempt was made to prepare or execute an SQL statement that is too long.

User Action:

Contact Support.


-27014: Connect not ok (SAP Library - MaxDB Library)

 Entering content frame

-27014: Connect not ok

Explanation:

An unspecified connection error occurred.

User Action:

Contact Support.


-27015: Connection down (SAP Library - MaxDB Library)

 Entering content frame

-27015: Connection down

Explanation:

The liveCache connection has been broken.

User Response:

Contact Support.


-27016: DB shut down (SAP Library - MaxDB Library)

 Entering content frame

-27016: DB shut down

Explanation:

An external SQL class attempted to connect to a database instance in the OFFLINE operating state.

User Action:

Contact Support.


-27017: Too many volumes (SAP Library - MaxDB Library)

 Entering content frame

-27017: Too many volumes

Explanation:

The maximum possible number of connections to the database instance was exceeded.

User Action:

Contact Support.


-27018: Connection error (SAP Library - MaxDB Library)

 Entering content frame

-27018: Connection error

Explanation:

An unspecified error occurred when an SQL statement was executed in liveCache.

User Response:

Contact Support.


-27019: Conversion UNICODE to ASCII not possible (SAP Library - MaxDB Library)

 Entering content frame

-27019: Conversion UNICODE to ASCII not possible

Explanation:

You want to be able to read a UNICODE character set from the database instance to an ASCII variable. However, at least one character is a UNICODE character which cannot be converted to ASCII.

This error can only occur if native SQL was entered in UNICODE columns in liveCache, or if UNICODE and ASCII applications are both using the same liveCache instance.

User Action:

If you modified UNICODE columns in liveCache using native SQL, check whether these changes are ASCII-compliant.

If you did not make any changes using native SQL, contact Support.


-28001: Access via NIL OID (SAP Library - MaxDB Library)

 Entering content frame

-28001: Access via NIL OID

Explanation:

Invalid OMS operation, for example, dereferencing (omsDeref) when specifying the NIL Oid. This is not allowed.

User Action:

Contact Support.


-28002: Invalid OID (SAP Library - MaxDB Library)

 Entering content frame

-28002: Invalid OID

Explanation:

Invalid OID specified for an OMS operation.

This is the case if the page number or position part of the OID falls outside of the permitted limits.

User Action:

Contact Support.


-28003: Unknown GUID (SAP Library - MaxDB Library)

 Entering content frame

-28003: Unknown GUID

Explanation:

A non-registered class was addressed.

A persistent class must be registered with omsRegClass before it is accessed for the first time.

User Action:

Contact Support.


-28005: Duplicate object (SAP Library - MaxDB Library)

 Entering content frame

-28005: Duplicate object

Explanation:

An attempt was made to generate a copy of a variable object (omsLoadVarObject), even though the caller already owns a copy.

This copy must first be released with omsReleaseVarObject.

User Action:

Contact Support.


-28006: Object not locked (SAP Library - MaxDB Library)

 Entering content frame

-28006: Object not locked

Explanation:

When it attempted to change or delete an instance of a persistent class, liveCache determined that the current transaction does not have a lock for this instance.

This is not allowed.

User Response:

Contact Support.


-28007: OID not compatible with given class (SAP Library - MaxDB Library)

 Entering content frame

-28007: OID not compatible with given class

Explanation:

An attempt was made to dereference an object whose OID does not match the specified class.

The types of the OID and object are not compatible.

User Action:

Contact Support.


-28501: Error reading OMS input stream (SAP Library - MaxDB Library)

 Entering content frame

-28501: Error reading OMS input stream

Explanation:

A read error occurred in an internal ABAP table or in a stream.

For more information, see the liveCache file knldiag.

User Response:

Contact Support.


-28502: Error writing OMS output stream (SAP Library - MaxDB Library)

 Entering content frame

-28502: Error writing OMS output stream

Explanation:

A write error occurred in an internal ABAP table or in a stream. For more information, see the liveCache file knldiag.

User Response:

Contact Support.


-28503: Crash in DB Procedure (SAP Library - MaxDB Library)

 Entering content frame

-28503: Crash in DB Procedure

Explanation:

When a database procedure was called, a non-handled exception occurred in the method code of the corresponding component instance.

For more information, see the liveCache file knldiag.

User Response:

Contact Support.


-28505: No Component Object found (SAP Library - MaxDB Library)

 Entering content frame

-28505: No Component Object found

Explanation:

The OMS library could not be loaded when liveCache was started.

liveCache cannot run.

User Response:

Contact Support.


-28508: Unsupported parameter type (SAP Library - MaxDB Library)

 Entering content frame

-28508: Unsupported parameter type

Explanation:

liveCache cannot assign an SQL data type to a parameter in a method of a component class.

User Response:

Contact Support.


-28514: Unknown OMS Version (SAP Library - MaxDB Library)

 Entering content frame

-28514: Unknown OMS Version

Explanation:

When liveCache called omsOpenVersion, OmsCloseVersion, omsDropVersion or omsRenameVersion, it established that the specified OMS version does not exist.

User Response:

Contact Support.


-28515: OMS Version already open (SAP Library - MaxDB Library)

 Entering content frame

-28515: OMS Version already open

Explanation:

When liveCache called omsOpenVersion, it established that the addressed OMS version was already opened by a competing task.

This OMS version cannot be opened until the task closes this version and ends the transaction.

User Response:

Contact Support.


-28516: Commit or Rollback required (SAP Library - MaxDB Library)

 Entering content frame

-28516: Commit or Rollback required

Explanation:

When liveCache called omsCreateVersion, omsOpenVersion or omsDropVersion, it established that changes have already been made to instances in persistent classes in the current transaction.

This is not allowed, since the current transaction must already have ended.

User Response:

Contact Support.


-28517: Already in Critical Section (SAP Library - MaxDB Library)

 Entering content frame

-28517: Already in Critical Section

Explanation:

The omsEnter function was called for an instance of OmsCriticalSection although this instance is already in the critical section.

This is not allowed.

User Action:

Contact Support.


-28518: Not in Critical Section (SAP Library - MaxDB Library)

 Entering content frame

-28518: Not in Critical Section

Explanation:

The omsLeave function was called for an instance of OmsCriticalSection although this instance is not in the critical section.

This is not allowed.

User Action:

Contact Support.


-28521: Already in version (SAP Library - MaxDB Library)

 Entering content frame

-28521: Already in version

Explanation:

When liveCache called omsOpenVersion, it established that the caller is already in an OMS version.

This is not allowed.

User Response:

Contact Support.


-28522: Missing before image (SAP Library - MaxDB Library)

 Entering content frame

-28522: Missing before image

Explanation:

The omsStore function established that no before-image exists of the object that needs to be changed.

In this case, no ForUpd pointer is requested for the object.

No changes can be made to the object.

User Action:

Contact Support.


-28523: Unknown schema (SAP Library - MaxDB Library)

 Entering content frame

-28523: Unknown schema

Explanation:

An attempt was made to access a non-existent Structure link liveCache schema.

This can occur when registering or deleting a container, or when resolving a liveCache schema.

User Action:

Contact Support.


-28524: Duplicate schema (SAP Library - MaxDB Library)

 Entering content frame

-28524: Duplicate schema

Explanation:

When liveCache called the omsCreateSchema function, it established that a Structure link liveCache schema with the specified name already exists.

This is not allowed.

User Response:

Contact Support.


-28525: Procedure Address not found (SAP Library - MaxDB Library)

 Entering content frame

-28525: Procedure Address not found

Explanation:

The function specified when dbpGetProcAddress was called could not be localized.

User Action:

Contact Support.


-28527: Directory not found (SAP Library - MaxDB Library)

 Entering content frame

-28527: Directory not found

Explanation:

The path name could not be retrieved for dbpGetDbrootSapPath or dbpGetWorkingDirectory.

The buffer for the name is too small.

User Action:

Contact Support.


-28529: Too small name buffer (SAP Library - MaxDB Library)

 Entering content frame

-28529: Too small name buffer

Explanation:

The buffer for the return values is too small for omsGetLiveCacheVersion, omsGetLocalDateTime, omsGetLocalDateTime or omsGetSchemaName.

User Action:

Contact Support.


-28530: omsTerminate called (SAP Library - MaxDB Library)

 Entering content frame

-28530: omsTerminate called

Explanation:

The omsTerminate method was called.

This cancelled all component instances in the relevant session, and reset the current transaction.

User Action:

Contact Support.


-28531: OMS read only (SAP Library - MaxDB Library)

 Entering content frame

-28531: OMS read only

Explanation:

An attempt was made to lock an object, although the calling session is in read-only mode. This is not allowed.

User Action:

Contact Support.


-28532: Version bound by transaction (SAP Library - MaxDB Library)

 Entering content frame

-28532: Version bound by transaction

Explanation:

When liveCache is called, omsOpenVersion determined that the addressed OMS version is already linked to a competing task, but has not been opened.

The version cannot be opened until the task has ended its transaction.

User Response:

Contact Support.


-28533: Integer out of packed range (SAP Library - MaxDB Library)

 Entering content frame

-28533: Integer out of packed range

Explanation:

An 8 byte integer value needs to be converted into a value with the type OmsTypePacked_8_3 that is outside the permitted range.

User Action:

Contact Support.


-28534: Package must be recreated (SAP Library - MaxDB Library)

 Entering content frame

-28534: Package must be recreated

Explanation:

The library assigned to the package was changed after the package was created.

User Action:

Delete the package and create it again.


-28600: Invalid request code in packet (SAP Library - MaxDB Library)

 Entering content frame

-28600: Invalid request code in packet

Explanation:

The packet contains invalid request code.

User Action:

Contact your local support.


-28601: Object data packet for read missing (SAP Library - MaxDB Library)

 Entering content frame

-28601: Object data packet for read missing

Explanation:

A data packet is missing because an end point has sent too few data packets.

This error only occurs if you are using socket communication. In shared memory communication, data is exchanged directly using shared memory. In contrast, in socket communication, data is sent in extra packets before the request packet and after the response package.

User Action:

Contact your local support.


-28602: Packet size does not match object size (SAP Library - MaxDB Library)

 Entering content frame

-28602: Packet size does not match object size

Explanation:

This error only occurs if you are using non-shared-memory communication.

The specified object size does not match the size of the received package.

User Action:

Contact your local support.


-28603: Requested packet size to transfer an object is too big (SAP Library - MaxDB Library)

 Entering content frame

-28603: Requested packet size to transfer an object is too big

Explanation:

The packet size allowed in the communication channel is too small to accept the object.

User Action:

Increase the packet size for the communication channel.


-28604: Trying to queue too many data packets when sending objec (SAP Library - MaxDB Library)

 Entering content frame

-28604: Trying to queue too many data packets when sending object data

Explanation:

The upper limit for the length of the wait queue for non-shared memory has been reached. This error often occurs in mass operations if there are too many objects in the wait queue.

User Action:

Change the code that controls the wait queue for packets, so that fewer packets end up in the queue. Mass operations are to send a maximum of 100 packets to the wait queue.


-28605: Invalid operation in UDE Server-Kernel communication (SAP Library - MaxDB Library)

 Entering content frame

-28605: Invalid operation in UDE Server-Kernel communication

Explanation:

An attempt was made to send object data through a communication channel in a shared memory communication. In a shared memory communication, object data is always exchanged using addresses in the shared memory. The data cannot be sent through a communication channel.

User Action:

Contact your local support.


-28606: Communication error (SAP Library - MaxDB Library)

 Entering content frame

-28606: Communication error

Explanation:

This error only occurs if you are using socket communication.

An unexpected data packet has been received, or the size of the data packet does not match the object size specified in the request packet.

User Action:

Contact your local support.


-28607: Missing object data packet (SAP Library - MaxDB Library)

 Entering content frame

-28607: Missing object data packet

Explanation:

A data packet is missing because an end point has sent too few data packets.

This error only occurs if you are using socket communication. In shared memory communication, data is exchanged directly using shared memory. In contrast, in socket communication, data is sent in extra packets before the request packet and after the response package.

User Action:

Contact your local support.


-28608: Invalid reply for stored procedure (SAP Library - MaxDB Library)

 Entering content frame

-28608: Invalid reply for stored procedure

Explanation:

The reply packet is invalid for the query.

User Action:

Contact your local support.


-28609: Stored procedure not found (SAP Library - MaxDB Library)

 Entering content frame

-28609: Stored procedure not found

Explanation:

The user has tried to call a saved procedure. However, this procedure could not be found in the assigned DB procedure.

User Action:

Check whether the procedure is the same as your DB procedure definition in the database catalog.


-28801: Wrong class id (SAP Library - MaxDB Library)

 Entering content frame

-28801: Wrong class id

Explanation:

An incorrect container ID was used to access an object.

This is an internal liveCache error that cannot be caused by incorrect handling of the OMS API.

User Action:

Contact Support.


-28802: Wrong object version (SAP Library - MaxDB Library)

 Entering content frame

-28802: Wrong object version

Explanation:

An attempt was made to lock a deleted or reused object.

This error is translated as an OmsOutOfDate Exception, but can be logged as an error in the knldiagfile.

User Action:

Contact Support.


-28803: Wrong object version (SAP Library - MaxDB Library)

 Entering content frame

-28803: Wrong object version

Explanation:

An attempt was made to access a deleted object. This error is translated as an OmsOutOfDate Exception, but can be logged as an error in the knldiagfile.

User Action:

Contact Support.


-28804: Too old OID (SAP Library - MaxDB Library)

 Entering content frame

-28804: Too old OID

Explanation:

When liveCache dereferenced an OID, it could not decide whether the OID ever existed.

See also error message –28815.

This error is translated as an OmsOutOfDate Exception.

User Response:

Contact Support.


-28806: Nil page pointer (SAP Library - MaxDB Library)

 Entering content frame

-28806: Nil page pointer

Explanation:

The container directory is inconsistent.

This is an internal liveCache error that cannot be caused by incorrect handling of the OMS API.

User Action:

Contact Support.


-28808: Hash not found (SAP Library - MaxDB Library)

 Entering content frame

-28808: Hash not found

Explanation:

A B* tree of a keyed object container could not be found.

This is an internal liveCache error that cannot be caused by incorrect handling of the OMS API.

User Action:

Contact Support.


-28810: Duplicate hash key (SAP Library - MaxDB Library)

 Entering content frame

-28810: Duplicate hash key

Erklärung:

A duplicate entry was found in the global container directory.

This is an internal liveCache error that cannot be caused by incorrect handling of the OMS API.

User Action:

Contact Support.


-28813: Unknown consistent version (SAP Library - MaxDB Library)

 Entering content frame

-28813: Unknown consistent version

Explanation:

An attempt was made to access an object in a consistent view that liveCache no longer recognizes.

This is an internal liveCache error that cannot be caused by incorrect handling of the OMS API.

User Response:

Contact Support.


-28814: Object not found (SAP Library - MaxDB Library)

 Entering content frame

-28814: Object not found

Explanation:

A non-existent OID was dereferenced.

User Action:

Contact Support.


-28815: Object history not found (SAP Library - MaxDB Library)

 Entering content frame

-28815: Object history not found

Explanation:

When an object is dereferenced, the liveCache data area that contains the before-images of persistent objects must satisfy the consistent view of the instance.

Before-images are sorted according to their age, from old to new.

Normally, only those before-images that are no longer accessed by a consistent view are deleted.

In exceptional cases, memory problems can result in the deletion of before-images that can still be accessed.

In these cases, liveCache can no longer retrieve the requested view of the instance.

The older the consistent view, the greater the likelihood of this phenomenon.

User Response:

Contact Support.


-28817: Wrong object length (SAP Library - MaxDB Library)

 Entering content frame

-28817: Wrong object length

Explanation:

An object does not fit in the memory.

This is an internal liveCache error that cannot be caused by incorrect handling of the OMS API.

User Action:

Contact Support.


-28818: Wrong object position (SAP Library - MaxDB Library)

 Entering content frame

-28818: Wrong object position

Explanation:

An OID contains an invalid position.

User Action:

Contact Support.


-28819: Object has been updated by other transactions (SAP Library - MaxDB Library)

 Entering content frame

-28819: Object has been updated by other transactions

Explanation:

An instance with the type OmsOutOfDate was captured as a DbpError.

User Action:

Contact Support.


-28823: Page already in use (SAP Library - MaxDB Library)

 Entering content frame

-28823: Page already in use

Explanation:

The database instance has tried to use a page that is already marked as in use.

User Action:

Inform your local support.


-28826: Pagecounter inconsistent (SAP Library - MaxDB Library)

 Entering content frame

-28826: Pagecounter inconsistent

Explanation:

The specifications for the page counter on the root page of the object container file and in the object file directory are not consistent.

This error can occur if CHECK DATA is executed.

User Action:

Inform your local support.


Inconsistent information concerning “is container dropped”

 Entering content frame

-28828: Inconsistent information concerning “is container dropped”

Explanation:

The specifications for “is container dropped” on the root page of the object container file and in the object file directory are not consistent.

This error can occur if CHECK DATA is executed.

User Action:

Inform your local support.


-28902: Too many nested try/catch statements (SAP Library - MaxDB Library)

 Entering content frame

-28902: Too many nested try/catch statements

Explanation:

A maximum of 16 nested TRY/CATCH blocks is permitted in a database procedure.

User Action:

Do not exceed the upper limit of 16 nested TRY/CATCH blocks when you code the database procedure.


-28903: DBFunction$1 must return a value (SAP Library - MaxDB Library)

 Entering content frame

-28903: DBFunction$1 must return a value

Explanation:

A database function does not contain a RETURN statement, which means that it cannot return a result. This is not allowed.

User Action:

Add a RETURN statement to the database function.


-28822 to -28999: Internal Error (SAP Library - MaxDB Library)

 Entering content frame

-28822 to -28999: Internal Error

Explanation:

Internal liveCache system errors.

User Action:

Contact Support.


From 0 to 1999 (SAP Library - MaxDB Library)

 Entering content frame

From 0 to 1999

Database Kernel System Messages

0 | Success
100 | Row not found
200 | Duplicate key
250 | Duplicate secondary key
300 | Integrity violation
320 | View violation
350 | Referential integrity violated
360 | Foreign key integrity violation
400 | Lock collision
500 | Lock request timeout
600 | Work rolled back
650 | Work rolled back
700 | Session inactivity timeout (work rolled back)
710 | Session terminated by shutdown (work rolled back)
750 | Too many SQL statements (work rolled back)
1403 | Row not found


0: Success (SAP Library - MaxDB Library)

 Entering content frame

0: Success

Explanation:

The SQL statement was successfully executed, with the required effect.

User Action:

No user action is required.


100: Row not found (SAP Library - MaxDB Library)

 Entering content frame

100: Row not found

Explanation:

There is no (further) table row which meets the criterion.

User Action:

No user action is required.


200: Duplicate key (SAP Library - MaxDB Library)

 Entering content frame

200: Duplicate key

Explanation:

There is already a table row with the key to be inserted.

User Action:

Check whether the existing table row contains the desired values. If this is not the case, check whether values in the existing table row can be replaced with the desired values. If a new table row must be inserted, change the value of the key to be inserted in the SQL statement in order to prevent key collisions.


250: Duplicate secondary key (SAP Library - MaxDB Library)

 Entering content frame

250: Duplicate secondary key

Explanation:

There is already a table row with the specified secondary key. UNIQUE was specified for the secondary key.

User Action:

To avoid a key value collision, correct the value of the key to be inserted in the SQL statement.

The error message specifies the column or multiple-column index already containing the specified values.


300: Integrity violation (SAP Library - MaxDB Library)

 Entering content frame

300: Integrity violation

Explanation:

Insertions or updates would violate integrity constraints (see Data Integrity Tools) specified in the definition of the base or view table.

User Action:

The error message specifies the column which would violate the integrity constraints.

Correct the input value for the corresponding column.


320: View violation (SAP Library - MaxDB Library)

 Entering content frame

320: View violation

Explanation:

An INSERT statement or UPDATE statement was specified for a view table. At least one of the rows specified in the SQL statement does not satisfy the search conditions of all underlying view tables defined using WITH CHECK OPTION.

User Action:

Display the definition of the view table using a QUERY statement issued on the DOMAIN.VIEWDEFS system table. Correct the INSERT or UPDATE statement according to this definition.


350: Referential integrity violated (SAP Library - MaxDB Library)

 Entering content frame

350: Referential integrity violated

Explanation:

The following causes are possible:

...

1. Inserting rows into a table that is the referencing table in a referential CONSTRAINT definition produces a row that is not a matching row of the CONSTRAINT definition.

2. Deleting rows from a referenced table (referenced_table) in a referential CONSTRAINT definition using ON DELETE RESTRICT in the DELETE rule produces a matching row.

3. When a referential CONSTRAINT definition is being executed, the referenced table or referencing table contains rows which conflict with the CONSTRAINT definition.

User Action:

...

1. Display the definition of the referential CONSTRAINT definition using a QUERY statement issued on the DOMAIN.FOREIGNKEYCOLUMNS system table. Correct the INSERT or UPDATE statement according to this definition.

2. Use a suitable QUERY statement to find out which row of the referencing table prevents the required rows from being deleted from the referenced table.

3. Use a suitable QUERY statement to find out which row of the referenced table or referencing table conflicts with the referential CONSTRAINT definition. Change or delete this row, or correct the CONSTRAINT definition.


360: Foreign key integrity violated (SAP Library - MaxDB Library)

 Entering content frame

360: Foreign key integrity violated

Explanation:

In an INSERT or UPDATE statement issued on a join view table, the column values that functionally depend on the referencing columns of the referencing table conflict with the existing column values.

User Action:

Resolve the conflict by modifying the column values or the existing values.


400: Lock collision (SAP Library - MaxDB Library)

 Entering content frame

400: Lock collision

Explanation:

When the option (NOWAIT) is specified in the LOCK statement or in the LOCK option , this confirmation signals that the lock request conflicts with the locks of other users.

User Action:

1. In interactive mode, another job can be activated which does not require the desired lock.

2. As an alternative, you can wait for the lock to be released by specifying the same SQL statement without the '(NOWAIT)' option.


500: Lock request timeout (SAP Library - MaxDB Library)

 Entering content frame

500: Lock request timeout

Explanation:

1. The lock request or an implicit lock conflicts with the locks of another user. The maximum waiting time for being granted the lock has elapsed (special database parameter REQUEST_TIMEOUT).

2. The database instance could not be stopped in a certain time interval, because transactions with SQL statements for data modification are still open.

User Action:

3. In some cases, the error message contains a more detailed description of the error. The lock request can be reissued. To avoid possible deadlock situations, it is advisable to roll back the transaction using a ROLLBACK statement.

4. Do without the shutdown, or force a shutdown of the database instance using the QUICK option.


600: Work rolled back (SAP Library - MaxDB Library)

 Entering content frame

600: Work rolled back

Explanation:

The user’s transaction was implicitly cancelled and reset by a ROLLBACK statement because

1. You failed to carry out any ADABAS operations within a certain period of time (installation parameter LOCK_TIMEOUT) but held locks which other users were waiting for, or because

2. the database instance was in a deadlock situation. The database server was in a situation in which two or more users are holding locks and request further locks that are being held by other users. In the simplest case of two users, one user holds one lock at least and requests another lock. But this lock is held by another user who is himself waiting for the lock held by the first user. This situation can only be resolved if one of the users releases the lock already obtained.

User Action:

In some cases, the error message contains a more detailed description of the error.

In both cases, the lock requests must be checked and modified, if necessary. The last transaction must be repeated.


650: Work rolled back (SAP Library - MaxDB Library)

 Entering content frame

650: Work rolled back

Explanation:

The user's transaction was canceled implicitly and reset by an implicit ROLLBACK statement because the log area is full.

User Action:

The error text contains a precise description of the error.

Save the log area (log backup).


700: Session inactivity timeout (work rolled back) (SAP Library - MaxDB Library)

 Entering content frame

700: Session inactivity timeout (work rolled back)

Explanation:

Your transaction was implicitly canceled and rolled back by an implicit ROLLBACK statement. The database session was implicitly terminated because the user failed to carry out any operations during a certain period of time (special database parameter SESSION_TIMEOUT, or the timeout value specified in the CONNECT statement).

User Action:

Repeat the CONNECT statement and, if necessary, specify a larger timeout value.

You will also need to check the value of the SESSION_TIMEOUT database parameter, and possibly change this value.


710:Session terminated by shutdown (work rolled back) (SAP Library - MaxDB Library)

 Entering content frame

710:Session terminated by shutdown (work rolled back)

Explanation:

The user’s transaction was implicitly cancelled and reset by a ROLLBACK statement. The database session was terminated because the Database Manager shut the database instance down. To speed up a later restart, the database system tries to reset and not just terminate open transactions within a short period.

User Action:

Once the database is ready, repeat the CONNECT statement and the transaction.


750: Too many SQL statements (work rolled back) (SAP Library - MaxDB Library)

 Entering content frame

750: Too many SQL statements (work rolled back)

Explanation:

The user’s transaction was cancelled implicitly and reset by a ROLLBACK statement. The database session was terminated, since you had issued too many SQL statements or had performed too many transactions within a session.

User Action:

After a new CONNECT statement the transaction may be repeated.


1403: Row not found (SAP Library - MaxDB Library)

 Entering content frame

Background documentation 1403: Row not found

Explanation:

There is no (other) table row that meets the specified criteria.

User Action:

No user action is required.


From 25000 to 25999 (SAP Library - MaxDB Library)

 Entering content frame

Background documentation From 25000 to 25999

Loader System Messages

25601 | Output of NULL values for column will be truncated
25602 | Possible overflow of integer values for column
25603 | Output of literal will be truncated
25604 | Surplus long file info (column name/id ) ignored
25605 | No header in binary data file and no record length in command (using computed value of bytes for record length)
25606 | Different byte swap of source and target machine; long values may be corrupted after import
25607 | Value for USAGE too small. Row does not fit onto database page. Ignoring value
25608 | Restart file not found; starting import from the beginning


Output of NULL values for column will be truncated

 Entering content frame

25601: Output of NULL values for column will be truncated

Explanation:

A warning appears when you use the Loader command for exporting data.

The character string for the value NULL is longer than the output length that has been defined for a column. The character string has only been partially output.

This warning does not cause the command to terminate.

User Response:

No user action is required.


25602: Possible overflow of integer values for column (SAP Library - MaxDB Library)

 Entering content frame

25602: Possible overflow of integer values for column

Explanation:

A warning appears when you use the Loader command for exporting data.

The length specified for output is too small and not all values of the integer data type that are possible based on the column definition in the database instance can be output.

This warning does not cause the command to terminate.

User Response:

No user action is required.


25603: Output of literal will be truncated (SAP Library - MaxDB Library)

 Entering content frame

25603: Output of literal will be truncated

Explanation:

A warning appears when you use the Loader command for exporting data.

The length of the literal exceeds the output length that has been defined. The literal will only be partially output.

This warning does not cause the command to terminate.

User Response:

No user action is required.


25604: Surplus long file info (column name/id) ignored (SAP Library - MaxDB Library)

 Entering content frame

25604: Surplus long file info (column name/id) ignored

Explanation:

This warning appears if you are using the Loader command for exporting data and you want to export LONG columns.

In your command, you have specified LONG data streams that cannot be assigned to a column in the command's column list. Any supernumerary LONG data streams will be ignored when exporting the data.

This warning does not cause the command to terminate.

User Response:

No user action is required.


No header in binary data file and no record length in command (using computed value of bytes for record length)

 Entering content frame

25605: No header in binary data file and no record length in command (using computed value of bytes for record length)

Explanation:

Warning for the Loader command for importing or updating data from binary data streams.

Once the Loader has exported the data, the binary data stream contains a header with the length of an individual data record in the data stream. The system was unable to find this header. The length of an individual data record was not specified in the command either.

For this reason, the Loader calculates the record length based on the column lengths defined in the command.

This warning does not cause the command to terminate.

User Response:

No user action is required.


Different byte swap of source and target machine; long values may be corrupted after import

 Entering content frame

25606: Different byte swap of source and target machine; long values may be corrupted after import

Explanation:

A warning appears when you use the Loader command for importing data.

The table to be imported contains LONG values. The byte swap of the source and target computers is different. For this reason, LONG values may be incorrect or corrupt once they have been imported.

This warning does not cause the command to terminate.

User Response:

Check the LONG values in the database instance after they have been imported:

· If they have been imported without any errors, you do not need to take any action.

· If the LONG values contain errors, they must be re-imported.


Value for USAGE too small. Row does not fit onto database page. Ignoring value

 Entering content frame

25607: Value for USAGE too small. Row does not fit onto database page. Ignoring value

Explanation:

A warning appears when you use the Loader command for importing data.

The table to be imported has been defined in the database instance in such a way that a single data record is greater than the value specified for USAGE. For this reason, the Loader ignores the USAGE value.

This warning does not cause the command to terminate.

User Response:

No user action required.


25608: Restart file not found; starting import from the beginnin (SAP Library - MaxDB Library)

 Entering content frame

25608: Restart file not found; starting import from the beginning

Explanation:

A warning appears when you use the Loader command for importing data.

The syntax element RESTART was specified in the command. The Loader is unable to find the restart file specified in the command. It restarts the importing from the beginning.

This warning does not cause the command to terminate.

User Response:

No user action required.


MaxDB Security Guide (SAP Library - MaxDB Library)

 Entering content frame

Component documentation MaxDB Security Guide

Purpose

The purpose of this security guide is to assist you in making your MaxDB database system secure.

Features

· Introduction

· Before You Start

· Technical System Landscape

· User Administration and Authentication

· Authorizations

· Network and Communication Security

· Data Storage Security

· Dispensable Functions with Impacts on Security

· Other Security-Relevant Information

· Trace and Log Files

· Appendix


Introduction (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Introduction

This guide does not replace the daily operations manual that we recommend customers create for their specific production operations.

This guide represents the latest state of development. The contents may be changed without prior notice and are not binding for SAP.

Target Audience

· Technology consultants

· System administrators

This document is part of the Installation Guides, Configuration Guides, Technical Operation Manuals, or Upgrade Guides. Such guides are only relevant for a certain phase of the software life cycle, whereby the Security Guides provide information that is relevant for all life cycle phases.

Why Is Security Necessary?

With the increasing use of distributed systems and the internet for managing business data, the demands on security are also on the rise. When using a distributed system, you need to be sure that your data and processes support your business needs without allowing unauthorized access to critical information. User errors, negligence, or attempted manipulation on your system should not result in loss of information or processing time. These security requirements naturally also apply to MaxDB. We offer this Security Guide to assist you in securing MaxDB.

About This Document

The Security Guide provides an overview of security-relevant information that applies to MaxDB.

Overview of the Main Sections

The Security Guide comprises the following main sections:

· Before You Start

This section contains information about why security is necessary, how to use this document, and references to other Security Guides that build the foundation for this Security Guide.

· Technical System Landscape

This section provides an overview of the technical components and communication paths used by MaxDB.

· User Administration and Authentication

This section provides an overview of the following user administration and authentication aspects:

¡ Recommended tools for user management

¡ The user types required by MaxDB

¡ The standard users delivered with MaxDB

· Authorizations

This section provides an overview of the MaxDB authorization concept.

· Network and Communication Security

This section provides an overview of the communication paths used by MaxDB and the security mechanisms that apply.

· Data Storage Security

This section provides an overview of the critical data used by MaxDB and the security mechanisms that apply.

· Dispensable Functions with Impacts on Security

This section provides an overview of functions that have impacts on security and can be disabled or removed from the system.

· Other Security-Relevant Information

This section contains information about:

¡ User input in SQL statements

· Trace and Log Files

This section provides an overview of the trace and log files that contain security-relevant information, for example, so you can reproduce activities if a security breach does occur.

· Appendix

Overview of the variables and examples used in this guide


Before You Start (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Before You Start

Fundamental Security Guides

For more information on security measures for MaxDB in SAP systems, see the SAP NetWeaver Security Guide.

A complete list of all available SAP Security Guides can be found in the SAP Service Marketplace at service.sap.com/securityguide

Important SAP Notes

Current SAP notes that contain security-relevant information for MaxDB can be found in the SAP Service Marketplace at service.sap.com/security ® Security ® SAP Security Notes for component BC-DB-SDB SAP DB.

Additional Information

For more information about specific topics, see the quick links shown in the table below.

Quick Links to Additional Information

Contents | Quick Link to the SAP Service Marketplace
Security | service.sap.com/security
Security Guides | service.sap.com/securityguide
Related SAP notes | service.sap.com/notes
Released platforms | service.sap.com/platforms
Network security | service.sap.com/securityguide
SAP Solution Manager | service.sap.com/solutionmanager


Technical System Landscape (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Technical System Landscape

The following graphic presents an overview of the MaxDB technical system landscape.

Schematic overview of the technical system landscape

This graphic is explained in the accompanying text

More Information About the Technical System Landscape

Topic | Document | Quick Link to the SAP Service Marketplace
MaxDB technical system landscape | Concepts of the Database System, Technical System Landscape |
Technical description of SAP NetWeaver | Master Guide | service.sap.com/instguides
Security |  | service.sap.com/security


User Administration and Authentication (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Administration and Authentication

Before you can work with the database system, you must log on to the database instance with a database tool or via an interface. You log on with your user name. You enter your password and the database system authenticates your identity using this password.

Hazards

· Unauthorized Access of the Database Instance

A person who is not authorized to access the database instance learns the user name and password of an authorized user. Particularly at risk are standard users with standard passwords that are commonly known.

The person logs onto the database instance using the identity of the authorized user.

Activities

· Changing the Passwords of Standard Users

· Checking Log Files for Failed Logon Attempts

See also:

Concepts of the Database System, Users, Authentication and Authorizations


Changing the Passwords of Standard Users (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Changing the Passwords of Standard Users

Use

The following standard users are created during the installation of the MaxDB database system.

MaxDB Standard Users

Name (Default value) | Password (Default value) | Description
DBADMIN DBA (up to version 7.5 inclusive) | SECRET DBA (up to version 7.5 inclusive) | Database System Administrator (SYSDBA user)
DBM | SECRET DBM | Database Manager Operator (DBM operator) with all server authorizations
DBSERVICE | SECRET | Synchronization user for the Synchronization Manager If you do not use the Synchronization Manager, you can delete this user and all the database objects assigned to it.

As a rule, the following standard users are created during installation in SAP systems.

SAP Standard Users for Databases

Name | Password | Description
SUPERDBA | ADMIN | Database System Administrator (SYSDBA User)
CONTROL | CONTROL | Database Manager operator (DBM operator) with all server authorizations
SAPR3 | SAP | In older SAP systems: Database administrator (database user of type DBA)
SAP<SAPSID> | SAP | In newer SAP systems, in particular in MCOD systems (Multiple Components One Database): Database administrator for the SAP system with the ID <SAPSID> (database user of the type DBA)
SAP<SAPSID>DB | SAP | In J2EE systems: Database administrator for the SAP system with the ID <SAPSID> (database user of the type DBA)

These users have comprehensive authorizations for working with the database system MaxDB.

Procedure

To keep unauthorized persons from learning the passwords of standard users, we recommend the following measures:

· Do not adopt the default passwords.

· Use secure passwords.

· Change the passwords regularly.

· To enable another user to work temporarily with the account of the database system administrator (SYSDBA user), you can temporarily assign a second password to the database system administrator. This way you do not have to reveal the password of the database system administrator.

Changing the Passwords for MaxDB Standard Users

Use the Database Manager database tool, or the CCMS in SAP systems. See:

· Database Manager GUI
Changing the Password of the Database Administrator
Changing the Password of a Database Manager Operator
Changing the Password of a Database User

· Database Manager CLI
Changing the DBM Operator Properties

· Database Administration in CCMS: MaxDB, Structure link User Data

· Database Administration in CCMS: SAP liveCache Technology, Structure link User Data

For security measures for standard operating system users, see Changing the Passwords of SAP Standard Operating System Users.

Assigning a Temporary Second Password to MaxDB Standard Users

Use the database tool Database Manager. See:

· Database Manager GUI
Changing the DMB Operator Properties of the Database System Administrator
Changing the DBM Operator Properties

· Database Manager CLI
Changing the DBM Operator Properties


Checking Log Files for Failed Logon Attempts (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Checking Log Files for Failed Logon Attempts

Use

The database system logs errors and important messages in several log files. For information about the name, path and function of log files, see Concepts of the Database System, Log Files.

By monitoring the log files, you can identify unusual activity in a timely way.

Procedure

Regularly check the following log files for failed logon attempts:

· Log file of the Database Manager

· Log file of the Loader

Example

Messages from the Database Manager for the database instance DEMODB are logged in the log file c:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\dbm.prt. In the event of a failed logon attempt, the Database Manager writes the following message in this log file:

command user_logon
ERR_USRFAIL: user authorization failed


Authorizations (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Authorizations

After the logon data has been authenticated, a user can, within the framework of his or her authorizations, access data in the database instance and use database tools.

The MaxDB database system has the following types of users:

· Database System Administrator (SYSDBA User)

The database system administrator has comprehensive authorizations for access to the database instance and database tools.

· Database User

Database users access the data in the database instance using SQL statements. The user class determines what authorizations a user has.

· DBM Operator (Database Manager Operator)

DBM operators manage database instances with the database tool Database Manager. A DBM operator’s server authorizations determine what authorizations he or she has.

For more information about server authorizations, see Concepts of the Database System, Server Authorizations for the DBM Server.

Hazards

· Reading of data by an unauthorized user

A user reads confidential data that should only be visible for a restricted group of users.

· Changing of data by an unauthorized user

A user changes data that should only be changed only by a restricted group of users.

Activities

· Defining Clear Authorizations for Users

· See also:

· Concepts of the Database System, Database Users.


Defining Clear Authorizations for Users (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Defining Clear Authorizations for Users

To ensure that users have only the authorizations that they need for their work, we recommend the following measures:

· Create an authorization concept that specifies clear authorizations for individual users:

¡ Define which database users are to have access to what data.

¡ Define which Database Manager operators are to carry out what administration tasks.

· Create a separate database user for each person who works with the database instance. In doing this, use the user classes STANDARD and RESOURCE where possible.

· Distribute the administration tasks. In addition to defining the database system administrator, define database users of the user class DBA and Database Manager operators.

· Assign Database Manager operators only the server authorizations that they really need.

In some cases it can make sense to create a Database Manager operator that can check the operational state of the database instance but cannot perform any administration tasks.

Creating Database Users and Defining User Classes

On Microsoft Windows, use the database tool Database Manager GUI:

· Database Manager GUI, Creating/Changing/Deleting a Database User

In other operating systems, use the database tool SQLCLI and the corresponding SQL statements for the authorization of users:

· SQLCLI, Executing an SQL Statement

· Reference Manual, Authorization

Creating Database Manager Operators and Adjusting Server Authorizations

To create Database Manager operators, use the database tool Database Manager:

· Database Manager GUI, Creating/Changing/Deleting a DBM Operator

· Database Manager CLI, Creating DBM Operators

To adjust the server authorizations of Database Manager operators, use the database tool Database Manager:

· Database Manager GUI: Changing the Server Authorizations

· Database Manager CLI: Changing the DBM Operator Data


Network and Communication Security (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Network and Communication Security

The database system consists of several components that can be located on different computers and in different networks. Data is transferred between these components as well as between database system and database application (for example an SAP system).

Hazards

· Data is intercepted

Unauthorized persons intercept data while this is being transferred between computers.

· Unauthorized access to database computer via the network

Unauthorized persons exploit security gaps in other programs in order to gain access to the database computer via a network connection.

Activities

· Securing Communication Channels

· Using the MaxDB X Server Behind a Firewall

· Using Web Tools Behind a Firewall

See also:

Technical System Landscape


Securing Communication Channels (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Securing Communication Channels

Use

Data is transferred via the following communication channels, among others:

Communication Channels

From | To | Protocol
MaxDB X Server | MaxDB client (database tool, interface) | TCP/IP Optional: SSL (only in SAP systems)
MaxDB X Server | SAProuter | NI (SAP protocol) Optional: NISSL (only in SAP systems)

Procedure

In SAP systems you can encrypt a data transfer to ensure that no data is intercepted during transfer between two computers.

For more information, see the Installation Guide for your SAP system; see SAP note 767598.

When logging onto a database instance, the user's password is encrypted rather than being transferred in plain text. See Concepts of the Database System, Authentication.

See also:

Documentation for SAProuter at SAP NetWeaver ® SAP NetWeaver Configuration ® SAP Web Application Server ® SAPRouter


Using the MaxDB X Server Behind a Firewall (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Using the MaxDB X Server Behind a Firewall

Use

You can use the MaxDB X Server behind a firewall, for example in a company LAN (local area network).

Example of a network with a firewall

This graphic is explained in the accompanying text

Procedure

To access a MaxDB X Server behind a firewall using a MaxDB client such as a MaxDB database tool, open the necessary ports in your firewall. See your firewall documentation for information about opening ports.

Ports and Protocols of the MaxDB X Server

Port Number | Log | Remarks
7210 | TCP/IP |
7269 | NI | Only in SAP systems
7270 | SSL NISSL | Only in SAP systems

See also:

X Server, Ports and Protocols of the X Server

Concepts of the Database System, Network Communication

Documentation for SAPRouter at SAP NetWeaver ® SAP NetWeaver Configuration ® SAP Web Application Server ® SAPRouter


Using Web Tools Behind a Firewall (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Using Web Tools Behind a Firewall

The further development of MaxDB Web DBM, MaxDB Web Server and the MaxDB Web Server Manager has been stopped. These programs are only included in the MaxDB software package up to and including version 7.5.

The default values for the installation are based on the assumption that MaxDB Web Tools will be operated in a secure environment behind a firewall.

If you have particularly stringent requirements for the security of your systems, change the default configuration as soon as you have installed the software for the Web Server and Web Tools as part of the standard software installation.


Data Storage Security (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Storage Security

The data that comprises the database instance is stored in the file system. There are several operating system users that have comprehensive authorizations for accessing database resources using the commands and functions of the operating system.

Access of Database Resources by Operating System Users

Database Resource | Access (UNIX/Linux) | Access (Microsoft Windows)
Volumes | <sdb_user> (owner) Members of the group <sdba_group>, if there is no support group Members of the support group | Members of the groups Administrators, System, Creator/Owner
Backups | <sdb_user> (owner) Members of the group <sdba_group> | Members of the groups Administrators, System, Creator/Owner
Files and directories of the database software | <sdb_user> (owner) Members of the group <sdba_group> | All
Database processes | <sdb_user> (owner) | Local system account
X Server | <sdb_user> (owner) | Local system account

In SAP systems there can be additional operating system users that have access to database resources and that can replace the <sdb_user> operating system user.

Access of Database Resources by SAP Standard Operating System Users

Database Resource | Access (UNIX/Linux) | Access (Microsoft Windows)
All | <sid>adm (SAP system administrator and database administrator in SAP systems) Member of the group <sdba_group> For liveCache database instances, also owner | <SID>ADM
All | <sqd>sid Obsolete, not for liveCache database instances Owner | <SQD>SID

<sid> = System ID of the SAP system

Hazards

· Access to unprotected database resources

A normal operating system user uses operating system commands to access database resources that are not protected by restrictions on the operating system level.

· Unauthorized access to protected database resources using external user data

A normal operating system user learns the password of a privileged operating system user and accesses protected database resources using operating system commands.

Activities

· Restricting Access to Database Resources (UNIX/Linux up to Database Version 7.4.03)

· Restricting Access to Database Resources (Microsoft Windows)

· Changing Passwords of SAP Standard Operating System Users

See also:

Appendix

See Concepts of the Database System, Special Operating System Users and Groups (UNIX/Linux)


Restricting Access to Database Resources (UNIX/Linux up to Database Version 7.4.03)

 Entering content frame

Background documentation Restricting Access to Database Resources (UNIX/Linux up to Database Version 7.4.03)

A new authorization concept came into effect as of database version 7.5. See Concepts of the Database System, Special Operating System Users and Groups (UNIX/Linux) The measures described in the following are relevant only for older database versions.

Up to and including database version 7.4.03, access rights in SAP systems on UNIX/Linux are automatically configured during installation as follows.

Access Rights in SAP Systems up to and Including Database Version 7.4.03: Directories

Directory | Privilege | Owner | Group | Notes
/sapdb/<SID>/sapdata | 750 | sqd<sid> | sapsys |
/sapdb/<SID>/saplog | 750 | sqd<sid> | sapsys |
/sapdb/<SID>/sapsys | 750 | sqd<sid> | sapsys |
/sapdb/<SID>/dbsys | 750 | sqd<sid> | sapsys | No longer applies as of 7.4
/sapdb/<SID>/db | 750 | sqd<sid> | sapsys | If a database version 7.5 or higher is installed on a computer together with an older version, change the access privileges for the directory /sapdb/<SID>/db of the older database version to 755 to ensure that the database processes of the newer versions have unrestricted access to it.

Access Rights in SAP Systems up to and Including Database Version 7.4.03: Files

File | Privilege | Owner | Group | Notes
/sapdb/<SID>/sapdata/* | 660 | sqd<sid> | sapsys |
/sapdb/<SID>/saplog/* | 660 | sqd<sid> | sapsys |
/sapdb/<SID>/sapsys/* | 660 | sqd<sid> | sapsys |
/sapdb/<SID>/dbsys/sys | 660 | sqd<sid> | sapsys | No longer applies as of 7.4

Access Rights in SAP Systems up to and Including Database Version 7.4.03: Raw Devices

Raw device | Privilege | Owner | Group | Notes
Raw devices for the database system | 660 | sqd<sid> |  | Link to the raw devices used as data volumes or log volumes

Procedure

To restrict access rights, proceed as follows:

...

1. Save the original settings. To do so, enter the following commands:

cd /usr/sap
ls -lR > sap_perm.txt

cd /sapmnt
ls -lR > sap_sw.txt

cd /sapdb/<SID>
ls -lR > sapdb_perm.txt

2. Grant the desired access privileges for files and directories with the chmod command:

chmod <access_privileges_in_octal_format> <file_or_directory>

chmod 750 /sapdb/<SID>/sap*

chmod 750 /sapdb/<SID>/sapdata/*

chmod 750 /sapdb/<SID>/saplog/*

...

Do not use chmod recursively. It is very easy to make unintended changes to authorizations when doing so.


Changing the Passwords of SAP Standard Operating System Users (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Changing the Passwords of SAP Standard Operating System Users

Many SAP systems make use of standard operating system users that, on the operating system level, have comprehensive access rights to database resources.

Standard Operating System Users in SAP Systems

Operating system user | Use
<sid>adm | SAP system administrator and database administrator in SAP systems
sqd<sid> | Owner of the database resources

<sid> = system ID of SAP system

Procedure

To keep unauthorized persons from learning the passwords of standard operating system users, we recommend the following measures:

· Do not adopt the default passwords.

· Use secure passwords.

· Change the passwords regularly.

Changing the Password of an Operating System User (UNIX/Linux)

...

1. Log on to the operating system with the <sid>adm user.

2. Open a shell.

3. Enter the command passwd.

4. Enter the old and new passwords.

Repeat the procedure for the sqd<sid> user.

If you use the Network Information Service (NIS), you can read how to change the passwords of operating system users in the NIS Guide.

Changing the Password of an Operating System User (Microsoft Windows)

...

1. Log on to the operating system as a user from the Administrators group.

2. Change the password of the operating system user <SID>ADM.


Dispensable Functions with Impacts on Security (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Dispensable Functions with Impacts on Security

You may not need all of the functions of the MaxDB database system.

Hazards

The more functions you have installed, the more potential hazards there are.

Activities

We recommend the following measures:

· Install only those software components that you really need. See Installation Manual, Software Components.

· Switching off the MaxDB X Server for Local Communication

· Starting the MaxDB X Server Without NI Support (Unix/Linux)

· Removing Demo Data


Switching Off the MaxDB X Server for Local Communication (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Switching Off the MaxDB X Server for Local Communication

Use

The MaxDB X Server is needed only for network communication. See Concepts of the Database System, Network Communication.

For local communication, that is, when the database instance and the database application (or database tool or the interface) are on the same computer, MaxDB uses shared memory. Two exceptions are the Event Dispatcher and the JDBC interface, which require the X Server even for local communication.

Prerequisites

You are using neither the Event Dispatcher nor the JDBC interface.

Procedure

Stop the X Server with the following command:

x_server stop

See also:

X Server, Stopping the X Server


Starting the MaxDB X Server Without NI Support (Unix/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Starting the MaxDB X Server Without NI Support (Unix/Linux)

Use

On UNIX/Linux, when the MaxDB X Server is started, the MaxDB NI Server is automatically started as a separate process to support the SAP NI network protocol.

If you use MaxDB outside of SAP systems, NI support is not necessary.

Procedure

Use option –Y when starting the X Server:

x_server –Y start

See also:

X Server, Starting the X Server


Removing Demo Data (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Removing Demo Data

Use

MaxDB is delivered with a demo database. This database was developed for practice and testing purposes and contains several predefined demo users and demo data.

Procedure

To prevent unauthorized users from logging on to a production system using the logon data of a demo user, we recommend the following:

· Use the demo database only for practice and testing purposes.

· If you build your database on the demo database, remove all demo users and their database objects.

See also:

Concepts of the Database System, Demo Database


Other Security-Relevant Information (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Other Security-Relevant Information

Hazards

· SQL Injection

Users insert invalid values into SQL statements and thereby cause errors in the database, precipitate a system failure or attempt to gain access to other systems.

Activities

· Checking User Input in SQL Statements


Checking User Input in SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Checking User Input in SQL Statements

To prevent users from entering invalid values in SQL statements and thereby causing unwanted changes to the data records or to the behavior of the database application (SQL injection), we recommend the use of prepared statements.

The following table shows which prepared statements can be used with which MaxDB interfaces.

MaxDB Interfaces: Prepared Statements

Interface | Prepared Statements
JDBC | Class PreparedStatement
ODBC | Method SQLPrepare
SQLDBC | Class SQLDBC_PrepareStatement
PHP | maxdb_prepare
Perl | prepare
Python | Method prepare, class SAPDB_Prepared

For more information on the MaxDB interfaces, see Concepts of the Database System, Interfaces.

Example

The table APPLICATION_USER contains the users and passwords for a database application that accesses the database instance DEMODB via the MaxDB JDBC interface.

Unsecure Statement

The following user logon implementation is unsecure. It could allow an unauthorized person, by entering an invalid value, to access the database instance without entering a valid password.

Statement s = connection.createStatement();

ResultSet rs = s.executeQuery("SELECT * FROM
APPLICATION_USERS WHERE username = '" + username + "' and password = '" +
password + "'");

if(rs.next()) {

// ... continue with successful logon

} else {

// ... unsuccessful logon

}

If a person knows a valid user name, he or she can log on without entering a valid password. The value abcdefg′ or 1=1 , for example, could be entered for password.

The password would then look like this:

password='abcdefg' or 1=1'

Because 1=1 is always true, the database system always evaluates the whole expression for the password as true, regardless of whether abcdefg is a valid password or not.

Improved Statement

The following user logon implementation makes use of prepared statements and protects against SQL injection because special characters like ' , for example, can no longer be entered as a password.

PreparedStatement ps = connection.prepare("SELECT * FROM APPLICATION_USERS WHERE username=? and password=?");

ps.setString(1, username);

ps.setString(2, password);

ResultSet rs = ps.executeQuery();

if(rs.next()) {

// ... continue with successful logon

} else {

// ... unsuccessful logon

}


Trace and Log Files (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Trace and Log Files

Whenever the database system and database tools are in operation, log files are written. To better locate errors, you can also make use of various traces, which log additional actions. Traces can contain, for example, extracts from inserted data.

You can read traces and log files using either a text editor or the database tool Database Manager.

Hazards

· Unauthorized reading of data

An unprivileged operating system user reads a trace or log file and thereby gets information about the operation of the database and possibly data from the database instance.

Activities

· Use traces only to search for errors. Delete the trace files when you have finished evaluating them.

· Restricting Access to Log Files

See also:

Checking Log Files for Failed Logon Attempts

Concepts of the Database System, Log Files and Traces


Restricting Access to Log Files (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restricting Access to Log Files

Use

Users can access log files using operating system commands and functions as well as with the database tool Database Manager.

Procedure

Restricting Access with Operating System Commands and Functions

On UNIX/Linux, unprivileged operating system users cannot access log files; only members of the special user group <sdba_group> can do so.

On Microsoft Windows, all operating system users can access log files. To restrict access in Microsoft Windows, proceed as described in Restricting Access to Database Resources (Microsoft Windows).

Restricting Access with the Database Manager

Withdraw the server authorization for reading database files from all Database Manager operators that should not have access to log files.

· Database Manager GUI: Withdraw the server authorization Database File Access. Proceed as described in Changing the Server Authorizations.

· Database Manager CLI: Withdraw the server authorization DBFileRead. Proceed as described in Changing the DBM Operator Data.

See also:

· Defining Clear Authorizations for Users

· Concepts of the Database System, Server Authorizations for the DBM Server


Appendix (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Appendix

In the documentation, the syntax of commands is described using variables indicated by the angle brackets around them. The following table lists the most commonly used variables and examples.

Variable | Description | Examples
<build> | Build number of the database software |
<database_computer> | Name of the computer on which the database instance is installed | GENUA PARMA
<database_instance_type> | Database instance type | OLTP LVC
<database_name> | Name of the database instance | DEMODB
<database_user> | Database users | MONA
<database_user_password> | Password of the database user | RED BLUE
<dbm_user> | Name of a Database Manager operator | DBM OLEG
<dbm_user_password> | Password of the Database Manager operator | DBM MONDAY
<dependent_path> | Location of the server software dependent on the database version | Software installation only: Microsoft Windows*: C:\Program Files\sdb\<version> UNIX/Linux: /opt/sdb/<version> Installation of software and database instance: Microsoft Windows*: C:\Program Files\sdb\<database_name> UNIX/Linux: /opt/sdb/<database_name>
<file_name> | File Name |
<independent_data_path> | Location of the data, configuration and run directories of database instances and applications | Microsoft Windows*: c:\Documents and Settings\All Users\Application Data\sdb\data UNIX/Linux: /var/opt/sdb/data
<independent_program_path> | Location of the programs and libraries used jointly by database instances and applications | Microsoft Windows*: C:\Program Files\sdb\programs UNIX/Linux: /opt/sdb/programs
<inst_path> | Installation path |
<inst_profile> | Name of the installation profile |
<os_user> | Name of the operating system user | ANNA
<os_user_password> | Operating system user’s password | MAY
<os> | Name of the operating system |
<password> | Password |
<path> | Path |
<sdb_user> | UNIX/Linux: Name of the owner of the database software (special operating system user) | sdb
<sdba_group> | UNIX/Linux: Name of the special operating system user group | sdba
<sysdba_user> | Name of the SYSDBA user (database system administrator) | DBADMIN
<sysdba_user_password> | Password of the SYSDBA user | SECRET
<user_home> | Home directory of the operating system user | Microsoft Windows: C:\Documents and Settings\anna UNIX/Linux: /home/anna
<user_key> | User key of an XUSER entry | SAMPLEKEY
<user_name> | Name of the user |
<version> | Version number according to four-digit version notation |

* System default if MaxDB software has not yet been installed. If an older version of MaxDB exists, the installation program proposes the paths belonging to this version for the new installation.


Tools (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Tools

Title of the Documentation | Explanation
Database Manager · Database Manager GUI · Database Manager CLI | Creating and managing database instances · Graphical user interface · Command line tool
Database Analyzer | Analysis of the performance of database instances
Loader | Exporting and importing data
Query tools · SQL Studio · Web SQL Studio · SQLCLI | Querying and editing data with SQL · Graphical user interface · Web-based user interface · Command line tool
Synchronization Manager | Synchronizing table contents from two or more database instances
Utilities · Event Dispatcher · XCONS · XUSER · X-Server |


Database Manager GUI (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Database Manager GUI

Purpose

The Database Manager GUI database tool is used to manage database instances. You can use it among other things to create, monitor, back up, and restore database instances.

The Database Manager GUI has a graphical user interface and can be used only on Microsoft Windows. However, you can use the Database Manager GUI also to manage database instances that are running on a remote computer with a different operating system.

Implementation Considerations

The Database Manager GUI is a component of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

The Database Manager GUI features the following functions and display options, among others:

· Calling the Database Manager GUI

· Screen Areas of the Database Manager GUI

· Creating a Database Instance

· Initializing an Existing Database Instance

· Managing Database Instances

· Deleting a Database Instance

· Managing the Database System Administrator

· Managing Database Manager Operators

· Managing Database Users

· Backups

· Recoveries

· Freezing the Data Area (Snapshots)

· Displaying Information

· Diagnosis Options

· Updating Database Software

· Using the SQL Studio

· Using the Database Manager CLI

The database tool Database Manager CLI is a command line tool offering similar functions to the Database Manager GUI..


Calling the Database Manager GUI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Calling the Database Manager GUI

To call the Database Manager GUI program, we recommend that you choose Start ® Programs ® MySQL MaxDB ® Database Manager or that you use the corresponding shortcut.

In exceptional cases, you can also call the Database Manager GUI from the command line. To do so, go to the directory containing the program dbmgui<n>.exe (n is a program version counter) and enter the following command:

dbmgui<n> [<options>]

Options

Display all command line options | -?
Database Name | -d <database_name>
Name of the database computer | -n <database_computer>
Open a database session by specifying user data (username and password) | -u <user_name>,[<password>]
Open the configuration file | -f <file_name>
Window for entering connection details | -prompt
Database Manager GUI version | -version
Call the Database Manager without initial screen display | -nologo

See also:

Variables and Examples


Screen Areas of the Database Manager GUI (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Screen Areas of the Database Manager GUI

The screen of the Database Manager GUI is structured into eight different areas. You can change the size of each of these screen areas.

This graphic is explained in the accompanying text

Contents of the Screen Areas

No. | Name of the Area | Description
1 | Menu bar | Selection of functions and displays for the current database instance. The menu bar dynamically adjusts to the selected functions.
2 | Icon bar | The toolbar contains icons that you can use to call up functions shown on the menu bar for the current database instance.
3 | Directory structure of the database instances | Organization of the database instances included in the Database Manager GUI’s list of database instances (as in Windows Explorer). You can show or hide the directory structure. To do this, choose View ® Tree and select or deselect Tree.
4 | List of the database instances | Database instances included in the Database Manager GUI's list of database instances, their logon status and operational states If a database instance is in the ONLINE operational state, you also see an overview of its statistics and other important data. See also: Managing the List of Database Instances
5 | The Menu List of the Current Database Instance | The name of the selected database instance is displayed. You can display or hide this menu list. To do this, choose View ® Menu and select or deselect Menu.
6 | Output Area | Central screen area Contains input fields and output values.
7 | Message output area | Display of general and error messages
8 | Database name display | Name of the current database instance, possibly including the name of the database computer and its operational state


Creating a database instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a database instance

You can create a database instance on a local or remote computer using the Database Manager GUI.

Prerequisites

· Database instance on a local computer
 as an operating system user, you have administrator rights for the computer.

· Database instance on a remote computer
Microsoft Windows: You need an operating system user for the remote computer that has administrator rights and the right log on as batch job or a comparable right
UNIX: You need an operating system user for the remote computer that is a member of the sdba group (see <sdba_group> (special operating system group)).
For information about administrating operating system users, see your operating system documentation.

Procedure

...

Choose Instance ® Create... .

Choose Next to start each of the required steps.

1. Choose the required template:

To use a predefined configuration, choose of one of the templates Demo or DEMODB displayed. In such cases you can create the database instance in the background. To do so, choose Unattended Installation.

2. To create a database instance on your local computer, enter the following:

¡ Database Server: <local>: Do not change this entry.

¡ Database Name: Name of the database instance. Note the Conventions for Database Names.

To create a database instance on a remote computer, enter the following in addition:

¡ Database Server: Name of the remote computer

¡ Port: port used to address the X Server; if you do not specify a port, the default port is used (see X Server, Ports and Protocols of the X Server).

¡ Login Name: Operating system user for the remote computer

¡ Password: Password for the operating system user on the remote computer

3. A computer can have more than one installation of the database software. Select the appropriate installation.

4. If you are using a Microsoft Windows operating system, you can specify further options:

¡ Set the startup type for the database service to automatic: The database instance is started automatically when the computer is started (automatic start).

¡ Use the login information as account for the database service: For remote computers only; the service for the database instance runs on remote computers under the name of the operating system user logged on and not under SYSTEM.

5. Specify the Database Manager operator (DBM operator). See Conventions for User Names and Passwords. The default value for both the name and the password is DBM.

Select Use Encryption if you want to encrypt communications between the client and the X Server (data encryption).

The database system converts the name and password of the DBM operator to upper-case letters.

6. Decide how you want to assign initial values to the database parameters.

¡ Initialize parameters with default values
Here, the database parameters are assigned the default values of the database software.

¡ Copy parameters from existing database
Here, the initial values of the database parameters are taken from an existing database instance. Choose the database instance from which you want to copy the parameter values.

¡ Restore parameters from a backup medium
Here, the initial values of the database parameters are taken from a complete data backup. Select the complete data backup you want.

7. Choose a database instance type.

8. Adjust the database parameters (General/Extended) to your requirements. To change a database parameter, select the parameter and choose New Value. Enter and confirm the new value for the database parameter. The database parameters are checked when you exit the input screen. You may be asked to make and confirm changes before you are permitted to exit the input screen.

9. Define your data volumes and log volumes.

If you have employed a template, you can adopt the default values or change them.
If you have not used a template, in each case choose New Volume and enter the size as well as the name or absolute path of the volume.

10. Define the desired backup medium.

If you have employed a template, you can adopt the default values or change them.
If you have not used a template, in each case choose New Medium or New Parallel Medium and define the desired properties of the backup medium/media (see also Managing the Backup Media).

11. Choose from the following options:

¡ Create and start instance
Specify the database system administrator (SYSDBA user). Do not use special characters and do not choose the name SYSDBA. We recommend that you use upper-case letters. The default values for the name and the password are DBADMIN and SECRET, respectively.
Select Load Tutorial if you want to load the data for the HOTEL demo schema. If you want to load the example data at a later time, proceed as described in Loading Example Data for Tutorial.
The database instance is created and transferred to the ONLINE operational state.

¡ Create instance for recovery
The database instance is created and transferred to the ADMIN operational state. This database instance can only be used for one recovery. The data for the database system administrator (SYSDBA user) is adopted from the backup.

12. To save your configuration as a template, choose Save Template as... .

13. Choose Start. If errors occur, the procedure is terminated immediately. However, the state reached before the error occurred is preserved.

14. Choose Close.

See also:

Concepts of the Database System

· Creating and Configuring a Database Instance

· Tips for Creating and Configuring a Database Instance

· Users, Authentication and Authorizations

SQL-Tutorial, Explanation of the Objects in the HOTEL Schema


Templates for Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Templates for Database Instances

To help you create database instances, the Database Manager GUI provides predefined configurations in the form of templates. You can use these templates to create database instances with different sizes and properties.

Features

Templates for Database Instances

Name | Description
Blank | Database instance with standard settings Volumes and backup media have to be created interactively.
Demo | Database instance that is completely configured. You can create this database instance in the background.
DEMODB | Demonstration database instance that is completely configured. You can create this demonstration database in the background. Procedures described in the tutorials are based on this database instance.

Activities

· The default settings for the templates are recommendations. You can change them as desired.

· When you create a database instance, you can also save the settings for the database instance as a template with a name of your choice, and add this template to the existing templates in the Database Manager GUI. The system proposes a path and name for the template, and saves the template as an operating system file.


Initializing an Existing Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Initializing an Existing Database Instance

You can use the Database Manager GUI to initialize an existing database on a local or remote computer.

When you initialize a database instance, all the data is deleted.

However, you can keep your database parameters and the configuration of your volumes and backup media.

Prerequisites

· You have administrator rights for the database instance. This is guaranteed if you log on as the first DBM operator

· Database instance on a local computer: as an operating system user, you have administrator rights for the computer.

· Database instance on a remote computer: you have an operating system user for the remote computer with administrator rights and also the log on as batch job right (for Microsoft Windows operating systems) or a similar right (information on managing operating system users is provided in the documentation for your operating system).

Procedure

...

Select the required database instance in the list of database instances.

Choose Instance ® Initialize... .

Choose Next to start each of the required steps.

1. Choose Initialize the database instance <database_name>.
An empty database instance is created under the existing name (the database instance is initialized and all of the data from the previous version is lost).

2. If necessary, transfer the database instance to the ADMIN operational state.

3. Choose Use current parameters.

4. The database parameters you configured for the database instance are proposed. In other words, you do not have to change them.

5. The volumes you configured for the database instance are proposed. In other words, you do not have to change them.

6. The backup media you configured for the database instance are proposed. In other words, you do not have to change them.

7. Choose from the following options:

¡ Create and start instance
Specify the database system administrator (SYSDBA user). The database instance is initialized and transferred to the operational state ONLINE.

¡ Create instance for recovery
The database instance is initialized and transferred to the ADMIN operational state. You can use this database instance for a restore only. The details for the SYSDBA user are taken from the data backup.

8. Choose Start.

9. Choose Close.


Database Instance Administration (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Database Instance Administration

The table below provides you with links to descriptions of various database management tasks:

Creating, initializing or deleting a database instance | Creating a Database Instance Initializing an Existing Database Instance Deleting a Database Instance
Creating, changing, or deleting the list of database instances | Managing the List of Database Instances
Creating a database instance connection to the DBM Server | Connection to the DBMServer
Starting or stopping the database instance | Starting (Restarting) the Database Instance Stopping the Database Instance (Shutdown)
Backing up or restoring a database instance | Backing up Restoring
Monitoring database sessions | Monitoring the Operational State Displaying Database Sessions Closing a Database Session Manually
Create, display, change, or delete a user | Managing the Database System Administrator Managing Database Manager Operators Managing Database Users
Creating, displaying, changing, or deleting volumes | Creating Volumes Displaying, Changing, and Deleting Volumes Displaying Data Area Information
Displaying and changing database parameters | Displaying and Changing Database Parameters Changing Database Parameters for Volumes
Displaying and changing log settings | Displaying Log Area Information Changing Log Settings
Setting up a hot standby system | Setting Up a Master Instance (Hot Standby) Adding a Standby Instance (Hot Standby)
Activating, deactivating, or deleting indexes | Activating, Deactivating, or Deleting Indexes
Language support (MapChar sets) | Creating Mapchar Sets Displaying, Changing, and Deleting MapChar Sets
Updating statistics | Updating the Statistics Information
Loading tutorial example data | Creating a Database Instance Loading Tutorial Example Data

See also:

Displaying Information

Options for Diagnosing Problems


Managing the List of Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Managing the List of Database Instances

Before you can use the Database Manager GUI to manage your database instances, you must include these instance in the list of database instances (see Screen Areas). You can change the way the database instances are displayed in this list by choosing View ® ...

Prerequisites

If you want to access a remote database instance with the Database Manager, you have to start the X Server on the relevant database computer.

Adding an Entry to the List of Database Instances

...

1. Choose Instance ® Add.

2. Choose the required server name as the Database Server.
Confirm this by choosing Add.

3. Select the database instances that you want to include in the list, and confirm.

The database instance is included in the list of database instances.

To be able to manage a database instance, you must set up a connection to the DBM server for this instance.

Deleting an Entry from the List of Database Instances

...

1. Select the database instance in the list of database instances.

2. Choose File ® Delete.

3. Confirm that you want to delete this database instance from the list.

The database instance is deleted from the list of database instance in the Database Manager.

If you want to delete a database instance, proceed as described under Deleting a Database Instance.

Synchronizing the Database Instance List in the Database Manager with the Existing Database Instances

You can make sure that the list of database instances matches the instances that actually exist on the computer.

1. Select a computer in the directory structure of the database instances.

2. Choose File ® Sync Server.

All database instances on this computer are included in the list of database instances. Any entries for database instances that no longer exist on this computer are deleted from the list.


Connection to the DBM Server (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connection to the DBM Server

To manage database instances using the Database Manager GUI program, the database instance that is to be managed needs to be to be connected to your DBM Server.

You can set up the connection to the DBM Server for one, more than one, or all database instances displayed in the list, depending on the performance of your system. Similarly, you can terminate the connection between individual database instances and your DBM Server to reduce the load on your system.

Prerequisites

The required database instance must be included in the list of the database instances. To do this, proceed as described in Managing the List of Database Instances.

Procedure

Connecting a Database Instance to the DBM Server

The State of the database instance is Not connected.

1. Select the database instance in the list of database instances.

2. Choose Instance ® Connect.

3. Enter the name and password of the Database Manager operator if necessary. You can save this information.

The Database Manager can now determine the current operational state of the selected database instance.

Terminating a Connection Between a Database Instance and the DBM Server

1. Select the database instance in the list of database instances.

2. Choose Instance ® Disconnect.

The State of this database instance is now Not connected.

The connection to the DBM Server has been terminated. The Database Manager can no longer determine the operational state of the database instance and thus cannot perform analyses of the database instance.


Starting (Restarting) the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting (Restarting) the Database Instance

You can use the Database Manager GUI to start a database instance.

Prerequisites

1. Make sure that the database instance has been included in the list of database instances (see Managing the List of Database Instances).

2. Connect to the DBM server.

3. Determine the operational state of the database instance: Monitoring the Operational State.

Procedure

Select a database instance in the list of database instances by double-clicking it.

The database instance is in the OFFLINE operational state.

· Transferring the database instance to the operational state ONLINE
Choose Actions ® Online.
The database instance starts.

· Transferring the database instance to the operational state ADMIN
Choose Actions ® Admin.
The database instance is transferred to the operational state ADMIN.

The database instance is in the ADMIN operational state.

· Transferring the database instance to the operational state ONLINE
Choose Actions ® Online.
The database instance starts.

Each time you start the database instance, a copy of the log file knldiag is made under the name knldiag.old. The file knldiag is overwritten. Use this log file to analyze any errors that occurred when you started or stopped the database instance.

See also:

Stopping the Database Instance (Shutdown)

Concepts of the Database System, Automatic Start


Stopping the Database Instance (Shutdown) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Stopping the Database Instance (Shutdown)

You can use the Database Manager GUI to stop a database instance.

Prerequisites

1. Make sure that the database instance has been included in the list of database instances (see Managing the List of Database Instances).

2. Connect to the DBM server.

3. The database instance is in the ONLINE operational state: Monitoring.

Procedure

Select a database instance in the list of database instances by double-clicking it.

· Transferring the database instance to the operational state ADMIN
Choose Actions ® Admin.
The database instance is transferred to the operational state OFFLINE and then to the operational state ADMIN. Any changes made to the database parameters take effect.

· Transferring the database instance to the operational state OFFLINE
Choose Actions ® Offline.
The database instance is stopped.

If a backup is running, the Database Manager waits until the backup is complete before stopping the database instance.

Use the log file knldiag to analyze any errors that occurred when you started or stopped the database instance.

See also:

Starting (Restarting) the Database Instance


Monitoring the Operational State (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Monitoring the Operational State

You can use the Database Manager GUI to monitor the operational state of each database instance.

Prerequisites

1. Make sure that the database instance has been included in the list of database instances (see Managing the List of Database Instances).

2. Connect to the DBM server.

Displaying the Operational State

Check the indicator assigned to the general icon for the database instance in the list of database instances.

You can use the displays View ® Large Icons/Small Icons/List.

This graphic is explained in the accompanying text | General database instance icon
This graphic is explained in the accompanying text | Database instance is in the OFFLINE operational state
This graphic is explained in the accompanying text | Database instance is in the ADMIN operational state
This graphic is explained in the accompanying text | Database instance is in the ONLINE operational state

Hot standby database instances have the following icons:

This graphic is explained in the accompanying text | Master instance or standby instance is in the OFFLINE operational state.
This graphic is explained in the accompanying text | Master instance is in the ADMIN operational state or standby instance is in the STANDBY operational state.
This graphic is explained in the accompanying text | Master instance is in the ONLINE operational state.

Changing the Operational State

Select a database instance in the list of database instances by double-clicking it.

Choose Actions ® OFFLINE/ADMIN/ONLINE to change to the relevant operational state.

You cannot change the operational state of standby instances in a hot standby system directly. Standby instances are controlled by the master instance.

See also:

Starting (Restarting) the Database Instance

Stopping the Database Instance (Shutdown)


Closing a Database Session Manually (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Closing a Database Session Manually

In certain cases, it may be necessary to stop a specific database session. You can do this with the Database Manager GUI.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

1. Select the required database instance in the list of database instances.

2. Choose Instance ® Sessions.

3. Select the database session that you want to close.

4. Choose Actions ® Kill Selected Sessions to close the database session.

See also:

Displaying Database Sessions


Creating Volumes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating Volumes

You can use the Database Manager GUI to increase the storage capacity of your data area or log area.

· The maximum number of data volumes you can create is defined in the general database parameter MAXDATAVOLUMES.

· The maximum number of log volumes you can create is defined in the general database parameter MAXLOGVOLUMES.

Prerequisites

The database instance is in the ONLINE operational state.

The value of the database parameter MAXDATAVOLUMES or MAXLOGVOLUMES is at least equal to the total number of existing volumes plus the volumes you want to define.

Every time the database instance is started, the system checks that there is enough space available for at least one volume of each type. If there is not enough space available, it automatically increases the setting of the appropriate database parameter by 1.

If necessary, change the database parameter MAXDATAVOLUMES or MAXLOGVOLUMES accordingly (see Changing Database Parameters for Volumes). Later on, when the database instance is in the ONLINE operational state, this enables you to add a volume of a given type a number of times in succession without having to stop the database instance.

Procedure

...

1. Select the required database instance in the list of database instances.

2. Choose Instance ® Configuration ® Volumes.
The system displays all existing volumes of the selected type and their data, as well as the maximum number of volumes still possible according to the parameter value.

Name | Name of the volume
Size | Size of the volume
Type | File, raw device, or symbolic link
Device/File | Device/path and file name of the volume
M. Type | File, raw device, or symbolic link (mirrored volume)
M. Location | Path of the mirrored log volume

3. Select one of the default volume names.

4. Choose Actions ® New Volume.

5. Define the new volume by specifying the size under Size and the device or path and file name of the volume under Device/File.

6. Choose OK.

See also:

Displaying, Changing, and Deleting Volumes


Displaying, Changing, and Deleting Volumes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying, Changing, and Deleting Volumes

You can use the Database Manager GUI to display volumes, and to change paths or delete volumes.

Prerequisites

The database instance is in the OFFLINE operational state.

You have copied the log or data volume to a new location and you want to inform the Database Manager GUI of the path to the new location.

Procedure

...

1. Select the required database instance in the list of database instances.

2. Choose Instance ® Configuration ® Volumes.
All the existing volumes of the selected type are displayed.

Name | Name of the volume
Size | Size of the volume
Type | File, raw device, or symbolic link
Device/File | Device/path and file name of the volume
M. Type | File, raw device, or symbolic link (mirrored volume)
M. Location | Path of the mirrored log volume

3. Select the volume you want to change.

4. Choose Action ® Properties.

5. Specify the device or path and file name of the volume under Device/File.

6. Choose OK.

When you now restart the database instance, the database system recognizes the new path.

See also:

Creating Volumes


Displaying and Changing Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying and Changing Database Parameters

You can use the Database Manager GUI to display and change the database parameters of the current database instance. You can do this in any operational state of the database instance.

The changes to database parameters do not take effect until the database instance is restarted. For more information about database parameters, see Concepts of the Database System, Database Parameters.

You can change database parameters with the property CHANGE=RUNNING using the Database Manager CLI in the current database session. See Database Manager CLI, param_put.

Procedure

...

1. ChooseInstance®Configuration ® Parameters.

The database parameters are displayed. They are divided into three groups:

¡ General Database Parameters

¡ Special Database Parameters (Extended)

¡ Support database parameters (Support)

2. Choose the database parameters you want.

3. Choose Action ® Properties.

4. Enter the new value of the database parameter under New Value.

Name | Name of database parameter
Value | Current value of the database parameter
New value | New value of the database parameter
Comment | User-defined comment This comment is displayed in the history of the database parameters. See Displaying Database Parameters
Description | Help text on the selected parameter

5. Confirm your entries.


Changing Database Parameters for Volumes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing Database Parameters for Volumes

You can use the Database Manager GUI to define database parameters, including those that define the maximum number of volumes in a database instance: the general database parameters MAXDATAVOLUMES and MAXLOGVOLUMES.

You can change the settings of both database parameters at a later date regardless of which operational state the database instance is in. Like all database parameter changes, these changes take effect the next time the database instance is restarted.

Procedure

...

1. For the database parameters MAXDATAVOLUMES and MAXLOGVOLUMES, proceed as described in Displaying and Changing Database Parameters .

2. Transfer the database instance to the operational state ADMIN.

3. Start the database instance.
The Database Manager GUI transfers the database instance to the operational state OFFLINE and then to the operational state ONLINE, and saves the new value of the database parameter in the parameter file.
The Database Manager GUI reserves the memory required by this number of volumes, plus reserve memory large enough for the largest volume of this type. This reserve allows you to create an additional volume of this type while the database is running if the original number of volumes is not enough.

See also:

Creating Volumes


Changing Log Settings (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing Log Settings

You can use the Database Manager GUI to change log settings.

Prerequisites

· Decide the level of security you need and read about the possible log settings. For more information, see Concepts of the Database System under Logging Transactions and Backing Up and Restoring.

· Check the log area information in the Database Manager GUI.

Procedure

...

Select the required database instance in the list of database instances. Choose Instance ® Configuration ® Log Settings.

Choose Next to start each of the required steps.

1. Select the log setting that you want to change:

¡ Log Mode: mirrors the log area

¡ Overwrite Mode for the Log Area: activates and deactivates the overwrite mode for the log area

¡ Activating or Deactivating the Redo Log Management: activates and deactivates the redo log management

2. You can change multiple log settings, one after the other. To do so, choose Back each time you complete your changes.

Mirroring the Log Area

If you want to mirror the log area (see Log Mode), select the Log Mode log setting.

The database instance can be in any operational state. Make sure, however, that you transfer the database instance into the OFFLINE operational state after setting the log mode, and then into the ONLINE operational state.

The Database Manager prompts you to create the required mirrors of the log volumes.

...

1. Choose Properties.

2. Specify the location of the mirror under Location.

3. Start the process.

After this operation has been completed, the database instance is transferred to the OFFLINE operational state and then to ONLINE.

If you no longer want to use the mirror, select the Log Mode log setting and follow the instructions.

Overwrite Mode for the Log Area

If your security concept allows you to overwrite the log area without backing up the log entries first (see Overwrite Mode for the Log Area), select the log setting Overwrite Mode for the Log Area and follow the instructions.

After a standard installation, normal log backups are activated, which means that the overwrite mode is deactivated. The database instance must be in the ADMIN or ONLINE operational state before you can change the overwrite mode.

Once you have activated overwrite mode, it remains activated even if the database is restarted.

To change back to normal log backups (and deactivate the overwrite mode), select Overwrite Mode for the Log Area and follow the instructions. You are prompted to make a complete data backup to guarantee the integrity of your data.

Activating and Deactivating Redo Log Management

Under exceptional circumstances, you have the option of deactivating redo log management. To do this, select the log setting Activating or Deactivating the Redo Log Management (see Activating or Deactivating Redo Log Management) and follow the instructions.

Redo log management is activated after a standard installation. Before you can change this log setting, the database instance must be in the ADMIN operational state.

Once you have deactivated redo log management, it remains deactivated even if the database is restarted.

You must reactivate redo log management as soon as possible to guarantee the integrity of your database system. To do so, select Activating or Deactivating the Redo Log Management and follow the instructions. You are prompted to make a complete data backup to guarantee the integrity of your data.


Setting Up a Master Instance (Hot Standby) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting Up a Master Instance (Hot Standby)

You can use the Database Manager GUI to set up the master instance of a hot standby system.

Prerequisites

· See Concepts of the Database System, System Requirements for a Hot Standby System

· You are logged on to the database instance of the hot standby system on the virtual server.

Procedure

In the Database Manager GUI, choose Instance ® Configuration ® Hot Standby.

Choose Next to start each of the required steps.

...

1. Choose Enable or Disable the Hot Standby System.

2. Choose Enable Hot Standby System.

3. For Virtual Server Name, enter the name that the system administrator has defined for the computer on which the master instance is located. See Concepts of the Database System, Architecture of a Hot Standby System

4. Under Storage DLL, enter the name of the library used to address the memory management system.

5. Choose Start.

See also:

Adding a Standby Instance (Hot Standby)


Adding a Standby Instance (Hot Standby) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Adding a Standby Instance (Hot Standby)

With the Database Manager GUI, you can add a standby instance to a hot standby system.

Prerequisites

· See Concepts of the Database System, System Requirements for a Hot Standby System

· You have already set up the master instance of the hot standby system.

· You are connected to the database instance of the hot standby system on the virtual server.

Procedure

In the Database Manager GUI, choose Instance ® Configuration ® Hot Standby.

Choose Next to start each of the required steps.

...

1. Choose Add or Remove Standby Instances.

2. Choose Add Standby Instance. Make the following entries:

Node | Name of the standby computer
Login Name | Operating system user on the standby computer
Password | Password of the operating system user on the standby computer
Installation | Installation path of the database software on the standby computer
Delay | Delay (in seconds) until the standby instance redoes the changes in the master instance.

3. Choose Start.

You have added the standby instance and put it in the STANDBY operational state.

See also:

Setting Up a Master Instance (Hot Standby)


Activating, Deactivating, or Deleting Indexes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Activating, Deactivating, or Deleting Indexes

You can use the Database Manager GUI to determine which of the existing indexes have been used in a database instance.

You can also activate, deactivate, or delete selected indexes.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

1. Select the required database instance in the list of database instances.

2. Choose Instance ® Tuning ® Index Use.

3. You can choose which indexes you want to display. To do this, enter appropriate search arguments for the owner, table name, and index name.

You can also choose between the following options:

Disabled indexes only | Only indexes that have been deactivated
Unused indexes only | Only indexes that have not been used

4. Choose Actions ® Search. The system displays a list of the indexes that match your criteria.

5. Select the indexes that you want to activate.
If you want to activate all of the indexes displayed, choose Actions ® Mark All.
Deselect the indexes that you want to deactivate.

6. Choose Actions and the action you want to perform.


Defining MapChar Sets (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining MapChar Sets

You can use the Database Manager GUI to create MapChar sets.

Prerequisite

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.

2. Select Instance ® Configuration ® Mapchar Sets.

3. Choose Actions ® New. Enter the following information:

Name

Name of MapChar set (name must not be more than 18 bytes long)

Code type

The code on which the MapChar set is based.

ASCII | UNICODE

Mapchar

Define the conversions for the characters required.

Each one-byte (ASCII) or two-byte (UNICODE) character to be converted must first be specified in its original form and then in the target form with a maximum length of two bytes (ASCII) or four bytes (UNICODE).

Intern: Original form in hexadecimal format
Extern Hex: Target form in hexadecimal format
Ext. ASCII: Target form in printable characters (not possible for UNICODE)

4. Save the entries you made.

See also:

Displaying, Changing, and Deleting Mapchar Sets


Displaying, Changing and Deleting MapChar Sets (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying, Changing and Deleting MapChar Sets

You can use the Database Manager GUI to display, change, and delete MapChar sets.

Prerequisite

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.

2. Select Instance ® Configuration ® Mapchar Sets.
You are shown the mapchar sets which are already available.

3. Select the MapChar set you want.

4. Choose Actions ® Properties or Delete.
You can change the following details:

Code type

The code on which the MapChar set is based.

ASCII | UNICODE

Mapchar

Define the conversions for the characters required. Each one-byte (ASCII) or two-byte (UNICODE) character to be converted must first be specified in its original form and then in the target form with a maximum length of two bytes (ASCII) or four bytes (UNICODE).

Intern: Original form in hexadecimal format
Extern Hex: Target form in hexadecimal format
Ext. ASCII: Target form in printable characters (not possible for UNICODE)

5. Save your entries.

See also:

Defining MapChar Sets


Updating the Statistics Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Updating the Statistics Information

You can use the Database Manager GUI to update the SQL Optimizer Statistics.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances. Choose Instance ® Tuning ® Optimizer Statistics.

2. Create a list of the tables for which the statistics are to be updated:

¡ To select all the tables for which an update is necessary, apply the default value * under Search.

¡ To select certain tables for which an update is necessary, enter the corresponding search arguments under Search.

Search Argument | Description
Owner | Owner
Table Name | Table name
Column Name | Name of Column

¡ To select all tables for which an update of statistics is possible irrespective of whether or not they need to be updated, under Advanced choose the option Select from tables.

3. Choose Actions ® Search.

A list of the tables is displayed that matches your criteria under Search and Advanced. From the Update Statistics Date and Update Statistics Time columns, you can tell when the statistics for this table were last updated.

4. From the list of tables, choose the tables for which you want to update the statistics.

5. You have the following options for updating the statistics:

¡ Updating the statistics for all rows of the selected tables (system default)

¡ Updating the statistics for a sample

To define the sample, enter the corresponding parameter under Estimate.

Parameter | Description
Use estimate value | Defines whether a sample is to be used
Percent | Percentage of table rows to be checked

The reliability of the random sample depends on the size of the table and the physical position of the data. For large tables (more than 1 million entries), we recommend a sample size of 20%.

¡ If you want to update the column statistics in addition to the table statistics, choose the option Include update columns for marked tables under Advanced, double-click the desired table in the list and then choose the desired columns.

6. Choose Actions ® Execute.


Loading Example Data for Tutorial (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Loading Example Data for Tutorial

You can use the Database Manager GUI to load the data of the HOTEL demo schema.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances. SelectInstance®Configuration®Load Tutorial.

2. Confirm your request to load the data of the HOTEL demo schema.

Result

The HOTEL schema and its example data are created in the database instance. If there is already a schema named HOTEL, it is overwritten.

You can load the data of the HOTEL demo schema directly when you create a database instance. Proceed as described in Adding a Database Instance.

See also:

SQL-Tutorial, Explanation of the Objects in the HOTEL Schema


Deleting a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting a Database Instance

You can use the Database Manager GUI to delete a database instance.

When you do so, you can also specify whether the database files on the DBM Server should be deleted.

Prerequisites

You have set up the connection to the DBM Server.

The database instance is in the OFFLINE operational state.

Procedure

...

1. Select the database instance in the list of database instances.

2. Choose Instance ®Drop.

3. If you do not want to delete the database files, deselect the Delete database files field.

4. Confirm that you want to delete this database instance.


Managing the Database System Administrator (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Managing the Database System Administrator

You can use the Database Manager GUI to manage the database system administrator (SYSDBA user).

Activities

The database system administrator (SYSDBA user) is generated when the database instance is created.

You can perform the following administration tasks with the Database Manager GUI:

· Changing the DBM Operator Properties of the Database System Administrator

· Changing the Password of the Database System Administrator

· Changing the Server Authorizations of the Database System Administrator

· Changing the SQL User Properties of the Database System Administrator

See also:

· Concepts of the Database System, Database System Administrator

· Managing Database Manager Operators

· Managing Database Users


Changing the DBM Operator Properties of the Database System Administrator

 Entering content frame

Procedure documentation Changing the DBM Operator Properties of the Database System Administrator

You can use the Database Manager GUI to change the DBM operator properties of the database system administrator (SYSDBA user).

Prerequisites

The user has the Managing DBM Operators (User management) server authorization.

If you want to change the password of the database system administrator, the database instance must be in the ONLINE operational state.

Procedure

...

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select the database system administrator.

3. Choose Properties.

4. Choose the General tab page and change the desired DBM operator properties.

DBM Operator Properties

General | Description
Password | You can change the password of the database system administrator.
Disabled | Set this option when you want to lock the database system administrator.
Enable Pwd | Set this option if you want to enter a second password for the database system administrator.

Result

The database system administrator has the DBM operator properties you set.

See also:

Changing the Password of the Database System Administrator

Managing the Database System Administrator


Changing the Password of the Database System Administrator (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the Password of the Database System Administrator

You can use the Database Manager GUI to change the password of the database system administrator (SYSDBA user).

Prerequisites

The database instance is in the ONLINE operational state.

See Conventions for User Names and Passwords.

The database system automatically converts passwords into upper-case letters.

Choose one of the following procedures:

Procedure 1

...

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select the database system administrator.

3. Choose Properties.

4. Select the tab page General and then choose Password Change.

5. Enter the old and new passwords and save your entries.

Procedure 2

6. Choose Instance ® Configuration ® Database User... .

7. Enter the name and password of the database system administrator.

8. Select the database system administrator.

9. Choose Properties.

10. Select the tab page General and then choose Password Change.

11. Enter the old and new passwords and save your entries.

Result

The password of the database system administrator is changed.

See also:

Managing the Database System Administrator


Changing the Server Authorizations of the Database System Administrator

 Entering content frame

Procedure documentation Changing the Server Authorizations of the Database System Administrator

You can use the Database Manager GUI to change the server authorizations of the database system administrator (SYSDBA user).

Prerequisites

The user has the managing DBM operators (user management) server authorization.

Procedure

...

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select the database system administrator.

3. Choose Properties.

4. On the Server Rights tab page, you can now extend or limit the server authorizations of the selected user by selecting or deselecting the required authorizations.

Result

The server authorizations of the database system administrator are set according to your wishes.

See also:

Concepts of the Database System, Server Authorizations for the DBM Server,

Managing the Database System Administrator


Changing the SQL User Properties of the Database System Administrator

 Entering content frame

Procedure documentation Changing the SQL User Properties of the Database System Administrator

You can use the Database Manager GUI to change the SQL user properties of the database system administrator (SYSDBA user).

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Choose Instance ® Configuration ® Database User... .

2. Enter the name and password of the database system administrator.

3. Select the database system administrator.

4. Choose Properties.

5. Choose the General tab page and change the desired SQL user properties.

SQL User Properties

General | Description
Password Change | You can change the password of the database system administrator.
Connection Mode | You can define whether the database system administrator may open more than one session at a time (NOT EXCLUSIVE) or not (EXCLUSIVE).

6. Choose the Extended tab page and change the desired SQL user properties.

SQL User Properties

Extended | Description
Timeout | You can set the timeout value.
Cost Warning | You can set the estimated SELECT cost value above which a warning is issued.
Cost Limit | You can set the estimated SELECT cost value above which an SQL statement is not executed.
Default code | You can set a default value for the code attribute.

Result

The database system administrator has the SQL user properties you set.

See also:

Changing the Password of the Database System Administrator

Managing the Database System Administrator


Managing Database Manager Operators (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Managing Database Manager Operators

You can use the Database Manager GUI to manage Database Manager operators (DBM operators).

Activities

A Database Manager operator with all server authorizations is generated when you create a new database instance. You can create more Database Manager operators and assign them the server authorizations you want them to have.

You can use the Database Manager GUI to perform the following administration actions for Database Manager operators:

· Creating, Changing or Deleting a Database Manager Operator

· Changing the DBM Operator Properties

· Changing the Password of a DBM Operator

· Changing the Server Authorizations

See also:

· Concepts of the Database System, Database Manager Operator (DBM Operator)

· Managing the Database System Administrator

· Managing Database Users


Creating, Changing, or Deleting a Database Manager Operator (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating, Changing, or Deleting a Database Manager Operator

You can use the Database Manager GUI to create a Database Manager operator (DBM operator), change the operator’s properties and server authorizations, or delete the operator.

Prerequisites

The user has the managing DBM operators (user management) server authorization.

Creating a Database Manager Operator

...

1. Choose Instance ® Configuration ® DBM Operator... .

2. Choose New User.

3. Choose the General tab page and enter the desired DBM operator properties.

DBM Operator Properties

General | Description
Name | Enter the name of the new Database Manager operator.
Password | Enter a password for this Database Manager operator.
Confirm Password | Confirm the new password.
Comment | You can enter a description of the operator.
Disabled | Set this option when you want to lock the Database Manager operator.
Enable Pwd #2 | Set this option if you want to enter a second password for the Database Manager operator.

Note the Conventions for User Names and Passwords. The database system automatically converts user names and passwords for DBM operators into upper-case letters.

4. Choose Server Rights.
Choose the desired server authorizations for the DBM server.

Changing a Database Manager Operator

You can change the properties and server authorizations of a Database Manager operator.

To change the DBM operator properties and server authorizations, proceed as described in the following sections:

· Changing the DBM Operator Properties

· Changing the Password of a DBM Operator

· Changing the Server Authorizations

Deleting a Database Manager Operator

You can delete a DBM operator. The exception is the Database Manager operator (DBM operator) that is generated when a database instance is created.

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select a DBM operator.

3. Choose Delete.

See also:

Managing Database Manager Operators


Changing the DBM Operator Properties (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the DBM Operator Properties

You can use the Database Manager GUI to change the DBM operator properties of Database Manager operators (DBM operators).

Prerequisites

The user has the User Management server authorization.

Procedure

...

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select a DBM operator.

3. Choose Properties.

4. Choose the General tab page and change the desired properties.

DBM Operator Properties

General | Description
Password | You can change the password of the Database Manager operator.
Comment | You can change the description of the Database Manager operator.
Disabled | Set this option when you want to lock the Database Manager operator.
Enable Pwd | Set this option if you want to enter a second password for the Database Manager operator.

Result

The Database Manager operator has the DBM operator properties you set.

See also:

Changing the Password of a DBM Operator

Managing Database Manager Operators


Changing the Password of a Database Manager Operator (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the Password of a Database Manager Operator

You can use the Database Manager GUI to change the passwords of Database Manager operators (DBM oparators).

Prerequisites

The user has the User Management server authorization.

Procedure

...

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select a DBM operator.

3. Choose Properties.

4. Select the tab page General and then choose Password Change.

5. Enter the old and new passwords and save your entries.

Note the Conventions for User Names and Passwords. The database system automatically converts passwords into upper-case letters.

Result

The password of the DBM operator is changed.

See also:

Managing Database Manager Operators


Changing the Server Authorizations (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the Server Authorizations

You can use the Database Manager GUI to change the server authorizations of Database Manager operators (DBM oparators).

Prerequisites

The user has the User Management server authorization.

Procedure

1. Choose Instance ® Configuration ® DBM Operator... .

2. Select a DBM operator.

3. Choose Properties.

4. On the Server Rights tab page, you can now extend or limit the server authorizations of the selected user by selecting or deselecting the required authorizations.

Result

The server authorizations of the DBM operator are set according to your wishes.

See also:

Concepts of the Database System, Server Authorizations for the DBM Server

Managing Database Manager Operators


Managing Database Users (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Managing Database Users

You can use the Database Manager GUI to manage database users.

Prerequisites

The database instance is in the ONLINE operational state.

Activities

You can use the Database Manager GUI to perform the following administration actions for database users:

· Creating/Displaying/Deleting a Database User

· Changing the SQL User Properties of a Database User

· Changing the Password of a Database User

See also:

Concepts of the Database System, Database Users

Managing the Database System Administrator

Managing Database Manager Operators


Creating/Changing/Deleting a Database User (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating/Changing/Deleting a Database User

You use the Database Manager GUI to create a database user, change the properties of a database user, or delete a database user.

Prerequisites

The database instance is in the ONLINE operational state.

Creating a Database User

...

1. Choose Instance ® Configuration ® Database User... .

2. Enter the name and password of a database user of the database user class DBA, that is, a database administrator (DBA user).
To create a database administrator (DBA user), enter the name and password of the database system administrator (SYSDBA user).
To create a database user of the STANDARD or RESOURCE class, enter the name and password of the database system administrator (SYSDBA user) or a database administrator (DBA user).

3. Choose New User.

4. Choose the General tab page and enter the desired SQL operator properties.

SQL User Properties

General | Description
Name | Enter a name for the new database user.
Password | Enter a password for the new database user.
Confirm Password | Confirm the password.
User Class | Choose the database user class (DBA | STANDARD | RESOURCE).
Connection Mode | You can set the following connection modes: · The database user can open several database sessions at once (NOT EXCLUSIVE). · Each database user can open only one database session (EXCLUSIVE). · The database user may not open any database sessions (DISABLED).

5. Choose the Extended tab page and enter the desired SQL user properties.

SQL User Properties

Extended

Description

Timeout

You can set the timeout value.

Cost Warning

You can set the estimated SELECT cost value above which a warning is issued.

Cost Limit

You can set the estimated SELECT cost value above which an SQL statement is not executed.

Default code

You can set a default value for the code attribute.

Replication User

Displays whether the database user is the synchronization user for synchronizing multiple database instances with the Synchronization Manager program (see Synchronization Manager, Configuring Database Instances)

There can only be one synchronization user per database instance. When a database instance is created, the database system automatically creates the synchronization user DBSERVICE. If you have deleted DBSERVICE, you can create a new database user using the SQL property Replication User.

See Conventions for User Names and Passwords.

Changing the SQL User Properties of a Database User

You can change the SQL user properties of a database user. To do this, proceed as described in the following sections:

· Changing the SQL User Properties of a Database User

· Changing the Password of a Database User

Deleting a Database User

You can delete database users.

...

1. Choose Instance ® Configuration ® Database User... .

2. Select the desired database user.

3. Choose Delete.

Choose one of the following options:

¡ Default: The following are also deleted with the database user: all synonyms and tables that belong to this database user as well as all indexes, privileges, view tables, and so on, that are based on these synonyms and tables.

¡ Restrict: The database user is deleted only if he or she does not have any synonyms or tables.

See also:

Managing Database Users


Changing the SQL User Properties of a Database User (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the SQL User Properties of a Database User

You can use the Database Manager GUI to change the SQL user properties of a database user.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Choose Instance ® Configuration ® Database User... .

2. Enter the name and password of the database administrator that is the owner of the database user whose SQL user properties you want to change.

3. Select the desired database user.

4. Choose Properties.

5. Choose the General tab page and change the desired SQL user properties.

SQL User Properties

General | Description
Password Change | You can change the password of the database user.
User class | You can change the database user class (DBA | RESOURCE | STANDARD).
Connection Mode | You can set the following connection modes: · The database user can open several database sessions at once (NOT EXCLUSIVE). · Each database user can open only one database session (EXCLUSIVE). · The database user may not open any database sessions (DISABLED).

6. Choose the Extended tab page and change the desired SQL user properties.

SQL User Properties

Extended

Description

Timeout

You can set the timeout value.

Cost Warning

You can set the estimated SELECT cost value above which a warning is issued.

Cost Limit

You can set the estimated SELECT cost value above which an SQL statement is not executed.

Default code

You can set a default value for the code attribute.

Replication User

Displays whether the database user is the synchronization user for synchronizing multiple database instances with the Synchronization Manager program (see Synchronization Manager, Configuring Database Instances)

There can only be one synchronization user per database instance. When a database instance is created, the database system automatically creates the synchronization user DBSERVICE. If you have deleted DBSERVICE, you can create a new database user using the SQL property Replication User.

Result

The database user has the SQL user properties you set.

See also:

Changing the Password of a Database User

Managing Database Users


Changing the Password of a Database User (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the Password of a Database User

You can use the Database Manager GUI to change the password of a database user.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Choose Instance ® Configuration ® Database User...

2. Enter the name and password of the database administrator that is the owner of the database user whose password you want to change.

3. Select the desired database user.

4. Choose Properties.

5. Select the tab page General and then choose Password Change.

6. Enter the old and new passwords and save your entries.

Note the Conventions for User Names and Passwords.

Result

The password of the database was changed.

See also:

Managing Database Users


Backup (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Backup

Use

You can use the Database Manager GUI to back up a database instance. The database instance can be on a local computer or on a remote computer.

You can back up data from the data area and log entries from the log area on backup media.

To perform backups in the background, use the Database Manager CLI (see Database Manager CLI, Backing Up and Restoring Database Instances).

We recommend that you make a plan for regular administration tasks.

Activities

You can use the Database Manager GUI or the Backup Wizard for the following activities:

· Managing Backup Media

· Execute backups (see Backup Procedures)

· Checking Backups

· Displaying the Backup History

For SAP applications, you can use the DBA Planning Calendar of the Solution Lifecycle Management System (CCMS) to plan and automate the backup functions of the Database Manager and the administration of the backup media. For more information, see Database Administration in CCMS, Structure link DBA Planning Calendar.

See also:

Concepts of the Database System, Backing Up and Restoring


Backup Wizard (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Backup Wizard

You can use the Backup Wizard to guide you through the entire process of backing up a database instance.

Procedure

In the Database Manager GUI, choose Instance ® Backup ® Backup Wizard.

Choose Next to start each of the required backup steps.

1. You can back up the data of a database instance either locally, or on a remote computer.
Choose the desired database instance or enter the following information directly:
Database Server: name of the computer on which the database instance is located
Database Name: database name
User Name: name of the Database Manager operator (DBM operator)
Password: password of the Database Manager operator

2. If necessary, switch the database instance to the desired operational state.

3. Choose the desired backup type:
Complete Data Backup
Incremental Data Backup
Log Backup: interactive log backup
Activate/deactivate automatic log backup: automatic log backup
Also take note of the information about completed backups in the Backup Wizard.

4. Choose the backup medium.
If you do not yet have a backup medium, you can create one, or create a group of parallel backup media. For more information on this, see Managing the Backup Media.

5. Start the backup.

6. Close the Backup Wizard.

See also:

Concepts of the Database System, Backing Up and Restoring


Managing the Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Managing the Backup Media

Use

Before you can back up data and log entries, you have to define backup media. You can create and manage backup media interactively with the Database Manager GUI or the Backup Wizard.

Features

· Creating a Single Backup Medium

· Creating a Group of Parallel Backup Media

· Changing Backup Media

· Deleting Backup Media

· Checking Backups

See also:

Concepts of the Database System, Backup Media


Creating a Single Backup Medium (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a Single Backup Medium

Prerequisites

You have connected the database instance to the DBM Server.

Procedure

Choose one of the following procedures:

· Select the required database instance in the list of database instances
Choose Instance ® Backup ® Backup Medium.
Choose Actions ® New Medium.

· Backup Wizard
Choose New Medium in the Media for Backup window.

...

General

Choose General and enter the following information:

Name | Name of the backup medium
Backup Type | Choose the desired backup type, if applicable. Complete Data: complete data backup Incremental Data: incremental data backup Log Backup: log backup
Device Type | Select a backup media type: File: If you choose the File type, the Database Manager writes the log backups to version files. Tape: Log backups to tape are not possible. Pipe: pipe If you back up using a backup tool from another provider, choose the Pipe type.
Tool Type | If you are using a backup tool from another provider, choose the abbreviation for this backup tool here. BACK: Backint for Oracle/Backint for MaxDB NSR: NetWorker TSM: TSM
Device/File | The name of the device/file with which it can be addressed through operating system functions. Log backups of the FILE type are versioned by the system. If you do not define this value, the medium cannot be used.

Extended

Choose Extended and enter the following information:

Size | Size of backup medium
Overwrite | Select Overwrite if you want to use the overwrite mode for the backup medium.
Blocksize | Select Blocksize if you want to make backups in blocks of up to eight pages
Autoloader | If you want to use a tape device with an automatic tape loader, select Autoloader.
OS Command | When you backup to tape, you can specify operating system commands.

Result

You can now use the backup medium you have defined to perform backups. It can also be used as a succeeding medium.

Backing Up to a Single Backup Media, Backups with Manually Changed Media (Succeeding Medium), Backups with Automatic Tape Loaders, Backups with Backup Tools from Other Providers

See also:

Concepts of the Database System,

· Backing Up and Restoring

· Backup Media

Connecting Backup Tools from Other Providers


Creating a Group of Parallel Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a Group of Parallel Backup Media

To improve backup speed, you can use the Database manager GUI to back up data to multiple backup media in parallel. For this purpose you define a group of parallel media under a single medium name. When you restore, you can import the data from this type of backup in parallel.

Prerequisites

You have connected the database instance to the DBM Server.

Procedure

Choose one of the following procedures:

· Select the required database instance in the list of database instances.
Choose Instance ® Backup ® Backup Medium.
Choose Actions ® New Parallel Medium.

· Backup Wizard
Choose New Parallel Medium in the Media for Backup window.

General

Choose General and enter the following information:

Name | Name of the group of parallel backup media
Backup Type | Choose the desired backup type, if applicable. Complete Data Backup: complete data backup Incremental Data Backup: incremental data backup
Device Type | Choose a backup media type: File: File Tape: Tape Pipe: Pipe If you back up using a backup tool from another provider, choose Pipe.
Tool Type | If you are using a backup tool from another provider, choose the abbreviation for the external backup tool here. BACK: Backint for Oracle/Backint for MaxDB NSR: NetWorker TSM: TSM
Device/File | Name and path for backup media that you want to include in the group of parallel backup media. Change the defaults, or add new locations, depending on where you want to make the backups.

Extended

Choose Extended and enter the following information:

Unit | Unit of measurement for specifying the size of backup media
Overwrite | Select Overwrite if you want to use the overwrite mode for backup media
Blocksize | Select Blocksize if you want to make backups in blocks of up to eight pages
Autoloader | Select Autoloader if you want to use a tape device with an automatic tape loader.
Name/Size/OS Command | You can specify the size of each backup medium in the group. When you backup to tape, you can specify operating system commands.

Result

You can now use the parallel backup media you have defined to perform backups. They can also be used as succeeding media.

Backing Up to a Group of Parallel Backup Media, Backups with Manually Changed Media (Succeeding Medium), Backups with Automatic Tape Loaders, Backups with Backup Tools from Other Providers

See also:

Concepts of the Database System,

· Backing Up and Restoring

· Backup Media

Connecting Backup Tools from Other Providers

...


Changing Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing Backup Media

Procedure

· Database Manager GUI
Select the required database instance in the list of database instances.
Choose Instance ® Backup ® Backup Medium.
Choose a backup medium or group of parallel backup media.

· Backup Wizard
In the window Media for Backup, choose a backup medium or group of parallel backup media.

...

Changing the Name of the Backup Medium or Group of Parallel Backup Media

1. Choose Actions ® Rename and make your changes.

2. Choose Enter to save your changes.

Changing the Properties of a Backup Medium

3. Choose Actions ®® Properties and make your changes.

4. For information on the properties that you can change under General and Extended, see Creating a Single Backup Medium.

5. To display the backup ID, choose Label.


Deleting Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting Backup Media

Use

You delete the definition of a backup medium. Thereafter, the backup medium is no longer available for backups and recovery in the Database Manager.

Procedure

· Database Manager GUI
Select the required database instance in the list of database instances.
Choose Instance ® Backup ® Backup Medium.
Choose a backup medium or group of parallel backup media.

· Backup Wizard
In the window Media for Backup, choose a backup medium or group of parallel backup media.

To delete the definition of the chosen backup medium, choose Action ® Delete or Delete.


Backup Procedures (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Backup Procedures

You can execute backups of data or log entries interactively with the Database Manager GUI or with the Backup Wizard. Depending on the technical requirements, the following backup procedures are possible:

· Backing Up to a Single Backup Medium

· Backing Up to a Group of Parallel Backup Media

If the capacity of the selected backup medium is sufficient for the total quantity of data or log entries that needs to be backed up, then the database administrator does not need to intervene during the backup process.

If the capacity of the selected backup medium is not sufficient for the backup, succeeding media must be used, meaning that when one backup medium is full, it must be automatically or manually replaced by an empty medium:

· Backups to Automatic Tape Loader

· Backups with Manually Changed Media (Succeeding Medium)

The Backup Wizard requests additional backup media when a medium has been completely filled but the backup has not yet been completed. To allow it to do this, the media size must be stated when defining the medium, or the tape device must detect the end of the tape.

You also have the option of using an external backup tool.

· Saving with External Backup Tools

There is an automatic backup function for backing up the log entries:

· Activating and Deactivating the Automatic Log Backup

See also:

Concepts of the Database System, Backing Up and Restoring


Backing Up to a Single Backup Medium (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Backing Up to a Single Backup Medium

You can use the Database Manager GUI to back up data or log entries to a single backup medium.

If possible, we recommend that you back up data to a group of parallel backup media, rather than backing up the data to a single backup medium with succeeding media. You cannot make log backups in parallel.

We recommend checking the database structures before each complete data backup.

Prerequisites

Only one backup device is available. You have created the required backup medium.

If you want to perform a backup using an automatic tape loader (Backups to Automatic Tape Loader), or with the help of external backup tools (Backups with Backup Tools from Other Providers), then you must state this specifically when defining the backup media.

Under normal circumstances, you should back up database instances in the ONLINE operational state.

You can also back up database instances in the ADMIN operational state, but only in exceptional circumstances.

Procedure

Use the Backup Wizard.

1. If you have not yet created a backup medium, do this now as described in Creating a Single Backup Medium. Select a backup medium in the window Media for Backup.

2. Check the details. Change them if required (Changing Backup Media).

3. Start the backup, or activate automatic log backups.
If the capacity of the specified backup medium is not large enough for the backup and you are not using an automatic tape loader, the Backup Wizard asks you to specify and insert a new backup medium as soon as the previous medium has been filled (see Backups with Manually Changed Media (Succeeding Medium)).

Result

You can check the results of your log backups using the Backup History.


Backing Up to a Group of Parallel Backup Media (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Backing Up to a Group of Parallel Backup Media

You can use the Database Manager GUI to back up data to a group of parallel backup media. This maximizes the data throughput. You can use up to 32 tape devices in parallel.

If possible, we recommend that you back up data to a group of parallel backup media, rather than backing up the data to a single backup medium with succeeding media. You cannot make log backups in parallel.

We recommend checking the database structures before each complete data backup.

Prerequisite

There are multiple backup devices available. You have created the required backup media.

If you want to perform a backup using an automatic tape loader (Backups with Automatic Tape Loaders), or with the help of external backup tools (Backups with Backup Tools from Other Providers), then you must state this specifically when defining the media.

Under normal circumstances, you should back up database instances in the ONLINE operational state.

You can also back up database instances in the ADMIN operational state, but only in exceptional circumstances.

Procedure

Use the Backup Wizard.

1. If you have not yet created a group of parallel backup media, do this now as described in Creating a Group of Parallel Backup Media. Select a group of parallel backup media in the window Media for Backup.

2. Check the details. Change them if required (Changing Backup Media).

3. Start the backup.
If the capacity of the specified group is not large enough for the backup and you are not using an automatic tape loader, the Backup Wizard asks you to specify and insert a new backup medium as soon as the previous medium has been filled (see Backups to Manually Changed Media (Succeeding Media)).

Result

You can check the results of your data backups using the Backup History.


Backups with Automatic Tape Loaders (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Backups with Automatic Tape Loaders

You can use the Database Manager GUI to back up data or log entries using automatic tape loaders. The Backup Wizard supports automatic tape loaders.

Alternatively, you can use a backup from another provider (Backing Up with Backup Tools from Other Providers).

Prerequisites

Under normal circumstances, you should back up database instances in the ONLINE operational state.

You can also backup database instances in the ADMIN operational state, but only in exceptional circumstances.

Make sure you have enough tapes.

Before a backup, you must check that none of the tapes is write-protected since this terminates the entire backup.

Procedure

Creating a Backup Medium

If you want to use an automatic tape loader, choose the following settings when you create the backup media (see Creating a Single Backup Medium, Creating a Group of Parallel Backup Media or Changing Backup Media):

· General
Choose the device type Tape.

· Extended
Select Autoloader.
On the Microsoft Windows operating system, this defines the automatic loading of tapes.
If you are using any other operating system, use the appropriate command for loading tapes. Enter the operating system command in the field OS Command.

Executing a Backup

When you back up the data, proceed as described under Backing Up to a Single Backup Medium or Backing Up to a Group of Parallel Backup Media.

After you insert the tape cartridge in the autoloader, the first tape must be selected manually.

When the end of this tape is reached, the autoloader will then take the next tape available.

Result

At the end of the backup, the tape device shows the number of tapes written. The tapes should be marked with the backup label which was displayed and confirmed at the start of the backup.

You can check the results of your data or log backups using the Backup History.


Backups with Manually Changed Media (Succeeding Medium) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Backups with Manually Changed Media (Succeeding Medium)

You can use the Database Manager GUI to back up data or log entries using succeeding media. If necessary, the Backup Wizard will ask you to change the medium (a succeeding medium).

Prerequisites

Under normal circumstances, you should back up a database instance in the ONLINE operational state.

You can also backup database instances in the ADMIN operational state, but only in exceptional circumstances.

Procedure

You have started a backup to a single backup medium or a backup to a group of parallel backup media.

The capacity of the backup medium or backup media inserted is not sufficient for the selected backup. The advancing bar showing the progress of the backup stops before reaching 100%.

The Backup Wizard prompts you to insert the succeeding medium.

Succeeding Medium: Tape

...

1. Insert the next tape.

2. Ensure that the tape that has just been written is stored in a safe place and that the right tape has been inserted.

3. Continue with the backup.

We recommend you specify the exact capacity of the medium when defining the medium. As long as the tape device driver gives a reliable indication of when the end of the tape is reached, the Database Manager GUI reacts as described even when Size = 0.
If the end of the tape is not recognized correctly, the message Writing Error is displayed. Even when this happens you can continue as described in steps 1-3.

Succeeding Medium: File

...

1. Under New Location, enter the name and full path of the file to which the backup should be made.

2. Continue with the backup.

Result

Repeat the procedure appropriate to the type of medium until the backup has been completed.

As long as the backup procedure is being performed, no other backup can be started.

You can check the results of your data or log backups using the Backup History.


Backups with Backup Tools from Other Providers (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Backups with Backup Tools from Other Providers

You can use the Database Manager GUI to back up data or log entries using backup tools from other providers. The Backup Wizard supports backups to tapes and succeeding tapes using backup tools from other providers.

Prerequisites

Connecting Backup Tools from Other Providers

Under normal circumstances, you should back up a database instance in the ONLINE operational state.

You can also backup database instances in the ADMIN operational state, but only in exceptional circumstances.

Procedure

Creating a Backup Medium

If you want to use backup tools from other providers, choose the following settings when you create the backup media (see Creating a Single Backup Medium, Creating a Group of Parallel Backup Media or Changing Backup Media):

General

· Choose the device type Pipe.

· Specify the operating system path of this pipe under Device/File.

Executing a Backup

When you back up the data, proceed as described under Backing Up to a Single Backup Medium or Backing Up to a Group of Parallel Backup Media. Use the required backup media.

Result

You can check the results of your data or log backups using the Backup History.


Activating and Deactivating Automatic Log Backup (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Activating and Deactivating Automatic Log Backup

You can activate and deactivate automatic log backup with the Database Manager GUI.

Once you activate automatic log backup for your system, this setting remains active until you deactivate automatic log backup again. Automatic log backup also remains active when you restart the database instance.

Prerequisites

You must do a complete data backup before you activate automatic log backup.

The database instance is in the ONLINE operational state.

Procedure

Using the Backup Wizard

You can activate and deactivate automatic log backups with the Backup Wizard.

...

1. Start the Backup Wizard.

2. If you have not yet created a backup medium, do this now as described in Creating a Single Backup Medium. Select a backup medium in the window Media for Backup.

3. Check the details. Make any necessary changes (Changing Backup Media).

4. If your database is in the operational state ONLINE, you can activate or deactivate automatic log backup (Activate/Deactivate Automatic Log Backup).

Using the Database Manager GUI

You can activate and deactivate automatic log backups with the Database Manager GUI.

Before you can make log backups, you must create the necessary backup media.

...

1. Start the Database Manager GUI.

2. Choose Instance.

3. If your database is in the operational state ONLINE, you can activate or deactivate automatic log backups (Set Auto Log ON/OFF).

Result

The List of Database Instances displays, among other things, whether automatic log backup is on or not (Auto Log On/Off).

You can check the results of your log backups using the Backup History.

See also:

Concepts of the Database System, Backing Up Log Entries


Restore (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Restore

Use

To restore a database instance after an error or system failure, you can use the Database Manager GUI to import data and log backups. You can restore the database instance to its last state or to an earlier state.

You can also use the Database Manager GUI to restore indexes and mirrored log volumes.

If the automatic log backup function was activated before the recovery of the database instance started, this function is not automatically reactivated after the recovery. To reactivate the log backup function, proceed as described under Activating the Automatic Log Backup.

Activities

You can usually use the Recovery Wizard to perform interactive recoveries of data. The Recovery Wizard proposes the optimal recovery strategy for your purposes. You can choose from the following procedures:

· Restoring from the Last Backup in the Backup History

· Restoring from an Earlier Backup in the Backup History

· Restoring Without a Backup History

· Continue Interrupted Restore

· Restoring with Automatic Tape Loaders

· Restoring with Backup Tools from Other Providers

If a restore is not possible using the above procedures (for example, because the database instance was deleted), you have to initialize the database and then restore it. The initialization process makes this a much lengthier procedure. Use it only if absolutely necessary.

· Restoring After Initializing a Database Instance

You can also use the Database Manager GUI to restore indexes and mirrored volumes:

· Restoring Indexes after Database Restore

· Restoring a Mirrored Log Volume

See also:

Concepts of the Database System, Restoring the Database Instance


Recovery Wizard (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Recovery Wizard

Use

You can use the Recovery Wizard to guide you through the entire process of restoring a database instance.

You can start the Recovery Wizard on a Windows-based server to restore data on either a local or remote server.

The Recovery Wizard always proposes the quickest procedure for recovering lost data. Complete data backups are read first; then, if necessary, incremental data backups and log backups are read.

To make sure that the data is recovered as quickly as possible, data backups can be read from multiple backup media at the same time. The number of media in a group of parallel backup media does not have to be the same as the number of parallel backup media used for the original backup. Even a backup made to single medium with succeeding media can be restored in parallel. You can considerably reduce the restore times by using up to 32 tape drives.

Log backups cannot be restored in parallel.

Procedure

In the Database Manager GUI, choose Instance ® Recovery ® Recovery... .

Choose Next to start each of the required recovery steps.

...

1. You can recover the data of a database instance either locally, or on a remote computer.
Choose the desired database instance or enter the following information directly:
Database Server: name of the computer on which the database instance is located
Database Name: database name
User Name: name of the Database Manager operator (DBM operator)
Password: password of the Database Manager operator

2. You can switch the database instance to the operational state of your choice. When you recover data, you require the operational state ADMIN.

3. Choose a recovery type:
Restore last backup: Restore the last complete backup
Restore a specified backup from history: Restore a backup from the backup history
Restore a medium: Restoring without a backup history
Continue restoring pages/log: This setting is displayed if you need to continue an interrupted recovery.
Restore database until a specified time: If you only want to restore the database to a specific time, select this setting, and enter a time.

4. The recovery strategy is displayed. The system prompts you to insert the required backup media.

5. Start the recovery.

6. Close the Recovery Wizard.

Result

The database instance has been recovered to the state you specified.

If the recovery procedure provided by the Recovery Wizard does not produce the required results, you might have to use one of the procedures for restoring after initializing a database instance.

See also:

Concepts of the Database System, Restoring the Database Instance


Restoring the Last Backup in the Backup History (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring the Last Backup in the Backup History

You can use the Recovery Wizard to restore interactively. You can perform a recovery that uses the last backup made.

Prerequisites

The log files dbm.knl and dbm.mdf exist and are not damaged. This means that the backup history is complete.

If you are restoring with backup tools from other providers, the log file dbm.ebf must exist and must not be damaged.

The database instance is in the ADMIN operational state.

Procedure

Use the Recovery Wizard.

...

1. Choose Restore last backup.
You can now choose a time up to which you want to restore data. In this case, select Restore database until a specified time and enter a time.
The system default is the current time. If you do not change the time proposed by the system, the database instance is restored completely, including all changes.

2. The last complete data backup, the corresponding incremental backup, and the required log backups are displayed.
You can remove the incremental data backup from the proposal. If you do this, the Recovery Wizard proposes the corresponding log backups, or another incremental data backup (if one exists).

3. The system prompts you to insert the backup medium.

4. Start the recovery.
If you are using external backup tools, the external backup IDs are displayed at this point.
The complete data backup is restored.

5. If you are restoring an incremental data backup, the Recovery Wizardprompts you to confirm this.

6. If you need to restore log backups, the Recovery Wizard prompts you to confirm that you want to restore all displayed log backups. After the log backups have been restored, the database instance is in the ONLINE operational state.
If no log backups need to be restored, the recovery is complete. You can also specify an UNTIL time. Choose Restart to start the database instance.

When you restore a series of backups, the Recovery Wizard prompts you to insert the next backup medium each time, unless you are restoring from an automatic tape loader.

You can if you wish stop the restore process and resume it later on (see Continue Interrupted Restore).


Restoring a Backup from the Backup History (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring a Backup from the Backup History

You can use the Recovery Wizard to restore interactively. You can perform a recovery with a complete data backup from the backup history.

Prerequisite

The log files dbm.knl and dbm.mdf of the Database Manager exist and are not damaged. This means that the backup history is complete.

If you are restoring with backup tools from other providers, the log file dbm.ebf must also exist and not be damaged.

The database instance is in the ADMIN operational state.

Procedure

Use the Recovery Wizard.

...

1. Choose Restore a specified backup from history.
You can now choose a time up to which you want to restore data. In this case, select Restore database until a specified time and enter a time.
The system default is the current time. If you do not change the time proposed by the system, the database instance is restored completely, including all changes.

2. The backup history of the complete data backups is displayed.

3. Select the data backup you want.

4. The chosen data backup, the corresponding incremental data backup, and the required log backups are displayed.
You can remove the incremental data backup from the proposal. If you do this, the Recovery Wizard proposes the corresponding log backups, or another incremental data backup (if one exists).

5. The system prompts you to insert the backup medium.

6. Start the recovery.
If you are using external backup tools, the external backup IDs are displayed at this point.
The complete data backup is restored.

7. If you are restoring an incremental data backup, the Recovery Wizardprompts you to confirm this.

8. If you need to restore log backups, the Recovery Wizard prompts you to confirm that you want to restore all displayed log backups. After the log backups have been restored, the database instance is in the ONLINE operational state.
If no log backups need to be restored, the recovery is complete. You can also specify an UNTIL time. Choose Restart to start the database instance.

When you restore a series of backups, the Recovery Wizard prompts you to insert the next backup medium each time, unless you are restoring with an automatic tape loader.

You can if you wish stop the restore process and resume it later on (see Continue Interrupted Restore ).


Restoring Without a Backup History (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring Without a Backup History

You can use the Recovery Wizard to restore interactively. You can also perform a recovery if the backup history is not available.

Prerequisites

The database instance is in the ADMIN operational state.

The backup history contains errors or is no longer complete.

Procedure

Use the Recovery Wizard.

...

1. Choose Restore a medium.
You can now choose a time up to which you want to restore the information from a backup medium. In this case, select Restore database until a specified time and enter a time.
The system default is the current time. If you do not change the time proposed by the system, the backups are restored completely and with all the changes they contain.

2. A list of all existing backup media is displayed.

3. Select the medium you want to restore.
If you are performing a restore with external backup tools, the system displays a list of backups. Select the required external backup IDs, if necessary.

4. The system prompts you to insert the backup medium. If you are performing a restore using backup tools from other providers, the external backup IDs are displayed again at this point.

5. Start the recovery.
If you then want to recover more backup media without a backup history, repeat this procedure.

6. Choose Restart to start the database instance.

You can if you wish stop the restore process and resume it later on (see Continue Interrupted Restore).


Continuing an Interrupted Restore (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Continuing an Interrupted Restore

If a Restore process is interrupted, you have the option of continuing it later with the Recovery Wizard.

Prerequisite

The database instance is in the ADMIN operational state.

One of several possible restore procedures has been started but canceled before it had been completed.

· Restoring from the Last Backup in the Backup History

· Restoring a Backup from the Backup History

· Restoring Without a Backup History

Procedure

Use the Recovery Wizard.

...

1. Choose Continue restoring pages/log.
You have the option of restoring the database up to a specific time. In this case, select Restore database until a specified time and enter a time.
The system default is the current time. If you do not change the time proposed by the system, the backups are restored completely and with all the changes they contain.

2. This displays a list of all relevant log backups made for data backups that have already been restored.

3. Continue with the restore process. You can follow the progress of the restore process and its completion on the screen display.

4. Choose Restart to start the database instance.

...

When you restore a series of backups, the Recovery Wizard prompts you to insert the next backup medium each time, unless you are restoring from an automatic tape loader.


Restoring with Automatic Tape Loaders (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring with Automatic Tape Loaders

You can interactively restore using the Recovery Wizard . You can optimize this process by using an automatic tape loader.

Prerequisites

For the retrieval operation to be successful, all the tapes which form part of the backup must be present in the automatic tape loader.

The database instance is in the ADMIN operational state.

Procedure

Use the same media definition as for backing up (Creating a Single Backup Medium). Follow the individual steps as described for the relevant recovery procedure:

· Restoring from the Last Backup in the Backup History

· Restoring from an Earlier Backup in the Backup History

· Restoring Without a Backup History


Restoring with Backup Tools from Other Providers (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring with Backup Tools from Other Providers

You can interactively restore using the Recovery Wizard . The Recovery Wizard supports the use of backup tools from other providers.

Prerequisite

Connecting Backup Tools from Other Providers

The database instance is in the ADMIN operational state.

Procedure

Start the recovery from the Recovery Wizard. The Recovery Wizarddisplays the external backup IDs for the operator to check, and uses these during the restore operation. The operator does not need to explicitly determine or specify the external backup IDs.

The number of media in a group of parallel backup media must correspond to the number of media used to create the backup.

Follow the procedure for the relevant restore process:

· Restoring from the Last Backup in the Backup History

· Restoring from an Earlier Backup in the Backup History

· Restoring Without a Backup History


Restoring After Initializing a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring After Initializing a Database Instance

When you restore a database instance, you may need to initialize the database instance to delete the log entries in the log area. You can then restore the required backups to recover the database instance to a specified state.

There are two procedures for restoring after initializing a database instance. The procedure you choose depends on whether you want to change the database and volume settings before you restore the database instance.

You need to carry out a restore operation after initializing a database instance in the following situations:

· You want to recover a deleted database instance from a backup.

· You want to use backups from a point in time before you made a recovery with an UNTIL time. (For example, you want to repeat a recovery with an UNTIL time so that you can specify a different time.)

Any backups made before the interruption of the backup history can only be restored with the procedure described here.

This procedure involves the initialization of the database instance. This procedure is very time consuming. For this reason, you should only use it if absolutely necessary.

Procedure

There are two ways of initializing and then restoring a database instance.

· Restoring after initializing a database instance without the option of changing the database parameters and volume configuration.

· Restoring after initializing a database instance with the option of changing the database parameters and volume configuration.

Restoring after initializing a database instance without the option of changing the database parameters and volume configuration

Prerequisites

The database instance is in the ADMIN operational state.

Procedure

...

1. Choose Instance ® Recovery ® Recovery with Initialization.

2. If necessary, transfer the database instance to the ADMIN operational state.

3. The Recovery Wizard always proposes the quickest procedure for recovering lost data. You may need to choose a procedure that is adapted to your situation.

4. The wizard guides you through the entire process of recovering the database instance. The subsequent recovery steps are described under the relevant recovery procedure.

Restoring after initializing a database instance with the option of changing the database parameters and volume configuration

Prerequisites

The log files dbm.knl and dbm.mdf exist and are not damaged. This means that the backup history is complete. The database instance is in the OFFLINE operational state.

Procedure

1. Initialize the database instance . All data from the old version is then lost.

2. During the initialization process, choose Create instance for recovery (not Create and start instance), since this is the only option that lets you recover the data.
Once it has been created, the database instance is in the ADMIN operational state. The Database Manager opens the Recovery Wizard automatically.

3. The Recovery Wizard always proposes the quickest procedure for recovering lost data. You may need to choose a procedure that is adapted to your situation.

4. The wizard guides you through the entire process of recovering the database instance. The subsequent recovery steps are described under the relevant recovery procedure.


Restoring the Indexes after a Database Restore (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring the Indexes after a Database Restore

You can use the special database parameter AUTO_RECREATE_BAD_INDEXES to specify whether indexes marked as BAD are recreated automatically after a restore. If this database parameter is set to NO and you have carried out a database recovery, you can then also recreate indexes marked as BAD explicitly.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

1. Choose Instance ® Recovery ® Index.

2. You can choose the tables for which the indexes marked BAD are to be displayed. To do so, enter appropriate search arguments for the owner, table name, and index name.

Owner | Owner
Table Name | Name of the table
Index Name | Name of the index

3. Choose Actions ® Search. A list of the indices that match your criteria is then displayed.

4. Select the indexes that you want to recreate.

5. Choose Actions ® Recreate to perform the action.

We recommend that you restore the indexes during periods where the load on the system is low.


Restoring a Mirrored Log Volume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Restoring a Mirrored Log Volume

If your log volumes are mirrored, it is possible that one of the volume mirrors may fail. If there are problems accessing the log area or the mirror log area, the affected log volume is flagged as BAD, and the database instance is transferred to the OFFLINE operational state.

You can use the Database Manager GUI to restore a damaged mirror log volume. When you do so, the complete content of the relevant log volume is copied from the other log area to the faulty log volume. This ensures that, if disk errors destroy the content of a log volume, the database instance does not need to be restored, since the content of the log volume is mirrored.

Prerequisites

The database instance is in the ADMIN operational state.

Procedure

1. Choose Instance ® Recovery ® Volumes.
Select the BAD volumes that you want to recover.

2. Choose Actions ® Reintegrate to start copying the mirror volume.

See also:

Log Mode


Freezing the Data Area (Snapshots) (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Freezing the Data Area (Snapshots)

A snapshot freezes the current status of the data area. When you create a snapshot, you can continue to work with the data as normal and later revert to the state of the data area when the snapshot was made.

You can use the Database Manager GUI to create, use and delete snapshots.

A snapshot is not a data backup. To be able to restore your data after a system breakdown, you have to perform regular data and log backups.

Prerequisites

The database instance is in the ADMIN operational state.

Process Flow

...

1. You create a snapshot.

2. You continue to work with the data as normal.

3. You decide between the following two options:

¡ Revert to the snapshot (reject all the changes since the snapshot was made)

¡ Delete the snapshot (permanently accept all the changes since the snapshot was made)

See also:

Concepts of the Database System, Freezing the Data Area (Snapshot)


Creating a Snapshot (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a Snapshot

You can use the Database Manager GUI to create a snapshot.

Only one snapshot can exist at any one time. When you create a new snapshot, you overwrite any previous ones.

Prerequisites

The database instance is in the operational state ADMIN.

Procedure

We recommend that you activate overwrite mode for the log area in the log settings (see Changing the Log Settings).

...

1. Choose Instance ® Snapshot.

2. Choose Create Snapshot and confirm your input.

Result

The snapshot is created.

See also:

Freezing the Data Area (Snapshots)


Reverting to the Snapshot (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Reverting to the Snapshot

You can use the Database Manager GUI to revert the data area to its state at the time of the snapshot. By doing so, you discard all the changes that were made since the snapshot was created.

When you revert to the snapshot, all the log entries written up to this point are deleted. In other words, the backup history is interrupted. You have to carry out a complete data backup before you can perform a log backup.

Prerequisites

The database instance is in the ADMIN operational state.

Procedure

...

1. Choose Instance ® Snapshot.

2. Choose Revert to Snapshot and confirm your entry.

See also:

Freezing the Data Area (Snapshots)


Deleting the Snapshot (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting the Snapshot

You can use the Database Manager GUI to delete the snapshot. If you do so, all the changes that have occurred in the data area since the snapshot are adopted.

Prerequisites

The database instance is in the ADMIN operational state.

Procedure

...

1. Choose Instance ® Snapshot.

2. Choose Delete Snapshot and confirm your input.

See also:

Freezing the Data Area (Snapshots)


Displaying Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Information

You can get a general overview of the information and statistics on important database functions available in the Database Manager GUI.

In the Database Manager console you can display all DBM commands from the Database Manager GUI that are executed for actions involving the administration of a database instance.

Procedure

...

1. Select the desired database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Select Instance ®Information.

3. Choose the area for which you wish to obtain detailed information.

To start the Database Manager console, chose Instance ® Database Manager Console.

Result

Information is given on the following topics:

Activity | Displaying Database Activities
Caches | Displaying Cache Information
Data Area | Displaying Data Area Information
Log Area | Displaying Log Area Information
Backup History | Displaying the Backup History
Parameters | Displaying Database Parameters
Sessions | Displaying Database Sessions
System Info Tables | Displaying System Tables

If you use the Database Manager Console, in the console’s display you can track which DBM commands are used for which administrative tasks. You can save the DBM commands as required in a file you have defined, or you can use them directly for executing administrative tasks with Database Manager CLI.

See also:

Options for Diagnosing Problems

Database Manager CLI, DBM Commandos


Displaying the Backup History (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying the Backup History

You can display a chronological list in the Database Manager GUI of all backup and restore operations that have been executed (Backup History).

Procedure

...

1. Select the required database instance in the list of database instances. Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Backup History
or
choose Instance ® Backup ® Backup History

Result

You will see the following items of information on each action:

Label | Backup ID
Action | The action (backup or recover) and the operational state in which it took place.
Beginning | Time when the action began
Result | Result
Medium | Name of the backup medium
Size (KB) | Size (KB)
Volumes | Volumes
Next Log Page | I/O sequence number
From Log Page | From I/O sequence number
To Log Page | To I/O sequence number

For more information, choose Actions and one of the following functions:

· ® Show details
The system displays media information. If you are using external backup tools, the system displays the external backup IDs and the availability of the backup media.

· ® Columns
You can create your own personal display variant of the backup history here.

· ® Refresh with External Backup Info
You update the backup history and the information about the backups that were performed with external backup tools.

See also:

Concepts of the Database System, Supported Backup Tools from Other Providers


Displaying Cache Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Cache Information

You can display the hit rate of the caches in the Database Manager GUI. These hit rates show you whether the caches have been configured with enough space. The hit rates for the data cache and the converter are particularly important.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Caches.

3. The following information is displayed for the different caches:

Accesses | Total number of accesses
Successful | Number of successful accesses
Unsuccessful | Number of unsuccessful accesses
Hit Rate (%) | Hit rate (number of hits as a percentage of the total number of accesses).

The current values of certain database parameters that can affect the caches are also displayed.

Result

The hit rate of the data cache should be at least 99% and the converter hit rate should be at least 98%.

Lower hit rates can occur for a short time, for example when tables are read for the first time, or when the table does not fit into 10% of the data cache in the case of repeated table scans. If the values are permanently lower than the recommended percentage, this is a sign of poor performance. In this case, the CACHE_SIZE general database parameter must be adjusted accordingly.


Displaying Data Area Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Data Area Information

You can display information on the size and current usage of the data area in the Database Manager GUI.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Data Area.

Result

The display is divided into the following areas:

· Volumes: Information about the data volumes

· Settings: Value of the MAXDATAVOLUMES database parameter

· Usage: Usage of the data area

· I/O: Reads and writes for each data volume

Volumes

Among other things, you see the following information for each data volume: name, size, type, and path in the run directory.

Settings

The maximum number of data volumes is controlled by the general database parameter MAXDATAVOLUMES. The current value of this database parameter is displayed.

Usage

If the database instance is in the ONLINE operational state, you can display the usage of the data area.

Total Size | Total size of the data area
Used Area | Used data area
Permanent Used Area | Data area used by permanent data
Temporary Used Area | Data area used by temporary data
Free Area | Free data area

You also see the fill level of each data volume.

I/O

If the database instance is in the ONLINE operational state, you can display the read and write activities for each data volume.


Displaying Database Activities (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Database Activities

You can display the database activities in the Database Manager GUI.

Prerequisite

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Activity.

3. You see a display of the database activities, split into the following sections:

¡ Commands: Information about the SQL statements

¡ I/O Activity: Information about the read and write activities

¡ Lock Activity: Information about lock activities

¡ Log Activity: Information about log activities

¡ Scan and Sort Activity: Information about table scans

Commands

The Commands section includes the following information about the SQL statements:

Statement Type | Explanation
SQL Commands | Number of SQL statements sent to the database system to be executed. A direct indication of database activity.
Prepares | Number of dynamic SQL statements.
Executes | Number of executed dynamic SQL statements.
Rollbacks | Unsuccessful database operations, usually caused by crashed applications
Commits | Successful database operations. The ratio between ROLLBACK actions and COMMIT actions can indicate logical inconsistencies in one or more SQL statements.
Updates, Selects and Fetches, Creates, Alters, Drops, DB procedure calls, Deletes, Inserts | Number of individual SQL statements, possibly with row information

I/O Activity

The I/O Activity section gives you information about I/O activities triggered by the database system. This includes information about the logical and physical read and write transactions.

In a physical read or write activity, the system accesses a volume directly. A logical read or write activity, on the other hand, uses data stored in the data cache or another cache.

Lock Activity

The Lock Activity section gives you information about the maximum number of available database locks (Available Entries), as well as the number of locks that have been set. If the number of set locks is approaching the number of available locks, it is a good idea to raise the value of the general database parameter MAXLOCKS.

Escalations shows you the total number of rows that have been locked in a single database session. As soon as the number of locked rows exceeds a specific percentage, the database system locks the entire table. The threshold for Escalations follows the MAXLOCKS values for this database instance.

If a locked object is requested again, a lock conflict occurs. If a large number of collisions occurs in your system, this means that a specific lock is being held too long, or multiple users are trying to access the same part of the database too often.

The values of Lock Owner and Lock Requestor relate to the locks that exist when the transaction is executed.

Scan and Sort Activity

The Scan and Sort Activity section shows you information about the table scans, among other things.

Keep the number of table scans to a minimum, since a high number of sequential scans can have a negative effect on database performance.


Displaying Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Database Parameters

In the Database Manager GUI, you can display all the database parameters, as well as a chronological list of all changes made to these parameters.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Parameters.

3. The display of the database parameters is divided into the following sections:

¡ General: Displays the general database parameters

¡ Extended: Displays the special database parameters

¡ Support: Displays the support parameters

¡ History: You can use the parameter history to find out when a parameter setting was changed, and check the old and current values of the parameter. In addition, user-defined comments for the individual parameters are displayed in the history.

See also:

Displaying and Changing Database Parameters

Concepts of the Database System, Database Parameters


Displaying Database Sessions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Database Sessions

You can display all users that are currently connected to the database in the Database Manager GUI.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Sessions.

3. The following information is displayed:

Name | Name of user who has logged on
Terminal ID | A terminal identification specific to the particular operating system.
Task ID | Task number
Session ID | Number of the database session
Node | Name of the database computer
Catalog Cache Size | Size of catalog cache available for the user

See also:

Closing a Database Session Manually


Displaying Log Area Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Log Area Information

You can display information on the size and current usage of the log area in the Database Manager GUI.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® Log Area.

Result

The display is divided into the following areas:

· Volumes: Information about the log volumes

· Settings: Information about the log settings, values of the database parameters MAXLOGVOLUMES and LOG_SEGMENT_SIZE

· Usage: Usage of the log area

· I/O: Reads and writes for each log volume

· Activity: Summary of the log activities

Volumes

Among other things, you see the following information for each log volume: name, size, type, and path in the run directory.

Settings

You can control redo log management by making various log settings. The following settings are displayed:

· Log Mode: See Log Mode
SINGLE: The log volumes are not mirrored.
MIRRORED: The log volumes are mirrored.

· Overwrite Mode: See Overwrite Mode for the Log Area
NORMAL: The log area cannot be overwritten until the log entries have been backed up.
OVERWRITE: The log area is overwritten when it is full.

· Redo Log Management: See Activating or Deactivating Redo Log Management
ACTIVATED: Redo log management is activated.
DEACTIVATED: Redo log management is deactivated.

See also:

Changing Log Settings

The number of log volumes is controlled by the general database parameter MAXLOGVOLUMES. The general database parameter LOG_SEGMENT_SIZE controls the size of segment that is chosen when log backups are made. The current values of these database parameters are displayed.

Usage

If the database instance is in the ONLINE operational state, you can display the usage of the log area.

Total Size | Total size of the log area
Free Log Area | Free log area
Used Log Area | Used log area
Unsaved Log Area | Size of the log area that has not yet been backed up
Log since last data backup | Log entries written since the last data backup

I/O

If the database instance is in the ONLINE operational state, you can display the read and write activities for each log volume.

Activity

Log Pages Written | Written log pages
Wait for Log Writer | Indicates how often it was necessary to wait for a log entry to be written
Group Commits | Indicates how often more than one transaction had to wait for the I/O operation for a log page
Log I/O Queue Overflow | Indicates how often a transaction had to wait to write a log entry because the log queue was full


Displaying System Tables (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying System Tables

You can use the Database Manager GUI to display the system tables that are assigned to the SYSINFO schema. These system table contain information about the database states.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® System Tables.
A list of system tables is displayed.

3. Click the desired table.

Result

The status information that is stored in this table is displayed.

See also:

Reference Manual, Definitions of the System Tables


Options for Diagnosing Problems (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Options for Diagnosing Problems

In the event of errors or performance problems, the Database Manager GUI offers you a number of options for diagnosing the problem. You can also use other database tools to carry out your performance diagnosis.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose one of the following diagnosis options or database tools:

Diagnosis Options and Database Tools

Menu Command | Meaning
Instance ® Check ® Database Structure | Checking Database Structures
Instance ® Check ® Backup | Checking Backups
Instanc ® Check ® Database Server | Checking Database Servers
Instance ® Check ® Diagnosis Files | Reading Database Files
Instance ® Check ® Database Trace | Using the Database Trace
Instance ® Check ® Database Analyzer | Displaying and Deleting Database Analyzer Information
Tools ® SQL Studio | Using the SQL Studio
Instance ® Command Line | Using the Database Manager CLI
Instance ® OMS Caches | For liveCache instances only; Displaying OMS Caches
Instance ® OMS Container | For liveCache instances only; Displaying OMS Class Containers
Instance ® OMS Monitor | For liveCache instances only; Activating the OMS Monitor

See also:

Displaying Information


Checking Backups (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Checking Backups

You can use the Database Manager to check whether a backup can be read.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Check ® Backup.

3. Choose Next to start each of the required steps.

4. Choose the type of check you want to carry out.

¡ Check last backup: check the last backup created

¡ Check a specified backup from history: check a specific backup from the backup history

¡ Check a medium: check a backup from a particular backup medium

5. Select the backup medium that you wish to check.

6. Choose Start.

Result

The backup check is started.

If the check finds an error, a corresponding message is displayed.


Displaying and Deleting Database Analyzer Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying and Deleting Database Analyzer Information

You can use the Database Manager GUI to display status information about the Database Analyzer and to delete Database Analyzer logs.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Check ® Database Analyzer.

Result

You receive status information about the Database Analyzer. For more information about the Database Analyzer, see the Database Analyzer documentation.

If you want to delete Database Analyzer logs, choose Actions ® Delete Protocols. Specify the date starting from which the log files of the Database Analyzer are to be deleted.

See also:

Database Administration in CCMS: MaxDB, Structure link Database Analyzer

Database Administration in CCMS: SAP liveCache Technology, Structure link Database Analyzer


Checking Database Servers (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Checking Database Servers

The Database Manager GUI provides you with an overview of the operating system resources that the database instance is using, how the database sessions have been distributed among the threads and the status of the active database sessions.

There are additional functions available, but these should be reserved for support employees and developers.

Prerequisites

The database instance is the ONLINE or the ADMIN operational state.

Procedure

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Check ® Database Server.

3. Select the type of information you want.

4. To display the details, choose Actions ® View.


Reading Database Files (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Reading Database Files

The database system has a number of database files. You can access the existing database files from the Database Manager GUI.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Check ® Diagnosis Files.

3. Select the file you want.

See also:

Concepts of the Database System, Log Files and Configuration Files


Checking Database Structures (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Checking Database Structures

You can use the Database Manager GUI to check whether the database structures of a database instance are consistent.

We recommend that you check the database structures once a week.

This check is extremely CPU intensive and time consuming because many I/O operations have to be carried out. Plan checks in the production system only for times when the load on the database system is reduced or carry out the check on a database copy (see Concepts of the Database System, Database Copy).

Prerequisites

The database instance is the ONLINE or the ADMIN operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Check ® Database Structure.

3. Choose the required function and specify the relevant options in the following step.

Functions and Options for Checking the Database Structure

Function

Operational State

Command

Options

Checking the entire dataset

ONLINE

Check database structure in operational state ONLINE

EXTENDED: The length and ascending order of the keys are checked, among other things.

EXCEPT INDEX: Indexes are not checked. This option usually speeds up the check.

Checking the entire dataset and cleaning the converter

ADMIN

Check database structure and clear converter in operation state ADMIN

EXTENDED: see above.

Checking a selected table

ONLINE

Check database structure for a selected table in operational state ONLINE

EXTENDED: see above.

WITH LONG CHECK: If the base table to be checked contains LONG columns, the system checks whether all the LONG values defined actually exist. To ensure the consistency of the transaction, an SQL share lock is requested for the duration of the check.

CATALOG: The database catalog for this table is checked. This option cannot be combined with the EXTENDED and WITH LONG CHECK options.

4. To start the database structure check, choose Start.

5. After the check has been completed, choose Close.

Result

Errors encountered during the database structure check are written to the Database Errors database file. You can open this file to analyze these errors (see Reading Database Files).

See also:

Concepts of the Database System, Checking Database Structures


Using the Database Trace (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Using the Database Trace

The Database Manager GUI gives you the option of enabling the database trace if errors occur.

The database trace only adversely affects performance in liveCache database instances; in other database instances, you can use the database trace even in normal operation.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Check ® Database Trace.

3. You can execute the log functions below either individually or group, which you can define yourself.

Logging Database Statements in General

· On the Options tab page, select the required database trace options in the list. If the options support the selection of a trace level, the system default value is displayed in the Level column .

· Choose Actions ® Selected Items ON to activate the database trace for the chosen database trace options.

If you want to change the trace level for the selected database trace options, choose Actions ® Selected Items ON with Level... You can now select a different trace level. The higher the trace level, the greater amount of detail is provided in the information collected by the database trace.

Choose Actions ® Selected Items OFF to disable the database trace.

Logging Database Statements in a Specific Database Session

The database trace is written for all database sessions by default. The default setting can be changed if necessary:

4. Choose the Advanced tab page and select Trace session.

5. Decide whether the database trace is to be written for the current session or for a specific database session. In this case, enter the ID of the database session (for information about finding the ID, see Displaying Database Sessions).

6. Choose Actions ® Set Advanced Options.

Logging the Occurrence of Specific Errors

7. On the Advanced tab page, select Stop on error. Enter the code of the error whose occurrence is to stop the creation of the database trace.

8. Then choose Actions ® Flush to write the information still contained in the buffer to the trace and therefore update the database trace before the log file is created.

Creating and Display the Database Trace Log

9. On the Protocol tab page, select the required options.

10. Then choose Actions ® Flush to write the information still contained in the buffer to the trace and therefore update the database trace before the log file is created.

11. Choose Actions ® Make Protocol. The database trace is then converted to a legible format.

To open the log, choose Instance ® Check ® Diagnosis Files. Select the Kernel Trace Protocol file and choose Actions ® View.

See also:

Concepts of the Database System, Traces


Displaying OMS Caches (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying OMS Caches

This Database Manager GUI function supports performance analysis of a SAP liveCache database instance.

Prerequisites

The current database instance is a liveCache instance.

The database instance is now in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® OMS Caches.

Result

The OMS caches are displayed.

See also:

Database Administration in CCMS: SAP liveCache Technology, Structure link Monitoring the Main Memory


Displaying OMS Class Containers (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying OMS Class Containers

This Database Manager GUI function supports performance analysis of a SAP liveCache database instance.

Prerequisites

The current database instance is a liveCache instance.

The database instance is now in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® OMS Class Containers.

Result

Information about the class containers is displayed.

See also:

Database Administration in CCMS: SAP liveCache Technology, Structure link Class Container


Activating the OMS Monitor (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Activating the OMS Monitor

This Database Manager GUI function supports performance analysis of a SAP liveCache database instance.

Prerequisites

The current database instance is a liveCache instance.

The database instance is now in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Information ® OMS Monitor.

Result

The OMS monitor is activated.

See also:

Database Administration in CCMS: SAP liveCache Technology, Structure link OMS Monitor


Updating the Database Software (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Updating the Database Software

After you have updated the database software, you can use the Database Manager GUI to make sure that the database instance recognizes the new software version.

Procedure

1. Update the database software.

2. Start the database instance.
The first time the Database Manager GUI is started after updating the database software, it automatically adjusts the database parameters of the database instance to the database parameters of the new database software version.

3. To update the system tables, choose Instance ® Configuration ® Upgrade System Tables.

Result

The Database Manager creates a copy of the parameter file each time a database parameter is changed.

UNIX: <independent_data_path>/config/<database_name>.<running_number>
Microsoft Windows: <independent_data_path>\config\<database_name>.<running_number>

<running_number>: Version of the copy, starting with 01

Should errors occur while loading the parameters, the operation can be undone by restoring the original parameter file.

To do this, use the Database Manager CLI program to copy the file <database_name>.<running_number> (copy of parameter file) back to <database_name> (active parameter file).


Updating the System Tables (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Updating the System Tables

You can use the Database Manager GUI to update the system tables when you update the database software.

Prerequisites

The database instance is in the ONLINE operational state.

Procedure

...

1. Select the required database instance in the list of database instances.

2. Choose Instance ® Configuration ® Upgrade System Tables.

3. Start the update for the system tables. The Database Manager determines the required database user (SYSDBA user). If this is not possible, you are prompted to provide the user yourself.

Result

The system tables are loaded and updated. The log dbm.ins (Installation Protocol) is displayed.

If an error occurs, the ERROR status appears. In this case, analyze the Installation Protocol as described in Reading Database Files.


Using the SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Using the SQL Studio

You can call the query tool SQL Studio from the Database Manager GUI. This program enables you to access the data of a database instance.

Prerequisites

You have the authorization of a database user of this database instance.

Procedure

Choose Tools ® SQL Studio.

For information about this tool, see SQL Studio.


Using the Database Manager CLI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Using the Database Manager CLI

You can call the command line version of the Database Manager, the Database Manager CLI, from the Database Manager GUI.

Procedure

1. Select the required database instance in the list of database instances.
Connect to the DBM server for this database instance if necessary.

2. Choose Instance ® Command Line.

3. Enter the desired DBM commands.

4. Choose Actions ® Execute.

Result

The required DBM command is executed.

In the Database Manager console you can display all DBM commands from the Database Manager GUI that are executed for actions involving the administration of a database instance.

See also:

Displaying Information


Database Manager CLI (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Database Manager CLI

Purpose

You use the Database Manager CLI database tool to manage database instances. The tool allows you to create, monitor, back up, and restore database instances.

The Database Manager CLI is a command line tool and can be used on all operating systems supported by the database system. The program is suitable for both interactive and background operation.

Implementation Considerations

The Database Manager CLI is included in the MaxDB software. See the Download section in Concepts of the Database System and the Installation Manual documentation for information on where to find the MaxDB software and how to install it.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Integration

You can use various programming languages to access the functions of the Database Manager CLI. You can, for example, use DBM commands to create your own programs for managing your database instances automatically.

Programming Interfaces

Programming Language | Module | Documentation
Java | powertoys.DBM | JDBC Manual
Perl | SAP::DBTech::dbm | Perl Manual
Python | sdb.dbm | Python Manual

Features

Functions of the Database Manager CLI

Command Reference for Working with the Database Manager CLI

Overview of All DBM Commands

The database tool Database Manager GUI has similar features to the Database Manager CLI but has a different user interface.


How the Database Manager CLI Works (SAP Library - MaxDB Library)

 Entering content frame

Background documentation How the Database Manager CLI Works

The Database Manager CLI is the client program of the Database Manager, which connects the DBM server to the computer. This computer is where the new database instance is created or where you should manage an existing database instance.

When you create a database instance, you define the very first user of the database instance. This user is called the first DBM operator. This user can log on to all database tools and has the most comprehensive rights for working with the database instance.

Initially, only this database system administrator can log on from the Database Manager to the new database instance. He or she can then use DBM commands and DBM options to create new database users and, if required, DBM operators for this database instance.

Only database system administrators and DBM operators can log on to the Database Manager to use DBM commands to manage the database instances for which they were created. To be able to execute DBM commands, each DBM operator must have the necessary server authorizations. The database system administrator has all server authorizations.

To execute DBM commands, the current database instance must be in the ONLINE operational state. Exceptions to this rule are explicitly specified in the prerequisites for executing a DBM command.

Calling up the Database Manager CLI is equivalent to opening a session. Once the specified DBM command has been processed, the system closes the session with the Database Manager.

See also:

Concepts of the Database System, Users, Authentication and Authorizations


Calling the Database Manager CLI (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Calling the Database Manager CLI

Use

When you call the Database Manager CLI, you can transfer DBM options and a maximum of one DBM command.

You can enter additional parameters for DBM options. The parameters are explained in the descriptions of the respective DBM option.

You can also enter additional command options for the DBM command. These command options are explained in the description of the respective DBM command.

Input help is also provided for the DBM commands.

For information about the format of the return values for DBM commands, see Reply Format.

Syntax

>dbmcli [<dbm_options>] [<dbm_command> [command_options]]

If you use DBM options with parameters, mark the beginning of the following DBM command with the option –c (Indicate as DBM Command: -c).
By doing so, you prevent the Database Manager program interpreting the beginning of the DBM command as a parameter of the previous DBM option.

Examples

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the operational state of the database instance:

>dbmcli –u OLEG,MONDAY –d DEMODB db_state

OK

State

ONLINE

Logging on to the Database Manager CLI as user OLEG with the password MONDAY, connecting to the database instance DEMODB, explicitly starting an SQL session (which should not automatically close again after executing the DBM command), displaying the content of the users database system table without explicitly specifying a database user: (The default value is used for the database user, that is, the database system administrator’s data.)

>dbmcli -u OLEG,MONDAY -d DEMODB –uSQL –c db_execute SELECT * FROM users

OK

END

'OLEG';'';'OLEG';'ADMIN';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050602';'0

0104503';'20050602';'00104503';'20050602';'00104503';'DEMODB';'p59963.dhcp.ber.s

ap.corp';0;'NO';(null)

'DBADMIN';'';'DBSERVICE';'DBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'200506

02';'00104508';'20050602';'00104508';'20050602';'00104508';'DEMODB';'p59963.dhcp

.ber.sap.corp';6;'YES';(null)

'DBADMIN';'';'DBADMIN';'SYSDBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050

602';'00104503';'20050613';'00164610';'20050602';'00104503';'DEMODB';'p59963.dhc

p.ber.sap.corp';10;'NO';(null)

'DBADMIN';'';'MONA';'DBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050602';'

00104523';'20050602';'00104523';'20050602';'00104523';'DEMODB';'p59963.dhcp.ber.

sap.corp';24;'NO';(null)


DBM Options (SAP Library - MaxDB Library)

 Entering content frame

Function documentation DBM Options

Use

When you log on to the Database Manager CLI, you can enter various DBM options and exactly one DBM command.

You can enter parameters for many of the DBM options. If you do not specify a parameter, the default values are used. In this case, to prevent the Database Manager from interpreting the start of the next DBM command as a parameter of the previous DBM option, you identify the start of the DBM command using the DBM option –c.

Features

You can use the following DBM options:

Option | Description
-c | Indicate as DBM Command
-d | Name of database instance
-e | Activating encryption
-i | -ic | -is | -ics | Name of the Input Script
-n | Name of database computer
-o | Name of the output file
-R | Installation directory of database instance
-t | Name of the log file
-uSQL | Opening an SQL session
-uSRV | Opening a service session
-uUTL | Function for opening a utility session
-ud | Deleting XUSER entries
-uk | User key
-us | Creating or changing XUSER entries
-ux | Logging on to the XUSER program
-ul | Displaying XUSER data

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, displaying the contents of the users database system table without explicitly specifying a database user.

You mark the beginning of the DBM command with the option –c. The default value (database system administrator) is used for the database user.

dbmcli -u OLEG,MONDAY -d DEMODB -uSQL –c db_execute SELECT * FROM users

OK
END

'OLEG';'';'OLEG';'ADMIN';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050602';'0

0104503';'20050602';'00104503';'20050602';'00104503';'DEMODB';'p59963.dhcp.ber.s

ap.corp';0;'NO';(null)

'DBADMIN';'';'DBSERVICE';'DBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'200506

02';'00104508';'20050602';'00104508';'20050602';'00104508';'DEMODB';'p59963.dhcp

.ber.sap.corp';6;'YES';(null)

'DBADMIN';'';'DBADMIN';'SYSDBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050

602';'00104503';'20050602';'00104506';'20050602';'00104503';'DEMODB';'p59963.dhc

p.ber.sap.corp';10;'NO';(null)

'DBADMIN';'';'MONA';'DBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050602';'

00104523';'20050602';'00104523';'20050602';'00104523';'DEMODB';'p59963.dhcp.ber.

sap.corp';24;'NO';(null)


-c: Indicate as DBM Command: (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -c: Indicate as DBM Command:

Use

If you use a DBM option with optional parameters, you have to separate these parameters logically from the subsequent DBM command. To do so, you insert the DBM option –c. The Database Manager CLI interprets all entries following –c as a DBM command.

Syntax

-c <dbm_command>

Examples

Logging on to the Database Manager CLI as user OLEG with the password MONDAY, conntecting to the database instance DEMODB, explicitly starting an SQL session (which is not automatically closed again after executing the DBM command), displaying the content of the users database system table without explicitly specifying a database user: (The default value is used for the database user, that is, the database system administrator’s data.)

· If you do not specify -c between the optional parameters of the DBM option and the DBM command, the DBM command is interpreted as a user name/password combination for the DBM option –uDBS. The system displays an error message.

>dbmcli -u OLEG,MONDAY -d DEMODB -uSQL db_execute SELECT * FROM users

ERR

-24988,ERR_SQL: sql error

-4008,Unknown user name/password combination

· You mark the beginning of the DBM command with the option –c. Since you do not specify a database user, the Database Manager default value is used.

>dbmcli -u OLEG,MONDAY -d DEMODB -uDBS –c db_execute SELECT * FROM users

OK

END

'OLEG';'';'OLEG';'ADMIN';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050602';'0

0104503';'20050602';'00104503';'20050602';'00104503';'DEMODB';'p59963.dhcp.ber.s

ap.corp';0;'NO';(null)

'DBADMIN';'';'DBSERVICE';'DBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'200506

02';'00104508';'20050602';'00104508';'20050602';'00104508';'DEMODB';'p59963.dhcp

.ber.sap.corp';6;'YES';(null)

'DBADMIN';'';'DBADMIN';'SYSDBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050

602';'00104503';'20050613';'00164610';'20050602';'00104503';'DEMODB';'p59963.dhc

p.ber.sap.corp';10;'NO';(null)

'DBADMIN';'';'MONA';'DBA';'MULTIPLE';(null);(null);(null);'DEFAULT';'20050602';'

00104523';'20050602';'00104523';'20050602';'00104523';'DEMODB';'p59963.dhcp.ber.

sap.corp';24;'NO';(null)


-d: Name of the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -d: Name of the Database Instance

Use

You specify which database instance the Database Manager should connect to.

The name specified is valid for the entire session. All database-specific DBM commands relate to this database instance.

When start a session, the system checks whether the specified database instance is registered in the list of registered database instances on the database computer. If this is not the case, then the session is refused.

Prerequisite

The database instance specified is available and registered in the Database Manager.

Syntax

-d <database_name>

<database_name>

Name of database instance

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the operational state of the database instance:

>dbmcli –u OLEG,MONDAY –d DEMODB db_state

OK

ONLINE


-e: Activating Encryption (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -e: Activating Encryption

Use

You switch on the encryption function and select the encryption method for communication.

You can only use this DBM option in connection with the –n DBM option (name of the database computer).

See also:

Concepts of the Database System, Data Encryption

Prerequisites

You have configured your system for encryption.

Syntax

-e <encryption>

<encryption>

Encryption method.

Possible values are: SSL (currently, only SSL/TLS encryption is supported, and only in SAP systems)


-i | -ic | is | ics: Name of the Input Script (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -i | -ic | is | ics: Name of the Input Script

Use

You specify the name of the input script that contains the DBM command you want to execute.

You select the appropriate option to determine whether the script processing should be cancelled or continued if an error occurs, or whether the Database Manager should remain in the session mode after the script is processed.

Syntax

-i <file_name> | -ic <file_name> | -is <file_name> | -ics <file_name>

Options

Option | Description
-i <file_name> | Path and name of the input script, script processing is cancelled if an error occurs.
-ic <file_name> | Path and name of the input script, script processing is continued if an error occurs.
-is <file_name> | Path and name of the input script, after the script is successfully processed, the Database Manager remains in session mode, if an error occurs, script processing and the session mode are cancelled
-ics <file_name> | Path and name of the input script, the Database Manager remains in session mode after successfully processing the script and also if an error occurs

Examples

Logging on the the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, executing the DBM commands contained in the input.dbm input script in the <user_home>\scripts directory:

>dbmcli -u OLEG,MONDAY –d DEMODB –i <user_home>\scripts\input.dbm

OK

<reply_to_first_DBM_command_in_script>

OK

<reply_to_second_DBM_command_in_script>

...


-n: Name of the Database Computer (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -n: Name of the Database Computer

Use

You use this option if the database instance you want to log on to is not on the local computer. You specify the name of the computer where the database instance is located.

Prerequisites

The X SERVER program is active on the database computer (Status: Started).

Syntax

-n <database_computer>

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance on the computer GENUA, displaying the operational state of the database instance:

>dbmcli –u OLEG,MONDAY –d DEMODB –n GENUA db_state

OK

ONLINE


-0: Name of the Output File (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -0: Name of the Output File

Use

You define the path and the name of the file where all the Database Manager output is to be written.

Syntax

-o <file_name>

<file_name>

Name and path of the ouput file

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, executing the DBM commands contained in the input.dbm input script in the <user_home>\scripts directory and outputting the answers to the DBM command in the <user_home>\outfiles\output.txt file:

>dbmcli –u OLEG,MONDAY –d DEMODB –i <user_home>\scripts\input.dbm –o <user_home>\outfiles\output.txt


-R: Installation Directory of the Database Software: (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -R: Installation Directory of the Database Software:

Use

Several versions of the database system software can be installed on a database computer. Use this option to specify the software version to which the subsequent DBM command is to refer when you create a new database instance or execute a DBM command that does not refer to a particular database instance and thus does not refer to a particular software version. When the session is set up, the system checks whether the specified version on the computer is recorded in the list of registered versions. If it is not, opening the session is refused.

When you call the Database Manager CLI with the option -R, a specified database software version can be connected only if the database software version has been registered correctly (See: inst_reg).

If you specify the option -d and the name of a database instance in addition to the option -R, option -R is ignored. In this case, the Database Manager CLI uses the database software version assigned to the specified database instance.

Syntax

-R <dependent_path>

Examples

Creating a New Database Instance

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, creating database instance DEMODB with the software version stored under C:\Program Files\sdb\7600 on the remote computer GENUA, identification on this computer as operating system user ANNA with password MAY:

>dbmcli -R "C:\Program Files\sdb\7600" –n GENUA db_create DEMODB OLEG,MONDAY ANNA,MAY

OK

Displaying All Available Database Instances of a Particular Software Version

Calling the Database Manager CLI using the option –R and the installation path for software version 7.6, executing the DBM command for displaying a list of all the database instances registered for the specified version on the computer GENUA:

>dbmcli -R "C:\Program Files\sdb\7600" –n GENUA db_enum

OK

DEMODB C:\Program Files\SDB\7600 7.6.00.09 fast running

DEMODB C:\Program Files\SDB\7600 7.6.00.09 slow offline


-t: Name of the Log File (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -t: Name of the Log File

Use

The DBM command transferred together with this DBM option is executed. The answer is displayed on the command line and also logged in the specified file. Any existing content of the file is retained.

Syntax

-t <file_name>

<file_name>

Name and path of the log file

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, saving the command line sent to the Database Manager containing DBM option(s) and the DBM command along with the Database Manager’s answer in the log.txt log file in the <user_home>\logfiles\ directory:

>dbmcli –u OLEG,MONDAY –d DEMODB –t <user_home>\logfiles\log.txt db_state

OK

ONLINE


-uSQL: Opening an SQL Session (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -uSQL: Opening an SQL Session

Use

Certain DBM commands require an SQL session before they can be executed.

If you specify these DBM option additionally when you log onto the Database Manager, then the DBM command for opening an SQL session is implicitly executed (see: sql_connect).

If you additionally specify a database user's user data, then the SQL session is opened with this data for the specified database instance. If you do not specify a user, the Database Manager default value is used (see: Concepts of the Database System, Database Manager User).

Opening an SQL session with the default value is successful only if the DBM operator logged on to the Database Manager CLI has the server authorization required for executing the DBM command for opening an SQL session.

When you end the Database Manager CLI, the SQL session is also ended.

Note the different meanings of the command with uppercase and lowercase specification.

-uSQL: specify the database user identified by user name and password

-USQL: logon with a database user’s user key stored in the XUSER file

See also: XUSER

The database user specified with the user name and password or with a user key must have been created for the database instance specified under the DBM option -d , otherwise the DBM command fails.

When the SQL session is opened, any database name stored under a specified user key is ignored.

Syntax

-uSQL [<database_user>,<database_user_password>] | -USQL <user_key>

Examples for -uSQL

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, executing the SQL statement to display the content of the customer database table without specifying a database user:

>dbmcli -u OLEG,MONDAY -d DEMODB -uSQL -c db_execute SELECT * FROM customer

OK

END

3000;'Mrs';'Jenny';'Porter';'10580';'1340 N.Ash Street, #3'

3100;'Mr';'Peter';'Brown';'48226';'1001 34th Str., APT.3'

3200;'Company';(null);'Datasoft';'90018';'486 Maple Str.'

3300;'Mrs';'Rose';'Brian';'75243';'500 Yellowstone Drive, #2'

3400;'Mrs';'Mary';'Griffith';'20005';'3401 Elder Lane'

3500;'Mr';'Martin';'Randolph';'60615';'340 MAIN STREET, #7'

...

...

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, executing the SQL statement to display the content of the customer database table as database user MONA with the password RED:

>dbmcli -u OLEG,MONDAY -d DEMODB -uSQL MONA,RED db_execute SELECT * FROM customer

OK

END

3000;'Mrs';'Jenny';'Porter';'10580';'1340 N.Ash Street, #3'

3100;'Mr';'Peter';'Brown';'48226';'1001 34th Str., APT.3'

3200;'Company';(null);'Datasoft';'90018';'486 Maple Str.'

3300;'Mrs';'Rose';'Brian';'75243';'500 Yellowstone Drive, #2'

3400;'Mrs';'Mary';'Griffith';'20005';'3401 Elder Lane'

3500;'Mr';'Martin';'Randolph';'60615';'340 MAIN STREET, #7'

...

...

Example for -USQL

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, executing the SQL statement to display the content of the customer database table for the database user registered with the user key MOKEY:

>dbmcli -u OLEG,MONDAY -d DEMODB -USQL MOKEY db_execute SELECT * FROM customer

OK

END

3000;'Mrs';'Jenny';'Porter';'10580';'1340 N.Ash Street, #3'

3100;'Mr';'Peter';'Brown';'48226';'1001 34th Str., APT.3'

3200;'Company';(null);'Datasoft';'90018';'486 Maple Str.'

3300;'Mrs';'Rose';'Brian';'75243';'500 Yellowstone Drive, #2'

...

...

...


-uSRV: Opening a Service Session (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -uSRV: Opening a Service Session

Use

Certain DBM commands require a service session before they can be executed.

If you specify this DBM option additionally when you log onto the Database Manager, then the DBM command for opening a service session is implicitly executed (see: service_connect).

When you end the Database Manager CLI, the service session is also ended.

Syntax

-uSRV

Example

Logging onto the Database Manager CLIas operator OLEG with the password MONDAY, connecting to the database instance DEMODB, starting a service session and restoring the parameter file of this database instance from the backup medium DemoDataCompl:

>dbmcli –u OLEG,MONDAY –d DEMODB –uSRV recover_config DemoDataCompl

OK


-uUTL: Opening a Utility Session (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -uUTL: Opening a Utility Session

Use

You need a utility session on the database instance to execute certain DBM commands. If you enter these DBM option additionally when you log on to the Database Manager, then the DBM command for opening a utility session is implicitly executed.

You use this DBM option to transfer the desired database user's data. The utility session is then opened with this user data for the specified database instance. When you end the Database Manager CLI, the utility session for the database instance is also ended.

Note the different meanings of the command with uppercase and lowercase specification.

-uUTL: use the database user identified by user name and password

-UUTL: use a database user’s user key stored in the XUSER file

If you do not specify a user with –uUTL, the Database Manager CLI uses the data of the first DBM operator. Opening a utility session with the first DBM operator is successful only if the DBM operator logged on to the Database Manager CLI has the server authorization required for executing the DBM command for opening a utility session.

If you do not specify a user with –UUTL, the Database Manager attempts to use the user data stored under the c XUSER key. We therefore recommend you create an XUSER entry with the key name c and the data of the first DBM operator (see:Utilities, Creating or Changing XUSER Entries).

The database user specified with the user name and password or with an XUSER key must have been created for the database instance specified, otherwise the command fails. When the utility session is opened, any database name stored under a specified XUSER key is ignored.

See also:

Utilities, XUSER

Syntax

-uUTL [<database_user>,<database_user_password>] | -UUTL [<user_key>]

Options

Option | Description
<database_user> | Name of the database user
<database_user_password> | Password of the database user
<user_key> | User key

Example for -uUTL

Log on to the Database Manager CLI as operator OLEG with the password MONDAY, log on to the database instance DEMODB, open a utility session as database user MONA with password RED, and back up the database instance on the backup medium DemoDataCompl:

>dbmcli –u OLEG,MONDAY–d DEMODB –uUTL MONA,RED backup_start DemoDataCompl

OK

<reply_to_backup_command>

Example for -uUUTL

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, opening a utility session as database user with the XUSER key MOKEY, and backing up the database instance on the backup medium DemoDataCompl:

>dbmcli –u OLEG,MONDAY–d DEMODB –UUTL MOKEY backup_start DemoDataCompl

OK

<reply_to_backup_command>


-du: Deleting XUSER Entries (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -du: Deleting XUSER Entries

Use

You use the DBM option –ud to delete the data and corresponding XUSER entry for a database user in the XUSER program.

To delete this data, you have to log on to XUSER either with the data of the database user to be deleted or with the user data registered under the user key DEFAULT.

To identify the user whose data is to be deleted, specify a combination of the name of the database instance and the database computer, or a user key.

We recommend that you use the XUSER tool directly.

See also: Utilities, XUSER

Unlike user names and passwords, the Database Manager treats user keys as case sensitive.

Syntax

-ud

Examples

...

1. Calling up the Database Manager CLI, logging on as the user who is to be deleted in the XUSER program (example: user DAVID with password BLUE),
To identify the user who is to be deleted, specify a combination of the database name and computer name (example: database name DEMODB, database computer GENUA).

>dbmcli -u <user_name>,<password> -ud -d <database_name> [-n <database_computer>]

>dbmcli -u DAVID,BLUE -ud -d DEMODB -n GENUA

2. Calling the Database Manager CLI, logging on to the XUSER program with the user data stored under the user key DEFAULT (example: user BORIS with password PINK),
To identify the user to be deleted, specify a combination of the database name and computer name (example: database name DEMODB, database computer GENUA).

>dbmcli –ux <default_user>,<password> -ud -d <database_name> [-n <database_computer>]

>dbmcli -ux BORIS,PINK -ud -d DEMODB -n GENUA

3. Calling the Database Manager CLI, logging on as the user who is to be deleted in the XUSER program (example: user DAVID with password BLUE),
To identify the user to be deleted, specify the user’s user key (example: DAKEY).

>dbmcli -u <user_name>,<password> -ud -uk <user_key>

>dbmcli -u DAVID,BLUE -ud -uk DAKEY

4. Calling the Database Manager CLI, logging on to the XUSER program with the user data stored under the user key DEFAULT (example: user BORIS with password PINK),
To identify the user to be deleted, specify the user’s user key (example: DAKEY).

>dbmcli -ux <default_user>,<password> -ud -uk <user_key>

>dbmcli -ux BORIS,PINK -ud -uk DAKEY


-uk: User Key (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -uk: User Key

Use

You use this option to specify the user key under which the entry is to be stored in the XUSER program.

We recommend that you use the XUSER tool directly.

See also: Utilities, XUSER

Syntax

-uk <user_key>

Log on to the Database Manager CLI (without explicitly specifying an operator; the data for the first DBM operator is used), log on the database user SAPR3 with password SAP(stored under the DEFAULT user key), enter the data for user DAVID , password BLUE under the new user key:

>dbmcli –ux SAPR3,SAP –us DAVID,BLUE –uk new

OK


-us: Creating or Changing XUSER Entries (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -us: Creating or Changing XUSER Entries

Use

You can use the XUSER program with the DBM option –us in the Database Manager to create new XUSER entries for users, or overwrite existing entries.

XUSER entries are sets of user data that are defined by user keys. They facilitate the logon process to programs that support the XUSER. You can use an XUSER key together with the DBM option –U to logon to the Database Manager (see user_logon.) This means you do not have to specify a DBM operator name and password (DBM option –u), since the Database Manager CLI takes the required data from the relevant XUSER entry.

We recommend that you use the XUSER program directly to create or change XUSER entries.

See also: Utilities, XUSER

You can access the database instance with a user stored under an XUSER entry only if that user was actually created for this database instance. DBM operators have to be created using the Database Manager (see also user_create);
Database users can be created with the query tools or the Database Manager (see also db_execute).

Unlike user names and passwords, the Database Manager treats user keys as case sensitive. If you define the user keys DBMUSR and DEFAULT for the default values of the Database Manager, you have to write the user keys in upper-case letters.

Creating XUSER Entries

You do not need to connect to the XUSER program to create new XUSER entries.

You can define a user key for an XUSER entry, under which this entry is to be stored.

You can also instruct the Database Manager CLI to generate this user key from a combination of the database name and computer name. You do so by specifying the database instance and database computer in addition to the user name and password.

To work in the Database Manager, we recommend that you create an XUSER entry with the user key DBMUSR and the user data for the first DBM operator. If you specify the DBM option –U without a user key, the Database Manager CLI attempts to access this key implicitly when you log on to this program.

To execute other functions, you have to log on with the user data stored under the DEFAULT user key. For this reason, we recommend that you also create an XUSER entry with the user key DEFAULT and the user data of a valid database user.

Changing XUSER Entries

To change XUSER entries, you must log on with the data of the user that you want to change, or with the data stored under the DEFAULT XUSER key.

If you log on with the data stored under the DEFAULT XUSER key, you are authorized to change all XUSER entries. To identify the XUSER entry you want to change, use the DBM option –uk or a combination of the database name and computer name (DBM options -d and –n).

Syntax

-us <new_user_name>,<new_user_password>

Options

Option | Description
<new_user_name> | Name of the user you want to save in the key
<new_user_password> | Password of the user you want to save in the key

Examples

Creating a New XUSER Entry

...

1. Call the Database Manager CLI, create a new XUSER entry (example: user BORIS with password PINK), save under a defined user key (example: user key DEFAULT):

>dbmcli –uk <user_key> –us <new_user_name>,<new_user_password> [options]

>dbmcli –uk DEFAULT –us BORIS,PINK

2. Call the Database Manager CLI, create a new XUSER entry (example: user MONA with password RED), save under a defined user key (example: user key MOKEY):

>dbmcli –uk <user_key> –us <new_user_name>,<new_user_password> [options]

>dbmcli –uk MOKEY –us MONA,RED

3. Call the Database Manager CLI, create a new XUSER entry (example: User MONA with password RED), saving under the user key generated from the database name and computer name (example: database instance DEMODB, computer name GENUA):

>dbmcli –d <database_name> [-n <database_computer>] –us <new_user_name>,<new_user_password> [options]

>dbmcli –d DEMODB –n GENUA -us MONA,RED

Changing an Existing XUSER Entry

...

1. Call the Database Manager CLI Log on to the XUSER program with the data of the XUSER entry that is to be changed and with DBM option -u (example: change user MONA, password RED to user DAVID, password BLUE):

a. Specify which XUSER entry is to be changed by entering the user key (example: user key MOKEY):

>dbmcli -u <user_name>,<user_password> -uk <user_key> –us <new_user_name>,<new_user_password> [options]

>dbmcli –u DAVID,BLUE –uk DAKEY –us BORIS,PINK

b. Specify which XUSER entry is to be changed by entering the combination of database name and computer name (example: database instance DEMODB, computer name GENUA):

>dbmcli -u <user_name>,<user_password> –d <database_name> [-n <database_computer>] –us <new_user_name>,<new_user_password> [options]

>dbmcli –u DAVID,BLUE –d DEMODB –n GENUA –us BORIS,PINK

2. Call the Database Manager CLI, log on to the XUSER program with the data stored under the DEFAULT XUSER key and using the DBM option -ux (example: user BORIS, password PINK):

a. Specify which XUSER entry is to be changed using the DBM option –uk (example: user key: DAKEY).
Specify the new data using the DBM option –us (example: user BORIS, password PINK):

>dbmcli -ux <default_user_name>,<default_user_password> -uk <user_key> –us <new_user_name>,<new_user_password> [options]

>dbmcli –ux BORIS,PINK –uk DAKEY –us BORIS,PINK

b. Specify which XUSER entry is to be changed using a combination of the database name and computer name (example: database instance DEMODB, computer name GENUA).
Specify the new data using the DBM option –us (example: user BORIS, password PINK):

>dbmcli -ux <default_user_name>,<default_user_password> –d <database_name> [-n <database_computer>] –us <new_user_name>,<new_user_password> [options]

>dbmcli –ux MONA,RED –d DEMODB –n GENUA –us BORIS,PINK


-ux: Logging On to the XUSER Program (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -ux: Logging On to the XUSER Program

Use

In the Database Manager CLIYou use the DBM option -ux to log on to the XUSER program using the data stored under the DEFAULT user key.

You can use this DBM option to together with the DBM options for changing (–us) or deleting (–ud) XUSER entries.

We recommend that you use the XUSER tool directly.

See also: Utilities, XUSER

Prerequisites

You have saved the user name and password of a valid database user under the DEFAULT user key.

Syntax

-ux <default_user_name>,<default_user_password>

Options

Option | Description
<default_user_name> | Name of the user stored under the DEFAULT user key
<default_user_password> | Password of the user stored under the DEFAULT user key

Example

Changing an Existing XUSER Entry

>dbmcli -ux <default_user_name>,<default_user_password> -uk <user_key> –us <new_user_name>,<new_user_password> [options]

Calling the Database Manager CLI, logging on as user BORIS with password PINK (stored under the DEFAULT user key), specifying the XUSER entry to be changed with the user key DAKEY, specifying the new user name and password – MONA and RED:

>dbmcli –ux BORIS,PINK –uk DAKEY –us MONA,RED

Deleting an Existing XUSER Entry

>dbmcli -ux <default_user_name>,<default_user_password> -uk <user_key> -ud

Calling the Database Manager CLI, logging on as user BORIS with password PINK (stored under the DEFAULT user key), specifying the XUSER entry to be deleted with the user key DAKEY, specifying the DBM option –ud to delete this entry:

>dbmcli –ux BORIS,PINK –uk DAKEY –ud


-ul: Displaying XUSER Data (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -ul: Displaying XUSER Data

Use

You can use the DBM option –ul to display the user data stored in the XUSER program in the Database Manager CLI. You log on to program XUSER as the user stored under the DEFAULT user key (DBM option -ux).

The system displays a list of the existing user keys with the assigned user names.

See also: XUSER

Unlike user names and passwords, the Database Manager treats user keys as case sensitive.

Prerequisites

You have saved the user name and password of a valid database user under the DEFAULT user key.

Syntax

-ul

Example

Calling the Database Manager CLI, logging on to the XUSER program with the user BORIS and password PINKstored under the DEFAULT user key, listing all the XUSER entries stored in the XUSER program:

>dbmcli -ux BORIS,PINK -ul

OK

DEFAULT BORIS

DAKEY DAVID

DBMUSR DBM


DBM Commands (SAP Library - MaxDB Library)

 Entering content frame

Function documentation DBM Commands

Use

DBM commands are commands in the Database Manager CLI for managing database instances.

All DBM commands executed during a Database Manager session refer to the database instance whose name was specified with the option -d when logging on to the Database Manager CLI.

See also:

Displaying the List of DBM Commands

Overview of All DBM Commands

Prerequisites

The right to execute a DBM command can be subject to three prerequisites:

· Logging On to the Database Manager

· Server Authorizations

· Logging On to the Operating System

You can find out which of these prerequisites must be fulfilled to execute a specific DBM command by looking at its description.

Syntax

<dbm_command> [<dbm_option_list>]

<dbm_command> :: = <command> [<cmd_option_list>]

<cmd_option_list> :: = <command_option> | <command_option> <command_option> ...

<dbm_option_list> :: = <dbm_option> | <dbm_option> <dbm_option> ...

Option | Description
<dbm_command> | DBM command
<command_option> | Command option (see description of the respective DBM command)
<dbm_option> | DBM Option


Input Help (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Input Help

Use

The input help of the Database Manager is available to assist you in entering DBM commands in the command line.

You can use the input help to link multi-line entries in the Database Manager, mark lines as comments and thus prevent them from being executed, or transmit commands to the local operating system without having to leave the Data Manager input window.

Prerequisites

You are in script mode or session mode.

Features

The following input help is available:

Syntax | Description
# | Comment
! | Local System Call
/ | Linking Lines
< | Linking Lines


Comment: # (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Comment: #

Use

If you begin a command with a number sign, it will be ignored by the Database Manager and not executed.

Prerequisite

You have called the Database Manager in session mode or script mode (see Concepts of the Database System, Operating Mode of Command Line Tools).

Syntax

#<dbm_command>


Local System Call: ! (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Local System Call: !

Use

You are logged onto the Database Manager and want to execute a command in the local computer’s operating system. You do not have to leave the input window of the Database Manager. If you put an exclamation mark in front of the command, it is not transmitted to the Database Manager; rather, it is executed in the local command interpreter of the operating system.

Prerequisites

You have called the Database Manager in script mode or session mode (see Concepts of the Database System, Operating Mode of Command Line Tools).

Syntax

!<os_command>

Example

dbmcli>!dir


Linking Lines: / (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Linking Lines: /

Use

If you want to enter a multi-line DBM command, close each line with a slash. This tells the system that the command is not complete. If you choose Enter at the end of a line that closes with a slash, the command is not executed yet.

Only when you choose Enter without having entered a slash in the current line is the entire command transmitted to the Database Manager and executed.

Prerequisites

You have called the Database Manager in session mode or script mode (see Concepts of the Database System, Operating Mode of Command Line Programs).

Syntax

<command_line_beginning>/

<command_line_continued>/

<command_line_continued>/

<command_line_end>

Example

>dbm_version/

BUILD

OK

DBMServer 7.6.00 Build 009-103-092-650


Linking Lines: < (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Linking Lines: <

Use

Using the “less than” (<) character, you can send multi-line commands to the Database Manager. The <command_line_beginning> character string is linked to the continuation lines until a line beginning with <stop_token> is found.

The line with <stop_token> is not incorporated into the command.

Prerequisites

You have called the Database Manager in script mode or session mode (see Concepts of the Database System, Operating Mode of Command Line Programs).

All lines are separated from one another by a line feed.

Syntax

'<'<stop_token> <command_line_beginning>

Example

><stop dbm_version

BUILD

stop

OK

DBMServer 7.6.00 Build 009-103-092-650


Reply Format (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Reply Format

When a DBM command or a script with DBM commands is executed in the Database Manager, you receive a reply from the Database Manager.

The communication is in ASCII format. Only in special cases, such as binary file access, do the request and reply also contain binary data. This makes the replies easy to read on the client side. It also largely avoids dependencies on the hardware architecture.

Successful Reply

If the DBM command has been successful, an OK message is given in the following format:

OK[,<description>]

[<answer>]

The character string OK is the first token of the reply. There is an optional explanatory text on the same line.

The reply data is given on the following line. The structure of the reply data depends on the particular DBM command.

Error Message

ERR[,<description>]

[<err_code>,<err_description>

[<sub_code>,<sub_description>]

[<extended_description>]]

An error always starts with the character stringERR. The same line may also contain an optional description.

On the first continuation line, the number of the error (<errcode>) and a relevant text (<err_description>) can be included.

See also:

Documentation, Messages

If the system has the error number and relevant text of a subcomponent (for example, runtime environment or operating system), these are output as <sub_code> and <sub_description>.

Any additional information follows in the <extended_description>. Special cases in which the <extended description> has a structured format are described with the respective DBM commands. You will find an explanation of individual reply fields there.

Examples

Database Manager Internal Error:

ERR

-24979,ERR_XPNOTFOUND_CN00 : parameter not found

Error in the Runtime Environment:

ERR

-24994,ERR_RTE_CN00 : runtime environment error

3,cannot access PARAM file [32]

Error in Analysis of Default Parameter Files:

ERR

-24978,ERR_XPSYNTAX_CN00 : xparam syntax error

16,XPERR_IVSEQ_CN21 : error in IF-ELSIF-ELSE sequence

D:\d628\usr\env\cserv.pcf(60) : ELSE


Command Reference for Working with the Database Manager CLI (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Command Reference for Working with the Database Manager CLI

Use

You manage database instances with the help of DBM commands that you enter in the command line.

For more info on the command structure, see Calling the Database Manager CLI

The DBM commands described in this document are divided into standard commands and advanced commands. The purpose of this distinction is to enable you to differentiate between administration commands that are easy and safe to use and those that require precise knowledge of internal database processes.

Standard commands are those used by the administrator for normal database operation.

The use of advanced commands should be exclusively reserved for experienced database specialists, because they allow in-depth intervention in the database system.
The advanced commands are divided into the following groups:

· Commands for Experts

These offer comprehensive intervention options in the administration of the database and should only be used by persons with a high degree of expertise.

· Commands for Support

These commands were implemented for proven specialists who work on solving problems.

· Commands for Use in Programs

These commands were implemented primarily for use in scripts or programs.

· System-Internal Commands

These commands are only used internally for communication between MaxDB components and the Database Manager.

To make it easier to find DBM commands, they have been sorted according to these categories for every task area in database administration.

Task Areas in Database Administration

Software Installation

Creating and Deleting Database Instances

Configuring Database Instances

Controlling Database Instances

Backing Up and Restoring Database Instances

Managing Database Manager Operators

Analyzing Database Instances

Accessing Database Instances Using SQL

Optimizing SQL Access to Database Instances

Using Database Events

Using the Scheduler

Managing Hot Standby Systems

Database Manager Settings

Database Manager Help contains an overview of the Database Manager help commands that enable you to display the short references for DBM commands online.

See also:

Concepts of the Database System, Syntax Notation and Variables and Examples


Database Manager Help (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Database Manager Help

Standard Commands

DBM Command | Description
apropos | Searching for a DBM command
explain | Displaying the help text for a DBM command
help | Displaying a list of DBM commands

Other Commands for the Database Manager Help


Other Commands for Database Manager Help (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Database Manager Help

Commands for Programs

DBM Command | Description
get_default | DBM command used only by DBM client programs


Software Installation (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Software Installation

Standard Commands

DBM Command | Description
inst_enum | Displaying a list of all registered versions of the database software

Other Commands for Software Installation


Other Commands for Software Installation (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Software Installation

Commands for Experts

DBM Command | Description
dbm_getpath | Displaying the version-independent directories
dbm_setpath | DBM command used only by the software installation program
inst_info | DBM command used only by SAP applications
inst_reg | Registering the version of the database software
inst_unreg | Deleting the registration of a database software version
package_info | DBM command used only by SAP applications

Commands for support

DBM Command | Description
exec_nipingsrv | DBM command used only by SAP applications
exec_sdbinfo | DBM command used only by SAP applications


Creating and Deleting Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Creating and Deleting Database Instances

Standard Commands

DBM Command | Description
db_drop | Deleting the current database instance
db_enum | Displaying a list of all registered database instances
db_reinstall | Resetting the database instance
load_systab | Loading the system tables
load_tutorial | Loading the SQL tutorial data

Other Commands for Creating and Deleting Database Instances


Other Commands for Creating and Deleting Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Creating and Deleting Database Instances

Commands for Experts

DBM Command | Description
db_activate | Initializing a database instance
db_create | Creating a database instance
db_migratecatalog | DBM command used only by SAP applications
db_reg | Updating the registration of a database instance

Commands for Support

DBM Command | Description
load_lcapps | Loading the application libraries


Configuring Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Configuring Database Instances

Standard Commands for Configuring the Volumes

DBM Command | Description
auto_extend | Extending the data area automatically
db_addvolume | Adding volumes
db_deletevolume | Deleting a data volume

Other Commands for Configuring the Volumes

Commands for Changing Database Parameters

Changing the database parameters is not one of the standard tasks of a database administrator. A database instance is fully functional with the configuration defined at the time of its creation. Subsequent changes to individual database parameters require comprehensive knowledge of the internal processes and interrelationships in a database instance. To ensure the functionality of the database system and the security of the data, changes to database parameters should only be made by trained, experienced professionals.

Commands for Changing the Database Parameters


Other Commands for Configuring Volumes (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Configuring Volumes

Commands for Experts

DBM Command | Description
param_addvolume | Changing volume parameters
param_delvolume | Deleting volume parameters
param_getvolsall | Displaying the data of all volume parameters
param_getvolume | Displaying the data of an individual volume parameter


Commands for Changing Database Parameters (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Commands for Changing Database Parameters

Commands for Experts

DBM Command | Description
param_abortsession | Ending a parameter session
param_checkall | Checking all database parameters
param_commitsession | Confirming changes to the database parameter file
param_copy | Copying a database parameter file
param_directdel | Deleting a database parameter
param_directget | Displaying a parameter value from the database parameter file
param_directgetall | Displaying all parameter values in the database parameter file
param_directput | Changing a value directly in the database parameter file
param_extget | Displaying individual data of a database parameter
param_extgetall | Displaying the data of all database parameters
param_getdefault | Displaying the default value
param_getexplain | Displaying the stored explanatory text
param_getfull | Displaying all data of a database parameter
param_gethelp | Displaying the stored help text
param_gethistory | Opening the database parameter history
param_getproperties | Displaying all properties of a database parameter
param_gettype | Displaying the data type of a database parameter
param_getvalue | Displaying the current value of a database parameter
param_init | Initializing the database parameters for a new database instance
param_put | Changing the value of a database parameter
param_restore | Resetting the parameter file to a previous version
param_rmfile | Deleting the database parameter file
param_startsession | Open a parameter session
param_versions | Displaying a list of parameter files

Commands for Use in Programs

DBM Command | Description
param_directgetallnext | Scrolling through the parameters in the database parameter file
param_extgetallnext | Scrolling through the database parameter data
param_gethistorynext | Scrolling through the database parameter history


Controlling Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Controlling Database Instances

Standard Commands

DBM command | Description
db_admin | Transferring to the ADMIN operating status
db_offline | Transferring to the OFFLINE operational state
db_online | Transferring to the ONLINE operational state
db_restart | Restarting the database instance
db_state | Displaying the operational state of the database instance
db_stop | Ending a database process
info | Displaying status information of the database instance

Other Commands for Controlling Database Instances


Other Commands for Controlling Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Controlling Database Instances

Commands for Professionals

DBM Command | Description
db_clear | Deleting runtime information after a database error
db_cons | Using the XCONS tool (database console)
db_restartinfo | Displaying the restart information after importing a backup.
db_speed | Displaying the database kernel variant
exec_lcinit | Executing the liveCache initialization script
show | Displaying information about the database instance
show_list | Displaying the keywords for information about the database instance
show_next | Scrolling through the information about the database instance

Commands for Programs

DBM Command | Description
info_next | Scrolling through the status information of the database instance


Backing Up and Restoring Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Backing Up and Restoring Database Instances

Standard Commands for Media

DBM Command | Description
medium_delete | Deleting a backup medium
medium_get | Displaying the media data
medium_getall | Displaying a list of all defined back up media
medium_put | Defining or changing a backup medium

Other Commands for Media

Standard Commands for Backing Up

DBM Command | Description
autolog_off | Deactivating automatic log backup
autolog_on | Activating automatic log backup
autolog_show | Displaying the automatic log backup function
backup_start | Backing up the database instance
backup_state | Displaying the current backup status

Other Commands for Backing Up

Standard Commands for Information on Backups

DBM Command | Description
backup_ext_ids_forget | Releasing the memory occupied by external backup IDs
backup_ext_ids_get | Getting external backup IDs
backup_ext_ids_getfromtool | Getting backup information stored in the backup tool
backup_ext_ids_list | Displaying information generated by the backup tool
backup_history_list | Displaying the backup history
medium_label | Displaying backup information in the ONLINE or ADMIN operational state
medium_labeloffline | Displaying backup information in the OFFLINE operational state
recover_check | Checking a backup
recover_state_check | Displaying current status of a backup check

Other Commands for Information on Backups

Standard Commands for Restoring

DBM Command | Description
autorecover | Restoring the database instance automatically
recover_config | Restoring the parameter files from a backup
recover_start | Restoring a database instance
recover_state | Displaying the current status of a restore action
sql_recreateindex | Restoring a damaged index

Other Commands for Restoring


Other Commands for Media (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Media

Commands for Use in Programs

DBM Command | Description
medium_date | Displaying the change date of the media definition file

System-Internal Commands

DBM Command | Description
medium_delete_nodistribute | Internal commands in relation to hot standby configurations
medium_migrate | Adopting an existing media definition
medium_put_nodistribute | Internal commands in relation to hot standby configurations


Other Commands for Backups (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Backups

Commands for Experts

DBM Command | Description
archive_stage | Creating a single archive of the version files
archive_stage_repeat | Creating multiple archives of the version files
backup_cancel | Canceling an interrupted backup
backup_ignore | Continuing a backup without the backup medium last reported as full
backup_replace | Specifying the succeeding medium in a backup action

Commands for Use in Programs

DBM Command | Description
autolog_cancel | Canceling automatic log backup
backup_cancel_req | DBM command used only by DBM client programs
backup_ignore_req | DBM command used only by DBM client programs
backup_replace_req | DBM command used only by DBM client programs
backup_reply_available | DBM command used only by DBM client programs
backup_reply_receive | DBM command used only by DBM client programs
backup_req | DBM command used only by DBM client programs


Other Commands for Information on Backups (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Information on Backups

Commands for Experts

DBM Command | Description
backup_history_close | Closing the backup history
backup_history_open | Getting the backup history

Commands for Support

DBM Command | Description
load_r3tab | Loading the SAP-specific tables

Commands for Use in Programs

DBM Command | Description
backup_ext_ids_listnext | Scrolling through the external backup IDs
backup_history_date | Displaying the change date of the backup history
backup_history_listnext | Scrolling through the backup history
recover_check_req | DBM command used only by DBM client programs

System-Internal Commands

DBK Command | Description
backup_history_append | Internal system command


Other Commands for Data Recovery (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Data Recovery

Commands for Experts

DBM Command | Description
recover_cancel | Canceling the interrupted restore or a backup check
recover_ignore | Continuing parallel restore or a backup check
recover_replace | Specifying the succeeding medium in a restore action or when checking a backup
recover_volume | Restoring a damaged volume
service_connect | Opening a service session
service_release | Closing a service session

Commands for Use in Programs

DBM Command | Description
db_activate_req | DBM command used only by DBM client programs
recover_cancel_req | DBM command used only by DBM client programs
recover_ignore_req | DBM command used only by DBM client programs
recover_replace_req | DBM command used only by DBM client programs
recover_req | DBM command used only by DBM client programs


Managing Database Manager Operators (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Managing Database Manager Operators

Standard Commands

DBM Command | Description
user_create | Creating Database Manager operators
user_delete | Deleting Database Manager operators
user_get | Displaying the DBM operator properties
user_getall | Displaying a list of Database Manager operators
user_getrights | Displaying the server authorizations of a DBM operator
user_logon | Logging on to the Database Manager
user_put | Changing the DBM operator properties
user_rename | Changing the name of a DBM Operator

Other Commands for Managing Database Manager Operators


Other Commands for Managing Database Manager Operators (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Managing Database Manager Operators

Commands for Experts

DBM Command | Description
user_sysdba | Transferring the data of the database system administrator to the Database Manager
user_system | Logging on to the operating system

Commands for Support

DBM Command | Description
user_sap | Storing the data of special users


Analyzing the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Analyzing the Database Instance

You can analyze individual functions of the database instance using DBM commands. However, you do not require these analyses for normal database operation. Use these functions only when told to do so by support.

Commands for the Database Trace Function

Commands for Accessing Database Files

Commands for Using the Database Analyzer


Commands for the Database Trace Function (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Commands for the Database Trace Function

Commands for Support

DBM Command | Description
trace_clear | Deleting the contents of the database trace
trace_flush | Creating the binary file of the database trace
trace_off | Deactivating the database trace
trace_on | Activating the database trace
trace_prot | Creating the text version of the database trace
trace_show | Displaying the logged activities of the database trace

Commands for Use in Programs

DBM Command | Description
trace_protopt | Displaying the command options for creating the text version of the database trace


Commands for Accessing Database Files (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Commands for Accessing Database Files

Commands for Experts

DBM Command | Description
diag_histlist | Displaying the diagnosis history
file_getfirst | Opening a database file
file_getlist | Displaying a list of database files
file_operation | Editing the log files of a database instance

Commands for Support

DBM Command | Description
diag_pack | Packing the database files
file_restore | Restoring a database file

Commands for Use in Programs

DBM Command | Description
file_getnext | Scrolling through a database file

System-Internal Commands

DBM Command | Description
file_backup | Backing up a database file


Commands for Using the Database Analyzer (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Commands for Using the Database Analyzer

Commands for Experts

DBM Command | Description
dban_delete | Deleting the Database Analyzer log files
dban_start | Calling the Database Analyzer
dban_state | Displaying the function of the Database Analyzer
dban_stop | Exiting the Database Analyzer


Accessing the Database Instance using SQL (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Accessing the Database Instance using SQL

Standard Commands

DBM Command | Description
db_connect | Opening a database session
db_release | Ending a database session

Other Commands for Accessing Database Instances using SQL


Other Commands Accessing the Database Instance Using SQL (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands Accessing the Database Instance Using SQL

Commands for Experts

DBM Command | Description
db_execute | Executing an administration command or an SQL statement (displaying the complete result list)
db_executenice | Executing an administration command or an SQL statement (displaying the result record-by-record)
db_fetch | Scrolling through the results of an administration command or an SQL statement (displaying the complete result list)
db_fetchnice | Scrolling through the results of an administration command or an SQL statement (displaying the result record-by-record)
sql_connect | Opening an SQL session
sql_execute | Executing an SQL statement (displaying the complete result list)
sql_executenice | Executing an SQL statement (displaying the result record-by-record)
sql_fetch | Scrolling through the results of an SQL statement (displaying the complete result list)
sql_fetchnice | Scrolling through the results of an SQL statement (displaying the result record-by-record)
sql_info | Displaying the structure of a result set
sql_release | Ending an SQL session


Optimizing SQL Access to the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Optimizing SQL Access to the Database Instance

Standard Commands

DBM Command | Description
auto_update_statistics | Updating the optimizer statistics automatically
sql_updatestat | Updating the optimizer statistics
sql_updatestat_per_systemtable | Updating the optimizer statistics as per system table SYSUPDSTATWANTED


Using Database Events (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Using Database Events

Standard Commands

DBM Command | Description
event_delete | Deactivating an event
event_list | Displaying a list of events and statuses
event_list_categories | Displaying a list of event categories
event_set | Activating an event

See also:

Utilities, Event Dispatcher

Other Commands for Using Database Events


Other Commands for Using Database Events (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Using Database Events

Commands for Use in Programs

DBM Command | Description
event_available | Displaying whether any events were triggered
event_receive | Displaying a triggered event
event_release | Ending an event session
event_wait | Waiting for an event

System-Internal Commands

DBM Command | Description
dbmevtdisp_internal_add | Internal system command
dbmevtdisp_internal_communication | Internal system command
dbmevtdisp_internal_delete | Internal system command


Using the Scheduler (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Using the Scheduler

Standard Commands

DBM Command | Description
scheduler_create_job | Creating a scheduler job
scheduler_delete_job | Deleting a scheduler job
scheduler_list_jobs | Displaying a list of all scheduler jobs
scheduler_start | Starting the scheduler
scheduler_state | Displaying the function of the scheduler
scheduler_stop | Stopping the scheduler

Other Commands for Using the Scheduler


Other Commands for Using the Scheduler (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for Using the Scheduler

Commands for Experts

DBM Command | Description
scheduler_activate_job | Activating a scheduler job
scheduler_deactivate_job | Deactivating a scheduler job


Managing Hot Standby Systems (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Managing Hot Standby Systems

To set up and manage hot standby systems, you need a very thorough knowledge of both system-internal processes and of how to manage a database system. Your system's hardware and software also needs to fulfill certain special requirements.

Only experienced database administrators with all the necessary knowledge should set up a hot standby system.

Expert Commands for Managing Hot Standby Systems


Commands for Managing Hot Standby Systems (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Commands for Managing Hot Standby Systems

Commands for Experts

DBM Command | Description
hss_addstandby | Defining a standby instance
hss_copyfile | Copying database files in the cluster
hss_enable | Defining a database instance as the master instance
hss_execute | Executing DBM commands in a standby instance
hss_getnodes | Displaying the hot standby parameters
hss_removestandby | Deleting a standby instance


Database Manager Settings (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Database Manager Settings

Use

The parameter settings for the Database Manager are stored in the dbm.cfg configuration file in the Database Manager. The file is stored in the run directory of the database instance.

See also:

Concepts of the Database System, Configuration Files

Standard Commands

DBM Command | Description
dbm_version | Displaying the software version
bye | exit | quit | release | Ending the Database Manager

Other Commands for the Database Manager Settings


Other Commands for the Database Manager Settings (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Other Commands for the Database Manager Settings

Commands for Experts

DBM Command | Description
dbm_configget | Displaying a configuration parameter of the Database Manager
dbm_configset | Changing a configuration parameter of the Database Manager

Commands for Support

DBM Command | Description
dbm_listmemoryerror | Internal system command
dbm_shm_info | Displaying information about the shared memory
dbm_shm_reset | Resetting the shared memory
dbm_shm_unlock | Unlocking the shared memory

Commands for Use in Programs

DBM Command | Description
dbm_next | Internal system command

System-Internal Commands

DBM Command | Description
dbm_getpid | Internal system command
dbm_execute_serverprocess | Internal system command


Overview of All DBM Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Overview of All DBM Commands

DBM Command | Description
apropos | Searching for a DBM command
archive_stage | Creating a single archive of the version files
archive_stage_repeat | Creating multiple archives of the version files
auto_extend | Extending the data area automatically
auto_update_statistics | Updating the optimizer statistics automatically
autolog_cancel | Canceling automatic log backup
autolog_off | Deactivating automatic log backup
autolog_on | Activating automatic log backup
autolog_show | Displaying the automatic log backup function
autorecover | Restoring the database instance automatically
backup_cancel | Canceling an interrupted backup
backup_cancel_req | DBM command used only by DBM client programs
backup_ext_ids_forget | Releasing the memory occupied by external backup IDs
backup_ext_ids_get | Getting external backup IDs
backup_ext_ids_getfromtool | Getting backup information stored in the backup tool
backup_ext_ids_list | Displaying the external backup IDs
backup_ext_ids_listnext | Scrolling through the external backup IDs
backup_history_append | Internal system command
backup_history_close | Closing the backup history
backup_history_date | Displaying the change date of the backup history
backup_history_list | Displaying the backup history
backup_history_listnext | Scrolling through the backup history
backup_history_open | Getting the backup history
backup_ignore | Continuing the backup without the medium last reported as full
backup_ignore_req | DBM command used only by DBM client programs
backup_replace | Specifying the succeeding medium for a backup action
backup_replace_req | DBM command used only by DBM client programs
backup_reply_available | DBM command used only by DBM client programs
backup_reply_receive | DBM command used only by DBM client programs
backup_req | DBM command used only by DBM client programs
backup_start | Backing up the database instance
backup_state | Displaying the current backup status
bye | Exiting the Database Manager CLI
db_activate | Initializing a database instance
db_activate RECOVER | Restoring and initializing a database instance
db_activate_req | DBM command used only by DBM client programs
db_addvolume | Adding volumes
db_admin | Transferring to the ADMIN operating status
db_clear | Deleting runtime information after a database error
db_connect | Opening a database session
db_cons | Using the XCONS tool (database console)
db_create | Creating a database instance
db_deletevolume | Deleting a data volume
db_drop | Deleting the current database instance
db_enum | Displaying a list of all registered database instances
db_execute | Executing an administration command or an SQL statement (displaying the complete result list)
db_executenice | Executing an administration command or an SQL statement (displaying the result record-by-record)
db_fetch | Scrolling through the results of an administration command or an SQL statement (displaying the complete result list)
db_fetchnice | Scrolling through the results of an administration command or an SQL statement (displaying the result record-by-record)
db_migratecatalog | DBM command used only by SAP applications
db_online | Transferring to the OFFLINE operational state
db_online | Transferring to the ONLINE operational state
db_reg | Updating the registration of a database instance
db_reinstall | Resetting the database instance
db_release | Ending a database session
db_restart | Restarting the database instance
db_restartinfo | Displaying the restart information after importing a backup
db_speed | Displaying the database kernel variant
db_standby | Transferring to the STANDBY operational state
db_state | Displaying the operational state of the database instance
db_stop | Ending a database process
dban_delete | Deleting the Database Analyzer log files
dban_start | Calling the Database Analyzer
dban_state | Displaying the function of the Database Analyzer
dban_stop | Exiting the Database Analyzer
dbm_configget | Displaying a configuration parameter of the Database Manager
dbm_configset | Changing a configuration parameter of the Database Manager
dbm_execute_serverprocess | Internal system command
dbm_getpath | Displaying the version-independent directories
dbm_getpid | Internal system command
dbm_listmemoryerror | Internal system command
dbm_next | Internal system command
dbm_setpath | DBM command used only by the software installation program
dbm_shm_info | Displaying information about the shared memory
dbm_shm_reset | Resetting the shared memory
dbm_shm_unlock | Unlocking the shared memory
dbm_version | Displaying the software version
dbmevtdisp_internal_add | Internal system command
dbmevtdisp_internal_communication | Internal system command
dbmevtdisp_internal_delete | Internal system command
diag_histlist | Displaying the diagnosis history
diag_pack | Packing the database files
event_available | Displaying whether any events were triggered
event_delete | Deactivating an event
event_list | Displaying a list of events and their statuses
event_list_categories | Displaying a list of event categories
event_receive | Displaying a triggered event
event_release | Ending an event session
event_set | Activating an event
event_wait | Waiting for an event
exec_lcinit | Executing the liveCache initialization script
exec_nipingsrv | DBM command used only by SAP applications
exec_sdbinfo | DBM command used only by SAP applications
exit | Exiting the Database Manager CLI
explain | Displaying the help text for a DBM command
file_backup | Backing up a database file
file_getfirst | Opening a database file
file_getlist | Displaying a list of database files
file_getnext | Scrolling through a database file
file_operation | Editing the log files of a database instance
file_restore | Restoring a database file
get_default | DBM command used only by DBM client programs
help | Displaying a list of DBM commands
hss_addstandby | Defining a standby instance
hss_copyfile | Copying database files in the cluster
hss_enable | Defining a database instance as the master instance
hss_execute | Executing DBM commands in a standby instance
hss_getnodes | Displaying the hot standby parameters
hss_removestandby | Deleting a standby instance
info | Displaying status information of the database instance
info_next | Scrolling through the status information of the database instance
inst_enum | Displaying a list of all registered versions of the database software
inst_info | DBM command used only by SAP applications
inst_reg | Registering the version of the database software
inst_unreg | Deleting the registration of a database software version
load_lcapps | Loading the application libraries
load_r3tab | Loading the SAP-specific tables
load_systab | Loading the system tables
load_tutorial | Loading the SQL tutorial files
medium_date | Displaying the change date of the media definition file
medium_delete | Deleting a backup medium
medium_delete_nodistribute | Internal system command with hot standby configurations
medium_get | Displaying the media data
medium_getall | Displaying a list of all defined back up media
medium_label | Displaying backup information in the ONLINE or ADMIN operational state
medium_labeloffline | Displaying backup information in the OFFLINE operational state
medium_migrate | Adopting an existing media definition
medium_put | Defining or changing the data of a backup medium
medium_put_nodistribute | Internal system command with hot standby configurations
package_info | DBM command used only by SAP applications
param_abortsession | Ending a parameter session
param_addvolume | Changing volume parameters
param_checkall | Checking all database parameters
param_commitsession | Confirming changes to the database parameter file
param_copy | Copying a database parameter file
param_delvolume | Deleting volume parameters
param_directdel | Deleting a database parameter
param_directget | Displaying the value from a parameter of the database parameter file
param_directgetall | Displaying the value of all parameters from the database parameter file
param_directgetallnext | Scrolling through the parameter values in the database parameter file
param_directput | Changing a value directly in the database parameter file
param_extget | Displaying individual data of a database parameter
param_extgetall | Displaying the data of all database parameters
param_extgetallnext | Scrolling through the database parameter data
param_getdefault | Displays the system default (default value)
param_getexplain | Displaying the stored explanatory text
param_getfull | Displaying all data of a database parameter
param_gethelp | Displaying the stored help text
param_gethistory | Opening the database parameter history
param_gethistorynext | Scrolling through the database parameter history
param_getproperties | Displaying all properties of a database parameter
param_gettype | Displaying the data type of a database parameter
param_getvalue | Displaying the current value of a database parameter
param_getvolsall | Displaying the data of all volume parameters
param_getvolume | Displaying the data of an individual volume
param_init | Initializing the database parameters for a new database instance
param_put | Changing the values of database parameters
param_restore | Resetting the parameter file to a previous version
param_rmfile | Deleting the database parameter file
param_startsession | Open a parameter session
param_versions | Displaying a list of parameter files
quit | Exiting the Database Manager CLI
recover_cancel | Canceling an interrupted restore or a backup check
recover_cancel_req | DBM command used only by DBM client programs
recover_check | Checking a backup
recover_check_req | DBM command used only by DBM client programs
recover_config | Restoring the parameter file from a data backup
recover_ignore | Continuing a parallel restore or a backup check
recover_ignore_req | DBM command used only by DBM client programs
recover_replace | Specifying the succeeding medium for a restore operation or checking of a backup
recover_replace_req | DBM command used only by DBM client programs
recover_req | DBM command used only by DBM client programs
recover_start | Restoring a database instance
recover_state | Displaying the current status of a restore action
recover_state_check | Displaying current status of a backup check
recover_volume | Restoring a damaged volume
release | Exiting the Database Manager CLI
scheduler_activate_job | Activating a scheduler job
scheduler_create_job | Creating a scheduler job
scheduler_deactivate_job | Deactivating a scheduler job
scheduler_delete_job | Deleting a scheduler job
scheduler_list_jobs | Displaying a list of all scheduler jobs
scheduler_start | Starting the scheduler
scheduler_state | Displaying the function of the scheduler
scheduler_stop | Stopping the scheduler
service_connect | Opening a service session
service_release | Closing a service session
show | Displaying information about the database instance
show_list | Displaying the keywords for information about the database instance
show_next | Scrolling through the information about the database instance
sql_connect | Opening an SQL session
sql_execute | Executing an SQL statement (displaying the complete result list)
sql_executenice | Executing an SQL statement (displaying the result record-by-record)
sql_fetch | Scrolling through the results of an SQL statement (displaying the complete result list)
sql_fetchnice | Scrolling through the results of an SQL statement (displaying the result record-by-record)
sql_info | Displaying the structure of a result set
sql_recreateindex | Restoring a damaged index
sql_release | Ending an SQL session
sql_updatestat | Updating the optimizer statistics
sql_updatestat_per_systemtable | Updating the optimizer statistics as per system table SYSUPDSTATWANTED
trace_clear | Deleting the contents of the database trace
trace_flush | Creating the binary file of the database trace
trace_off | Deactivating the database trace
trace_on | Activating the database trace
trace_prot | Creating the text version of the database trace
trace_protopt | Displaying the command options for creating the text version of database trace
trace_show | Displaying the logged activities of the database trace
user_create | Creating Database Manager operators
user_delete | Deleting Database Manager operators
user_get | Displaying the DBM operator properties
user_getall | Displaying a list of Database Manager operators
user_getrights | Displaying the server authorizations of a DBM operator
user_logon | Logging on to the Database Manager
user_put | Changing the DBM operator properties
user_rename | Changing the name of a DBM Operator
user_sap | Storing the data of special users
user_sysdba | Transferring the data of the database system administrator to the Database Manager
user_system | Logging on to the operating system


apropos (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation apropos

Use

You display all the DBM commands that contain a specified character string, or a similar character string, and the descriptions of these commands.

If the output of a DBM command and its description is longer than 80 characters, the system adds line breaks.

Prerequisites

You do not need to log on to the Database Manager as an operator to execute this DBM command.

Syntax

apropos <character_string>

<character_string>

Character string

Reply

OK

<dbm_command> <description>

Values for the Reply Fields

Value | Description
<dbm_command> | DBM Command
<description> | Description

Example

Calling the database manager CLI, displaying all the DBM commands that contain the character string auto:

>dbmcli apropos auto

OK

auto_extend <mode> [<percentage>]

autolog_cancel

autolog_off

autolog_on <medium>

autolog_show

autorecover [LOG] [UNTIL <date> <time>] [ ( KEY <key> LABEL

<label> ) | ( IBID <internal_backup_ID> ) ]

auto_update_statistics <mode>


archive_stage (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation archive_stage

Use

You archive the log backup version files. To do this, you use a backup tool to copy the version files to an external backup medium.

The archived version files are assigned their own external backup IDs and are entered in the backup history.

After you execute the DBM command, the system displays information about the archived version files.

If you want to achive the same version files mulitiple times on different external backup media, call the Database Manager CLI in session mode. Next, you use the archive_stage command described here plus the KEEP option, and then the command for creating multiple archives of the version files of the log area (see: archive_stage_repeat).

See also:

Concepts of the Database System, Archiving Version Files

Prerequisites

· You have the server authorization Backup.

· You have backed up the log area.

· The external backup medium is defined for backup type LOG (see: medium_put).

Syntax

archive_stage <ext_backup_medium> <log_medium> [VERIFY | NOVERIFY] [REMOVE | KEEP] [FNL <list>]

Options

Option | Description
<ext_backup_medium> | Name of the external backup medium
<log_medium> | Name of the backup medium that was used for the log backup
VERIFY | System default value The archived files are compared with the original files.
NOVERIFY | The system only performs the standard checks to determine whether the backup was successful. The system displays error messages where appropriate and the output of the backup tools.
REMOVE | System default value The original files are deleted after they have been successfully archived to the external backup medium.
KEEP | The original files are archived but are not deleted afterwards.
FNL | File Number List: Keyword of the list of files to be archived Only specify this keyword and the file number list if version files that you are sure were created are not in the backup history due to an error. This would be the case, for example, if the version files with the number 10 and 12 are in the backup history, but number 11 is missing.
<list> | File name or area or file names: You can leave out leading zeros. Separate multiple specifications using commas. If you do not specify a file list, the system copies all version files on the backup medium that are also in the backup history.

Reply

OK

Processed Stage Files <number>

Bytes Processed <number>

Deleted Stage Files <number>

Remaining Stage Files <number>

Values for the Reply Fields

Value | Description
Processed Stage Files | Processed version files
Bytes Processed | Processed bytes
Deleted Stage Files | Deleted version files
Remaining Stage Files | Remaining version files
<number> | Number

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB.

Creating a single archive of the original version files 1 and 3-10. They are stored on the DemoAutoLog backup medium and should be archived on the EXTMEDIUM_1 external backup medium, the version files should not be deleted afterwards:

dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>archive_stage EXTMEDIUM_1 DemoAutoLog NOVERIFY KEEP FNL 1,3-10

OK
Processed Stage Files   9
Bytes Processed         12845056
Deleted Stage Files     0
Remaining Stage Files   2


archive_stage_repeat (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation archive_stage_repeat

Use

You archive the same original version files of the log backups on several external backup media. You use backup media, which were defined for different backup tools. Here, exactly the same version files are processed as were copied to the first external backup medium using the DBM command archive_stage before..

The archived version files are assigned their own external backup IDs and are entered in the backup history.

After you execute the DBM command, the system displays information about the archived version files.

See also:

Concepts of the Database System, Archiving Version Files

Prerequisites

· You have the server authorization Backup.

· You have executed the DBM command for creating a single archive of the version files using the KEEP option, and you are still within the same Database Manger session (see: archive_stage).

· The external backup media are defined for backup type LOG (see: medium_put).

Syntax

archive_stage_repeat <ext_backup_medium> [VERIFY | NOVERIFY] [REMOVE | KEEP]

Options

Option | Description
<ext_backup_medium> | Name of the external backup medium
VERIFY | System default value The archived files are compared with the original files.
NOVERIFY | The system only performs the standard checks to determine whether the backup was successful. The system displays error messages and the output of the backup tools.
REMOVE | System default value The original files are deleted after they have been successfully archived to the external backup medium.
KEEP | The original files are archived but are not deleted afterwards.

Reply

OK

Processed Stage Files   <number>

Bytes Processed         <number>

Deleted Stage Files     <number>

Remaining Stage Files   <number>

Values for the Reply Fields

Value | Description
Processed Stage Files | Processed version files
Bytes Processed | Processed bytes
Deleted Stage Files | Deleted version files
Remaining Stage Files | Remaining version files
<number> | Number


auto_extend (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation auto_extend

Use

You can configure your database system in such a way that it automatically adds a new data volume as soon as the fill level of the data area reaches a certain percentage. To do this, activate the automatic extension of the data area. The number of data volumes that can be added whilst the database is in operation is limited by the value of the MAXDATAVOLUMES database parameter.

When you activate this function you can specify a percentage value and thus when the system should add the data volume. If you do not specify a percentage value, the system will add a data volume when the fill level reaches 90%. You can overwrite the defined value by executing the DBM command again.

The system uses existing volume definitions to determine a default name for the new data volume. This name is then used.

You can use the AutoExtDir Database Manager parameter to define the directory in which the new data volume is to be created (see: dbm_configset). If this parameter is not defined, the Database Manager creates the new data volume in the run directory of the database instance.

Like other DBM commands, this one requires its own event task. For this reason, make sure when you execute this DBM command that the _MAXEVENTTASKS database parameter is large enough.

Prerequisites

· You have the server authorization ParamFull or AccessUtility.

· The database instance is in the ONLINE operational state.

Syntax

auto_extend <mode> [<number>]

Options

Option | Description
<mode> | Function for automatically extending the data area; possible values are: ON: activate function OFF: deactivate function SHOW: display function
<number> | Percentage value as threshold for when a new data volume is created Valid values are: 1 <= <number> <= 100 The default value is 90

Reply

OK

[ON [<number>] | OFF [, <reason> | UNKNOWN]

Values for the Reply Fields

Value | Description
ON | The function for automatically extending the data area is active
<number> | Defined percentage as of which the system adds a data volume
OFF | The function for automatically extending the data area is not active
<reason> | Reason why the function was deactivated
UNKNOWN | The status of the function for automatically extending the data area cannot be determined

Examples

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB (logon in session mode),

· Activating the function for automatically extending the data area; the system is to add a data volume as soon as the data area is 66 % full:

>dbmcli -d DEMODB -u OLEG,MONDAY

dbmcli on DEMODB>auto_extend ON 66

OK

· Displaying the status of the function for automatically extending the data area:

dbmcli on DEMODB>auto_extend SHOW

OK

ON 66


auto_update_statistics (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation auto_update_statistics

Use

You can update optimizer statistics automatically. You can activate or deactivate this function in the Database Manager. The default setting is for the function to be deactivated.

You also use this DBM command to display the status of this function.

If the functions is activated, the system updates optimizer statistics (controlled by events), based on the system entries in the SYSUPDSTATWANTED system table.

Like other DBM commands, this one requires its own event task. For this reason, make sure when you execute this DBM command that the _MAXEVENTTASKS database parameter is large enough.

Prerequisites

· You have the server authorization AccessSQL.

· You have opened a database session (see: db_connect).

Syntax

auto_update_statistics <mode>

<mode> :: = ON | OFF | SHOW

<mode>

Function for automatically updating the optimizer statistics. Possible values are:

ON: Enable function

OFF: Disable function

SHOW: Display function

Reply

OK

[ON | OFF | UNKNOWN]

Values for the Reply Fields

Value | Description
ON | OFF | UNKNOWN | Output when using the SHOW mode, possible values are: ON: the automatic optimizer statistics update function is activated. OFF: the automatic optimizer statistics update function is deactivated. UNKNOWN: the system cannot determine the status of the automatic optimizer statistics update function.

In the event of errors, see Reply Format


autolog_cancel (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation autolog_cancel

Use

You cancel an automatic log backup while it is running. This deactivates the automatic log backup function.

Use this command to prevent technical problems with the backup media, for example.

If you want the log to be backed up automatically again later, then you have to explicitly re-activate the automatic log backup (see: autolog_on).

Prerequisites

You have the server authorization Backup.

Syntax

autolog_cancel

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, canceling automatic log backup for this database instance:

dbmcli -u OLEG,MONDAY -d DEMODB autolog_cancel

OK


autolog_off (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation autolog_off

Use

You deactivate the automatic log backup of the database instance.

Prerequisites

You have the server authorization Backup.

Syntax

autolog_off

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, deactivate automatic log backup.

dbmcli –u OLEG,MONDAY -d DEMODB autolog_off

OK


autolog_on (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation autolog_on

Use

You activate automatic backup of the log area.

The first time you activate automatic log backup, you need to specify the name of a backup medium that is defined for log backup on which the system will automatically backup the log area. You can create this for LOG or AUTO backup types. If you specify a backup medium that was created for the LOG backup type, the system will convert this property to AUTO.

If automatic log backup has been activated before and you do not specify a backup medium, the system will revert to the last medium used for automatic log backup.

For security reasons, store the version files that automatic backup creates on another backup medium outside the database computer.

See also:

Concepts of the Database System, Backing up Log Entries, Archiving Version Files

Prerequisites

· You have the server authorization Backup.

· You have performed at least one complete data backup for the database instance (see: backup_start).

· You have created a backup medium defined for log backups (see: medium_put).

Syntax

autolog_on [<medium_name>]

<medium_name>

Name of the backup medium

The default backup medium is the last one used for automatic log backup of the database instance

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, activating the automatic log backup on the DemoAutoLog backup medium:

dbmcli -u OLEG,MONDAY -d DEMODB autolog_on DemoAutoLog

OK


autolog_show (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation autolog_show

Use

You display whether the automatic log backup function is activated or deactivated.

Prerequisites

You have the server authorization DBFileRead or DBInfoRead.

Syntax

autolog_show

Reply

OK

AUTOLOG IS OFF | AUTOLOG IS ON

Values for the Reply Fields

Value | Description
AUTOLOG IS ON | Automatic log backup is activated
AUTOLOG IS OFF | Automatic log backup is deactivated

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, display the automatic log backup function.

dbmcli -u OLEG,MONDAY –d DEMODB autolog_show

OK

AUTOLOG IS OFF


autorecover (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation autorecover

Use

You start the automatic recovery of the database instance.

The system uses the backup history to determine which backups to use for the recovery. If the backups are files or were created with third-party backup tools, the system also checks if the corresponding backups are available.

Prerequisites

· You have the server authorization Recovery.

· You have opened a database session (see: db_connect).

Syntax

autorecover [LOG] [UNTIL <date> <time>] [<backup_spec>]

<backup_spec> :: = <key_label_spec> | IBID <backup_ID>

<key_label_spec> :: = KEY <key> LABEL <label>

Options

Option | Description
LOG | Only log backups are used to recover the database instance. The Database Manager default value uses data and log backups.
UNTIL <date> <time> <date> ::= <yyyymmdd> <time> ::= <hhmmss> | All database system content up to this point in time will be recovered. <date>: year, month, day <time>: hours, minutes, seconds If you do not specify this option, the Database Manager uses all available data and log backups and the content of the log volume to restore the most recent possible state.
KEY <key> | Key of the first backup to be read You can find this value in the backup history
LABEL <label> | Backup ID of the first backup to be read You can find this value in the backup history
IBID <backup_ID> | Backup ID consisting of a <key> and a <label>, separated by a vertical slash (|) This notation refers to the output in the backup history and makes it possible to simply copy this specification from the backup history to the DBM command.

Reply

OK

Returncode              <value>

Date                    [<value>]

Time                    [<value>]

Server                  [<value>]

Database                [<value>]

Kernel Version          [<value>]

Pages Transferred       [<value>]

Pages Left              [<value>]

Volume Count            [<value>]

Medianame               [<value>]

Location                [<value>]

Errortext               [<value>]

Label                   [<value>]

Is Consistent           [<value>]

First LOG Page          [<value>]

Last LOG Page           [<value>]

DB Stamp 1 Date         [<value>]

DB Stamp 1 Time         [<value>]

DB Stamp 2 Date         [<value>]

DB Stamp 2 Time         [<value>]

Page Count              [<value>]

Devices Used            [<value>]

Values for the Reply Fields

Value

Description

Date

Date

Time

Start time for backup

Server

Name of the database computer

Database

Name of the database instance

Kernel Version

Version of database kernel

Pages Transferred

Number of pages transferred

Pages Left

Number of pages still to be transferred

Volumes

Number of backup media used

Medianame

Name of the backup medium

Location

File or device name

Errortext

Error message text

Label

Backup ID

Is Consistent

For data backup only: backup is internally consistent

First LOG Page

For data backup: first page of log backup to be read

For log backup: first page saved in log

Last LOG Page

For log backup only: last page saved in log

DB Stamp 1 Date
DB Stamp 1 Time

Time stamp for first page of log backup

DB Stamp 2 Date
DB Stamp 2 Time

Time stamp for last page of log backup

Page Count

Total number of pages backed up

Devices Used

Number of backup devices used

Database ID

Database ID used to identify data and log backups that belong together

In the event of errors, see Reply Format


backup_cancel (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_cancel

Use

You exit a backup process was interrupted.

Prerequisites

· You have the server authorization Backup.

· You have started a backup of the database instance. The backup operation was interrupted. You are still in the same database session.

Syntax

backup_cancel

Reply

OK

Returncode 0

In the event of errors, see Reply Format


backup_cancel_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_cancel_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


backup_ext_ids_forget (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ext_ids_forget

Use

External backup IDs that have been queried by a backup tool are stored in the memory. You use this DBM command to release this area in the memory, thus increasing the amount of free memory.

Prerequisites

You have the server authorization Backup or DBInfoRead.

Syntax

backup_ext_ids_forget

Reply

OK

In the event of errors, see Reply Format


backup_ext_ids_get (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ext_ids_get

Use

The external backup IDs and information currently available to the backup tool are written to a file. This information concerns the availability status, backup type, and the time the backup of a database instance were created.

To display the file content, subsequently use the DBM command for displaying external backup IDs (see: backup_ext_ids_list).

Prerequisites

You have the server authorization Backup or DBInfoRead.

Syntax

backup_ext_ids_get <medium> [<database_name>] [<database_computer>]

Options

Option | Description
<medium> | Name of backup medium
<database_name> | Name of the database instance from which the backups were created
<database_computer> | Name of database computer

Answer

OK

In the event of errors, see Reply Format


backup_ext_ids_getfromtool (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ext_ids_getfromtool

Use

The external backup ID and further information about backups of a database instance that are stored in the backup tool are written to a file.

To subsequently display the file content, use the DBM command for displaying external backup IDs (see: backup_ext_ids_list).

Prerequisites

You must have the server authorization Backup or DBInfoRead.

Syntax

backup_ext_ids_getfromtool <tool_type> [<database_name>] [<database_computer>]

Options

Option | Description
<tool_type> | Backup tool. Possible values are: BACK: (Backint for MaxDB/ Backint for Oracle) NSR: NetWorker TSM: TSM by IBM/Tivoli
<database_name> | Name of database instance
<database_computer> | Name of database computer

Answer

OK

In the event of errors, see Reply Format


backup_ext_ids_list (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ext_ids_list

Use

You display the information queried by a backup tool. This includes, for each backup, the external backup ID, availability status, backup type and the time the backup was created.

Prerequisites

· You have the server authorization Backup or DBInfoRead .

· You have retrieved the external backup ID for a backup tool (see: backup_ext_ids_get).

Syntax

backup_ext_ids_list

Answer

OK

END|CONTINUE

[<external_backup_id_line>]

[<external_backup_id_line>]

....

Values for the Reply Fields

Value | Description
END | All the information queried by the backup tool was transferred in full.
CONTINUE | Information on further backups is available. This was not transferred because of the limited size of the reply memory. You can scroll through this (see: backup_ext_ids_listnext).
<external_backup_id_line> | A line containing information on one of the backups registered in the backup tool. The individual columns are separated by a vertical slash (|).

In the event of errors, see Reply Format


backup_ext_ids_listnext (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ext_ids_listnext

Use

You display the external backup IDs for the individual backup media of a backup.

In addition, the availability status, backup type, and time each backup was created are displayed for each backup medium.

Prerequisites

· You have the server authorization Backup or DBInfoRead.

· You have fetched the external backup ID for a backup tool (see: backup_ext_ids_get).

· You have executed the DBM command for displaying the external backup IDs (see: backup_ext_ids_list). The keyword CONTINUE in the reply shows that you have not yet read the entire file.

Syntax

backup_ext_ids_listnext

Answer

OK

END|CONTINUE

[<external_backup_id_line>]

[<external_backup_id_line>]

....

Values for the Reply Fields

Field | Description
END | All the information queried by the backup tool was transferred in full.
CONTINUE | Information on further backups is available. This was not transferred because of the limited size of the reply memory. You can display this by repeating the above DBM command.
<external_backup_id_line> | Each line contains information on one of the backups registered in the backup tool. The individual columns are separated by a vertical slash (|).

In the event of errors, see Reply Format


backup_history_append (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_history_append

Use

This DBM command is an internal system command.

It is not documented at present.


backup_history_close (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_history_close

Use

You close the backup history. The backup history information that is stored temporarily in the Database Manager is deleted.

Prerequisites

· You have the server authorization Backup or DBInfoRead.

· You have executed the DBM command for getting the backup history (backup_history_open) or displaying the backup history (backup_history_list).

Syntax

backup_history_close

Reply

OK

In the event of errors, see Reply Format


backup_history_date (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_history_date

Use

You display the date and time when the current backup history was last changed.

Prerequisites

You have the server authorization Backup or DBInfoRead.

Syntax

backup_history_date

Reply

OK

<yyyymmddHHMMSS>

<yyyymmddHHMMSS>

Lastchange date of the backup history

Time format: Year Month Day Hours Minutes Seconds

In the event of errors, see Reply Format


backup_history_list (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_history_list

Use

You display the content of the backup history. You can restrict or extend the display by specifying options.

To save time, we recommend that you execute the DBM command for getting the backup history (see: backup_ext_ids_get) first. If you do not execute this command first, it is executed implicitly with the DBM command for displaying the backup history described here.

Prerequisites

You must have the server authorization Backup or DBInfoRead.

Syntax

backup_history_list [<option_list>]

<option_list>:: = <option> | <option>,<option>, ...

<option>:: = -c <columns> | -k <key> | -l <label> | -a <action> | -r <restore_flag> | –u <yyyymmddHHMMSS> | –m | -e | -Inverted

Options

Option

Description

-c <columns>

You specify which columns are to be displayed. If several columns are specified, you separate them by commas. The keywords for the individual columns are:
KEY Key value for the backup

LABEL Label for the backup

ACTION Backup action

STAMP1 First time stamp for the backup

STAMP2 Second time stamp for the backup

START Start of backup

STOP End of backup

FIRSTLOG First log IO sequence number for the backup

LASTLOG Last log IO sequence number for the backup

LOG States whether log backups have to be imported after data backup has been imported

MEDIA Name of the backup medium used

PAGES Size of the backup in pages

VOLUMES Number of parts that comprise the backup

RC Return value from database instance for the backup

ERROR Backup error message

-k <key>

Only the line of the backup history that contains the key value specified under <key> is displayed.

This option must not be used with the -r option.

-l <label>

Only the lines of the backup history are displayed which contain the backup label specified.

This option must not used with the -r option.

-a <action>

Only the lines of the backup history that match the backup type specified are displayed.

This option must not be used with the -r option.

-r <restore_flag>

Only backups required to restore the database instance are displayed. The following values are possible for <restore_flag>:

* | LAST | <key>

*: All data backups required to restore the database instance are displayed. If the log volume is still intact, then only those data backups are output that match the existing log entries in the log volume.

LAST: All backups that are required to recover the database instance are displayed including the last complete database backup.

<key>: Key value of complete data backup
All backups required to recover the database instance are displayed. The key value of the complete data backup is stored in the backup history in the first column of the entry for this backup.

-u <yyyymmddHHMMSS>

Only those lines in the backup history are displayed that contain data saved in the database instance before the specified time . Time format: Year Month Day Hours Minutes Seconds

-m

For each line that relates to a backup, information on the backup medium used is output.

-e

For each line that relates to a backup, information is displayed about the associated external backup ID.

-Inverted

The backup history is displayed in reverse order i.e. starting with the most recent backup.

Answer

OK

END|CONTINUE

<history_line>

[<media_line>

[<external_backup_id-line>]

<history_line>

[<media_line>]

[<external_backup_id-line>]

....

Values for the Reply Fields

Value | Description
END | The contents of the backup history have been transferred in full. The file is closed automatically.
CONTINUE | The backup history contains further entries that were not transferred due to the limited size of the reply memory. You can display this data by entering the DBM command again or close the backup history (see: backup_history_close).
<history_line> | Information on the completed backups. Columns are separated by a vertical line (|). A separate line is displayed for each backup.
<media_line> | Information on the backup medium used for the backup The line is prefixed with an M: and is followed by the columns, each separated by a vertical slash (|).
<external_backup_id_line> | If the backup was created using a backup tool, information about the external backup ID is shown here. The line has a E: prefix and is followed by thecolumns, each separated by a vertical line (|).

In the event of errors, see Reply Format


backup_history_listnext (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_history_listnext

Use

You read more of the backup history. Options you specified for displaying the backup history (backup_history_list) remain active.

Prerequisites

· You have the server authorization Backup or DBInfoRead.

· You have executed the DBM commands for getting the backup history (backup_history_open) and displaying the backup history (backup_history_list). The keyword CONTINUE in the answer indicates that the whole file has not yet been displayed.

Syntax

backup_history_listnext

Reply

OK

[END|CONTINUE]

<history_line>

[<media_line>]

[<external_backup_id-line>]

<history_line>

[<media_line>]

[<external_backup_id-line>]

....

Values for the Reply Fields

Value | Description
END | The content of the backup history was transferred completely to the Database Manager.
CONTINUE | The backup history contains further entries that were not transferred due to the limited size of the reply memory. You can display this data by entering the above command again or close the backup history (See: backup_history_close).
<history_line> | Information on the completed backups. The individual columns are separated by a vertical slash (|). A separate line is displayed for each backup.
<media_line> | Information on the backup medium used for the backup The line is prefixed with an M: and is followed by the columns, each separated by a vertical slash (|).
<external_backup_id_line> | If the backup was created using a third party backup tool, the external backup ID is provided here. The line has a E: prefix and is followed by the columns, each separated by a vertical slash (|).

In the event of errors, see Reply Format


backup_history_open (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_history_open

Use

You fetch the current backup history into the main memory. If you specify the option –e, current information about the backup tools used is added to the backup history.

To subsequently display the contents, execute the DBM command for displaying the backup history backup_history_list.

Prerequisites

You have the server authorization Backup or DBInfoRead.

Syntax

backup_history_open [-e]

-e

The availability status for each backup is determined in the backup tool.

Reply

OK

In the event of errors, see Reply Format


backup_ignore (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ignore

Use

A backup performed on a group of parallel backup media was interrupted because the system has sent a message saying a medium in the group of parallel backup media is full. As other data still needs to be backed up, the system requests you to provide a succeeding medium for the relevant medium in the group.

You can use the DBM command backup_ignore to continue the backup without specifying a succeeding medium. The remaining data are backed up only on the other media in the group of parallel backup data.

After you have executed the DBM command, information about the backup is output. The information is only given when the backup is finished or is interrupted again. For this reason, the response to this DBM command can take a long time.

Pay special attention to the Returncode reply field, which contains a numeric value for a message.

See also: Messages

If it is clear from the message number that the backup has been interrupted for a second time, you have to continue the session with a succeeding command: (backup_replace, backup_ignore), or terminate with backup_cancel.

Prerequisites

· You have the server authorization Backup.

· You have started backing up the database instance on a group of parallel backup media. The backup was interrupted because one of the media in the group was reported as full. You are still in the same database session.

Syntax

backup_ignore

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Medianame [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Start time for backup
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database kernel
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text
Label | Backup ID
Is Consistent | For data backup only: backup is consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together

In the event of errors, see Reply Format


backup_ignore_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_ignore_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


backup_replace (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_replace

Use

A backup that was in progress was interrupted because the system has sent a message saying that the backup medium or a medium from a group of parallel backup media is full.

You specify a new backup medium. The backup continues to this medium.

After you have executed the DBM command, information about the backup is output. The information is only given when the backup is finished or is interrupted again. For this reason, the response to this DBM command can take a long time.

Pay special attention to the Returncode reply field, which contains a numeric value for a message.

See also: Messages

If it is clear from the message number that the backup was interrupted for a second time, you must continue with the continuation command (backup_replace, backup_ignore) or terminate with (backup_cancel).

Prerequisites

· You have the server authorization Backup.

· You have started backing up the database instance. The backup was interrupted because the backup medium or a medium in a group of parallel backup media was reported as full. You are still in the same database session.

Syntax

backup_replace <medium_name>

<medium_name>

Name of the backup medium or group of parallel backup media

Reply

OK

Returncode              <value>

Date                    [<value>]

Time                    [<value>]

Server                  [<value>]

Database                [<value>]

Kernel Version          [<value>]

Pages Transferred       [<value>]

Pages Left              [<value>]

Volume Count            [<value>]

Medianame               [<value>]

Location                [<value>]

Errortext               [<value>]

Label                   [<value>]

Is Consistent           [<value>]

First LOG Page          [<value>]

Last LOG Page           [<value>]

DB Stamp 1 Date         [<value>]

DB Stamp 1 Time         [<value>]

DB Stamp 2 Date         [<value>]

DB Stamp 2 Time         [<value>]

Page Count              [<value>]

Devices Used            [<value>]

Values for the Reply Fields

Value

Description

Date

Date

Time

Start time for backup

Server

Name of database computer

Database

Name of database instance

Kernel Version

Version of database kernel

Pages Transferred

Number of pages transferred

Pages Left

Number of pages still to be transferred

Volumes

Number of backup media used

Medianame

Name of backup medium

Location

File or device name

Errortext

Error message text

Label

Backup ID

Is Consistent

For data backup only: backup is consistent

First LOG Page

For data backup: first page of log backup to be imported

For log backup: first page saved in log

Last LOG Page

For log backup only: last page saved in log

DB Stamp 1 Date
DB Stamp 1 Time

Time stamp for first page of log backup

DB Stamp 2 Date
DB Stamp 2 Time

Time stamp for last page of log backup

Page Count

Total number of pages backed up

Devices Used

Number of backup devices used

Database ID

Database ID used to identify data and log backups that belong together

In the event of errors, see Reply Format


backup_replace_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_replace_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


backup_reply_available (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_reply_available

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


backup_reply_receive (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_reply_receive

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


backup_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


backup_start (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_start

Use

You back up the data area or the log area of the database instance.

After you have executed the DBM command, information about the backup is output. This information is only given when the backup has been ended or interrupted. For this reason, the response to this DBM command can take a long time.

If it is clear from the message number that the backup has been interrupted for a second time, you must continue the session with a succeeding command: (backup_replace, backup_ignore), or terminate it (backup_cancel).

See also:

Concepts of the Database Systems, Backing Up Data, Backing Up Log Entries

Prerequisites

· You must have the server authorization Backup.

· You must have opened a database session (see: db_connect).

· If you want to perform an interactive log backup, you must have performed a data backup for the relevant database instance at least once previously.

Syntax

backup_start <medium_name> [<backup_type>] [AUTOIGNORE]

Options

Option | Description
<medium_name> | Name of backup medium When backing up on a group of parallel backup media, you need to specify the name of the media group here.
<backup_type> | Type of backup You only need to specify an entry here if you did not specify the backup type when you defined the backup medium to be used (media definitions in earlier versions). Possible values are: DATA: complete data backup PAGES: incremental data backup LOG: interactive log backup Otherwise the system uses the value for the backup type specified during the media definition.
AUTOIGNORE | Backup is continued automatically without the backup medium last reported as full (see: backup_ignore)

Reply

OK

Returncode              <value>

Date                    [<value>]

Time                    [<value>]

Server                  [<value>]

Database                [<value>]

Kernel Version          [<value>]

Pages Transferred       [<value>]

Pages Left              [<value>]

Volume Count            [<value>]

Medianame               [<value>]

Location                [<value>]

Errortext               [<value>]

Label                   [<value>]

Is Consistent           [<value>]

First LOG Page          [<value>]

Last LOG Page           [<value>]

DB Stamp 1 Date         [<value>]

DB Stamp 1 Time         [<value>]

DB Stamp 2 Date         [<value>]

DB Stamp 2 Time         [<value>]

Page Count              [<value>]

Devices Used            [<value>]

Values for the Reply Fields

Value

Description

Date

Date

Time

Start time for backup

Server

Name of database computer

Database

Name of database instance

Kernel Version

Version of database kernel

Pages Transferred

Number of pages transferred

Pages Left

Number of pages still to be transferred

Volumes

Number of backup media used

Medianame

Name of backup medium

Location

File or device name

Errortext

Error message text

Label

Backup ID

Is Consistent

For data backup only: backup is consistent

First LOG Page

For data backup: first page of log backup to be imported

For log backup: first page saved in log

Last LOG Page

For log backup only: last page saved in log

DB Stamp 1 Date
DB Stamp 1 Time

Time stamp for first page of log backup

DB Stamp 2 Date
DB Stamp 2 Time

Time stamp for last page of log backup

Page Count

Total number of pages backed up

Devices Used

Number of backup devices used

Database ID

Database ID used to identify data and log backups that belong together

Reply in the Event of an Error

If an error occurs while you are using a third-party backup tool, you will receive a reply in the following format:

ERR

<errcode>, <err_description>

[<extended_description>]

Values for the Reply Fields

Value | Description
<errcode> | Error message number See: Messages
<err_description> | Description of the error
<extended_description> | Cause of error

The following errors may occur:

Error message number | Error message text | Explanation
-24927 | ERR_TOOLCHK: the external backup tool was not found | The backup tool could not be found or has been installed incorrectly.
-24926 | ERR_MEDIUMCHK: the medium cannot be used with this external backup tool | The backup medium specified cannot be used with this backup tool.
-24925 | ERR_PREPARE: prepare of the backup operation failed | The preparations necessary to use the backup tool could not be completed correctly.
-24924 | ERR_DBREQ: cannot start database kernel request | The database instance was unable to start the backup.
-24923 | ERR_TOOLREQ: cannot start external backup tool correctly | The backup tool could not be started correctly.
-24922 | ERR_OPCHK: cannot check state of backup operation | Unable to check the status of database instance or backup tool.
-24921 | ERR_POSTOP: cannot finish backup operation correctly | Although the backup was successful, the post-processing steps required could not be performed.
-24920 | ERR_BACKUPOP: backup operation was unsuccessful | The backup failed due to a problem with the database or the backup tool.
-24919 | ERR_CLEANUP: cannot clean up correctly after backup operation | Although the backup was successful, the system resources used during the check could not be released again.


backup_state (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation backup_state

Use

You display the current status of the backup operation.

You can also execute this DBM command while a backup operation is in progress.

Prerequisites

· You have the server authorization Backup.

· You have started a backup (see: backup_start.

Syntax

backup_state

Reply

OK

Returncode              <value>

Date                    [<value>]

Time                    [<value>]

Server                  [<value>]

Database                [<value>]

Kernel Version          [<value>]

Pages Transferred       [<value>]

Pages Left              [<value>]

Volume Count            [<value>]

Medianame               [<value>]

Location                [<value>]

Errortext               [<value>]

Label                   [<value>]

Is Consistent           [<value>]

First LOG Page          [<value>]

Last LOG Page           [<value>]

DB Stamp 1 Date         [<value>]

DB Stamp 1 Time         [<value>]

DB Stamp 2 Date         [<value>]

DB Stamp 2 Time         [<value>]

Page Count              [<value>]

Devices Used            [<value>]

Values for the Reply Fields

Value

Description

Date

Date

Time

Start time for backup

Server

Name of database computer

Database

Name of database instance

Kernel Version

Version of database kernel

Pages Transferred

Number of pages transferred

Pages Left

Number of pages still to be transferred

Volumes

Number of backup media used

Medianame

Name of backup medium

Location

File or device name

Errortext

Error message text

Label

Backup ID

Is Consistent

For data backup only: backup is consistent

First LOG Page

For data backup: first page of log backup to be imported

For log backup: first page saved in log

Last LOG Page

For log backup only: last page saved in log

DB Stamp 1 Date
DB Stamp 1 Time

Time stamp for first page of log backup

DB Stamp 2 Date
DB Stamp 2 Time

Time stamp for last page of log backup

Page Count

Total number of pages backed up

Devices Used

Number of backup devices used

Database ID

Database ID used to identify data and log backups that belong together

In the event of errors, see Reply Format


bye | exit | quit | release (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation bye | exit | quit | release

Use

You close the Database Manager CLI program.

Syntax

bye | exit | quit | release

Answer

OK

In the event of errors, see Reply Format


db_activate (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_activate

Use

You use this DBM command when you start a new database instance for the first time and thereby create the database system administrator (SYSDBA user).

We recommend that you use upper-case letters for the user name and password.

Do not enter the character string SYSDBA as the user name because this is a reserved SQL keyword.

See: Conventions for User Names and Passwords.

You also use this command to initialize a database instance. This deletes the catalog information and the application data in the database instance. The database parameters remain unaffected by this.

Prerequisites

· You have the server authorization AccessUtility.

· The database instance is in the ADMIN operational state.

Syntax

db_activate <sysdba_user>,<sysdba_user_password>

Reply

OK

In the event of errors, see Reply Format


db_activate RECOVER (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_activate RECOVER

Use

You initialize the current database instance and recreate the database state saved in a complete data backup. During this procedure, all catalog information and application data is deleted, as are all entries in the log area of the database instance. Then the complete data backup is imported and the database state it contains is recreated.

Unlike the DBM command to recover the database instance (see: recover_start), after executing db_activate RECOVER you can only import log entries into the database instance from log backups that were completed beforehand, as the entries from the log area of the database instance are no longer available.

If you want to use entries from the log area of the current database instance to recover the most recent database state, before executing db_activate RECOVER you must save the log area on a backup medium, as otherwise the log entries are permanently lost.

If you used another provider’s backup tool to make the backups to be imported, use that tool to recover the database instance with initialization.

Once db_activate RECOVER has been executed, information on the recovery is displayed. This only happens when the backup has been completely imported or the process was interrupted. For this reason, the response to this DBM command can take a long time.

After recovery with initialization, you need to load the system tables. To do this you transfer the database system administrator’s data from the imported data backup to the Database Manager program (see: load_systab).

If automatic log backups were activated before the restoration was started, they are not reactivated automatically after the recovery. To reactivate the log backups, execute the DBM command for activating automatic log backups (see: autolog_on).

Prerequisites

· You have the server authorization Recovery.

· You have opened a database session (see: db_connect).

Syntax

db_activate RECOVER <medium_name> DATA [ExternalBackupID <external_backup_ID>] [AUTOIGNORE]

Options

Option | Description
<medium_name> | Medium from which the backup is to be read. When restoring a backup made on several media at the same time, you must enter the name of the backup media group here.
DATA | Type of backup to be imported is DATA (complete data backup)
ExternalBackupID <external_backup_ID> | To restore a backup created with a backup tool, enter a backup ID name that this tool will recognize.
AUTOIGNORE | If you are restoring data in parallel, the process is automatically continued by the system.

Reply

OK

Returncode              <value>

Date                    [<value>]

Time                    [<value>]

Server                  [<value>]

Database                [<value>]

Kernel Version          [<value>]

Pages Transferred       [<value>]

Pages Left              [<value>]

Volume Count            [<value>]

Medianame               [<value>]

Location                [<value>]

Errortext               [<value>]

Label                   [<value>]

Is Consistent           [<value>]

First LOG Page          [<value>]

Last LOG Page           [<value>]

DB Stamp 1 Date         [<value>]

DB Stamp 1 Time         [<value>]

DB Stamp 2 Date         [<value>]

DB Stamp 2 Time         [<value>]

Page Count              [<value>]

Devices Used            [<value>]

Values for the Reply Fields

Value

Description

Date

Date

Time

Start time for the creation of the imported data backup

Server

Name of database computer

Database

Name of database instance

Kernel Version

Version of database kernel

Pages Transferred

Number of pages transferred

Pages Left

Number of pages still to be transferred

Volumes

Number of backup media used

Medianame

Name of backup medium

Location

File or device name

Errortext

Error message text

Label

Backup ID

Is Consistent

For data backup only: backup is internally consistent

First LOG Page

For data backup: first page of log backup to be read

For log backup: first page saved in log

Last LOG Page

For log backup only: last page saved in log

DB Stamp 1 Date
DB Stamp 1 Time

Time stamp for first page of log backup

DB Stamp 2 Date
DB Stamp 2 Time

Time stamp for last page of log backup

Page Count

Total number of pages saved

Devices Used

Number of backup devices used

Database ID

Database ID used to identify data and log backups that belong together

Reply in the Event of an Error

If an error occurs while you are using an external backup tool, you will receive a reply in the following format:

ERR<NL>
<errcode>, <err_description><NL>
[<extended_description><NL>]

<errcode> | Error message number See: Messages
<err_description> | Error message text
<extended_description> | Cause of error

The following errors may occur:

Error message number | Error message text | Cause of error
-24927 | ERR_TOOLCHK: the external backup tool was not found | The external backup tool could not be found or has been installed incorrectly.
-24926 | ERR_MEDIUMCHK: the medium cannot be used with an external backup tool | The specified backup medium cannot be used with the backup tool referred to by the medium name.
-24925 | ERR_PREPARE: prepare of the backup operation failed | The preparations necessary to use the backup tool could not be completed correctly.
-24924 | ERR_DBREQ: cannot start database kernel request | The database instance was unable to start the restore/recovery operation.
-24923 | ERR_TOOLREQ: cannot start external backup tool correctly | The backup tool could not be started correctly.
-24922 | ERR_OPCHK: cannot check state of backup operation | Unable to check the status of database instance or backup tool.
-24921 | ERR_POSTOP: cannot finish backup operation correctly | Although the recovery was successful, the post-processing steps required could not be performed.
-24920 | ERR_BACKUPOP: backup operation was unsuccessful | The recovery failed due to a problem with the database of the backup tool.
-24919 | ERR_CLEANUP: cannot clean up correctly after backup operation | Although the recovery was successful, the system resources used during the check could not be freed up again.

Example

Logging on to the DBMCLI as operator OLEG with password MONDAY, opening a database session with the database instance DEMODB, creating the database instance from a backup created with NetWorker on the backup medium NSRPages (complete data backup type with the external backup ID 9025):

dbmcli –u OLEG,MONDAY –uDBS –d DEMODB db_activate RECOVER NSRPages DATA ExternalBackupID 9025


db_activate_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_activate_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


db_addvolume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_addvolume

1. Adding Data Volumes

Use

You define additional data volumes to extend the data area for the database instance.

When doing so, you can define either the size of the new data volume or a target fill level for the data area. If this target fill level is less than the current fill level, the DBM command is executed and as many volumes are added as required to reach the target fill level. If the current fill level is less than the target level, the DBM command is not executed.

If no volume specification is entered, then a system default for a volume of type file is determined based on existing volume definitions and used.

You can use the Database Manager parameter AutoExtDir to define the directory for this system default, and the Database Manager parameter AutoExtSize to define its size (see: dbm_configset).

If you are using Microsoft Windows, note that you cannot compress volumes that are files, nor can you store them in a compressed operating system directory.

Prerequisites

You have the server authorization ParamFull or AccessUtility.

Syntax

db_addvolume DATA [<definition>]

<definition> :: = -fd <filling_level> | <vol_specification>

<vol_specification> :: = <device_name> <vol_type> <size>

Options

Option | Description
-fd <filling_level> | Target fill level of the data area in percent The volume is only created if the target fill level has already been reached.
<device_name> | Name of device/file
<vol_type> | Type of device/file to be added possible values are: F | L | R F: file L: link R: Raw Device
<size> | Size of the volume to be added in pages

Answer

OK

<number>

<number>

Only after use of the option -fd <filling_level>:

Number of added volumes required to reach the target fill level

In the event of errors, see Reply Format

2. Adding Log Volumes

Use

You define additional log volumes to extend the log area for the database instance.

If no volume specification is entered, then a system default for a volume of type file is determined based on existing volume definitions and used.

You can use the Database Manager parameter AutoExtDirLog to define the directory for this system default, and the Database Manager parameter AutoExtSizeLog to define its size (see: dbm_configset).

You also use this DBM command to create log volumes with mirror volumes.

If your database instance is already mirrored, you can use the Database Manager parameter AutoExtDirLogMirror to define the directory for the system default for the mirror volume.

If the database instance is not yet mirrored, use the DBM command for changing volume parameters (see: param_addvolume) to create the first mirror volume.

If you are using Microsoft Windows, note that you cannot compress volumes that are files, nor can you store them in a compressed operating system directory.

Prerequisites

You have the server authorization ParamFull or AccessUtility.

Syntax

db_addvolume LOG [<vol_specification> | <mvol_specification>]

<vol_specification> :: = <device_name> <vol_type> <size>

<mvol_specification> :: = <device_name> <vol_type> <size> <mdevice_name> <mvol_type>

Options

Option | Description
<device_name> | Name of device/file
<vol_type> | Type of device/file that is to be added possible values are: F | L | R F: file L: link R: Raw Device
<size> | Size of the log volume to be added in pages
<mdevice_name> | Name of device/file for mirror volume
<mvol_type> | Type of device/file that is to be added as a mirror volume possible values are: F | L | R F: file L: link R: Raw Device

Reply

OK

In the event of errors, see Reply Format


db_admin (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_admin

Use

You transfer the database instance to the ADMIN operational state.

If the database instance is in the ONLINE operational state, it is first transferred to the OFFLINE operational state and then to the ADMIN operational state.

Prerequisites

You have the server authorization DBStop.

Syntax

db_admin [<option>]

<option> :: = -f | -s | -t

Options

Option | Description
-f | -fast | When you change from the OFFLINE operational state to ADMIN, the kernel variant fast is started.
-s | -slow | When you change from the OFFLINE operational state to ADMIN, the kernel variant slow is started.
-t | -test | When you change from the OFFLINE operational state to ADMIN, the kernel variant test is started.

Reply

OK

In the event of errors, see Reply Format


db_clear (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_clear

Use

If runtime information is still present in the operating system after a database error, it is not possible to restart the database instance. Use this DBM command to delete runtime information from the operating system and thereby enable a restart of the database instance.

Prerequisites

You have the server authorization DBStop.

Syntax

db_clear

Reply

OK

In the event of errors, see Reply Format


db_connect (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_connect

Use

You open a session with the database with which you can transfer administrative commands as well as SQL statements to the database instance.

The database session is linked with a user task of the database instance.

You log on with the user name and password of a database user or user type. If you do not specify a database user, the data of the first DBM operator registered on the database server is used to log on.

Prerequisites

· You have the server authorization AccessSQL or AccessUtility.

· You have the server authorizations required to execute the commands and statements.

· The database instance is in the ONLINE operational state.

· The Database Manager is in script mode or session mode (see Concepts of the Database System, Operating mode of Command Line Tools).

Syntax

sql_connect <user_identification>

<user_identification> :: = <user_spec> | <user_type>

<user_spec> :: = <database_user>,<database_user_password>

<user_type> :: = user-type=<value>

Options

Option | Description
<database_user> | Name of the database user
<database_user_password> | Password of the database user
user-type=<value> | User type, possible values <value> are: DBM: DBM user DBA: database administrator SAP: database user of the SAP application

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB (creating the session mode in the Database Manager),

opening a database session as database operator MONA with password RED

executing the SQL statment for displaying the contents of the CUSTOMER table:

dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>db_connect MONA,RED

OK

db_execute SELECT * FROM customer

OK

END

3000;'Mrs';'Jenny';'Porter';'10580';'1340 N.Ash Street, #3'

3100;'Mr';'Peter';'Brown';'48226';'1001 34th Str., APT.3'

3200;'Company';(null);'Datasoft';'90018';'486 Maple Str.'

3300;'Mrs';'Rose';'Brian';'75243';'500 Yellowstone Drive, #2'

3400;'Mrs';'Mary';'Griffith';'20005';'3401 Elder Lane'

...


db_cons (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_cons

Use

You use the XCONS (database console) tool to analyze and control the runtime behavior of the database instance.

See also:

Utilities, XCONS

Use XCONS only when told to do so by Support.

Prerequisites

· You have the server authorization DBStop.

· The database instance is in the operational state ADMIN or ONLINE.

Syntax

db_cons <cons_cmd> [<cons_param>]

Options

Option | Description
<cons_cmd> | XCONS command
<cons_param> | XCONS parameter

Reply

OK

<cons_output>

<cons_output>

Output from XCONS program.

In the event of errors, see Reply Format


db_create (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_create

Use

You create a new database instance on a local or remote server. At the same time you define the first Database Manager operator with all authorizations for this database instance.

You can enter options to define which of the versions of database software available on the database computer should be used to create this database instance, and to determine further properties of this database instance.

On creation of the new database instance, only the first Database Manager operator defined during creation can access this database instance. This operator has been given all the required authorizations. The operator can carry out administrative tasks and create further Database Manager operators and database users.

You need to complete further steps before you can start working with the newly created database instance.

See also:

Concepts of the Database System, Creating and Configuring a Database Instance

Prerequisites

  • You have the authorizations of an operating system user for the server on which the database instance is to be created.
  • To create a database instance on UNIX/Linux, you must be logged on as operating system user root, or as a member of the sdba operating system user group (see Special Operating System Users and User Groups (UNIX/Linux)).
  • To create a database instance on a remote server running Microsoft Windows, you must also have administrator authorizations for the database server and the log on as batch job authorization. For information about administrating operating system users, see your operating system documentation.
  • The X Server has been started.
    If the database software has been installed under Microsoft Windows, the system sets the     Startup Type for the X Server to Automatic, so it is automatically started by the system when the computer is started. Under UNIX, you need to explicitly start the X Server of the remote database computer to be able to administer a database instance on this computer (see: Utilities documentation: Starting the X-Server).

Syntax

db_create [-a|-auto] [-g <group>] [-u] <database_name> <dbm_user>,<dbm_user_password> [<os_user>,<os_user_password>]

Options

Option | Description
-a | -auto | Under Microsoft Windows the service entry Start-up-type in the Control Panel is set to automatic. Under the UNIX operating system this parameter is ignored.
-g <group> | For UNIX only: You assign your database files to an operating system user group other than the standard group and can thus protect the files from unauthorized access.
-u | Operating system user specification with option –u (only for Microsoft Windows): The service for starting the database kernel should run under the operating system user specified at the end of the DBM command.
<os_user> | Name of the operating system user for the remote computer If you want to create the database instance on a remote server, you must also specify the operating system user for this server. If the logon to the operating system fails, the database instance cannot be installed.
<os_user_password> | Operating system user’s password
<database_name> | Name of database instance Note the Conventions for Database Names. The database system automatically converts the database name into upper-case letters.
<dbm_user> | Database Manager Operator (DBM Operator) See Conventions for User Names and Passwords. The database system automatically converts the user name into upper-case letters.
<dbm_user_password> | Password of the Database Manager operator. The database system automatically converts the password into upper-case letters.

Reply

OK

In the event of errors, see Reply Format

db_create DBM Command: Example

On Microsoft Windows:

Logging on to the Database Manager CLI, creating a local database instance with the name DEMODB, defining the first Database Manager operator DBM with the password DBM:
dbmcli db_create DEMODB DBM,DBM

Logging on to the Database Manager CLI, creating a local database instance with the name DEMODB using the software stored under C:\Program Files\SDB\7500, defining the DBM operator DBM with the password DBM:

dbmcli -R "C:\Program Files\SDB\7500" db_create DEMODB DBM,DBM

Logging on to the Database Manager CLI, creating a database instance with the name DEMODB on the remote server GENUA, defining the DBM operator DBM with the password DBM, logging on as operating system user ANNA with the password BLACK to the remote server:
dbmcli –n GENUA db_create DEMODB DBM,DBM ANNA,BLACK

Under UNIX:

Logging on to the Database Manager CLI, creating a local database instance with the name DEMODB, defining the Database Manager operator DBM with the password DBM,suppressing identification of the operating system user with the option –s

dbmcli -s db_create DEMODB DBM,DBM

See also:

Example: How to Create and Configure a Database Instance


Example: How to Create and Configure a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: How to Create and Configure a Database Instance

Use

You use the Database Manager CLI to define the name of a new database instance on the local computer, adapt the system default values for the database parameter file to your requirements, define log and data volumes, define the name and password for the database system administrator, and load the system tables.

In the Database Manager CLI, you can either execute the individual DBM commands one after the other, or use a script to do this. If you decide to use a script, save the DBM commands for steps 3-11 in a file, execute steps 1 and 2. In step 2, specify the option –i and the name of the script.

For the prerequisites, see the description of the command db_create

Procedure

...

1. Calling the Database Manager CLI and creating the new database instance DEMODB, defining the first DBM operator with user name DBM and password DBM.

>dbmcli db_create DEMODB DBM,DBM

Alternative command lines:

If you have several versions of the database software installed on your computer, you need to enter additional information. Use the option -R <dependent_path> to specify the version for which you want to create the database instance.

>dbmcli -R "C:\Program Files\SDB\7.6.00" db_create DEMODB DBM,DBM

2. Logging on to the Database Manager CLI as operator DBM with password DBM, connecting to the database instance DEMODB (working in session mode, see Concepts of the Database System, Operating Mode of Command Line Programs):

>dbmcli -d DEMODB -u DBM,DBM

3. Open a parameter session

>param_startsession

4. Initializing the database parameter

This enters the first Database Manager operator defined above for the parameter CONTROLUSERID in the parameter file.

>param_init

5. Changing the database parameter MAXUSERTASKS to the value 5.

>param_put MAXUSERTASKS 5

6. Checking all database parameters

>param_checkall

7. Confirming changes to the database parameter file

>param_commitsession

8. Creating data and log volumes

a. Creating data volume No. 1 with name DAT_001, type FILE, size 10000 pages:

>param_addvolume 1 DATA DAT_001 F 10000

b. Creating log volume No. 1 with name LOG_001, type FILE, size 2000 pages

>param_addvolume 1 LOG LOG_001 F 2000

9. Transferring the database instance to the ADMIN operational state:

>db_admin

10. Initializing the new database instance and creating the database system administrator with user name DBADMIN and password SECRET:

>db_activate DBADMIN,SECRET

11. Loading the system tables

>load_systab

Result

You have created the database instance DEMODB. The database instance is now in the ONLINE operational state. For this database instance, there is currently only the first DBM operator with user name DBM and the database system administrator with user name DBADMIN.


db_deletevolume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_deletevolume

Use

The data from the specified data volume is distributed to the remaining data volumes. The data volume is deleted and the resources that were previously used by the data volume are released.

Data volumes of the file (FILE) type are deleted from the file system.

The last data volume cannot be deleted.

The system does not support the deletion of log volumes.

Prerequisites

· You have the server authorization ParamFull or AccessUtility.

· The database instance is in the ONLINE operational state.

Syntax

db_deletevolume [DATA] [<vol_description>]

<vol_description>:: = NAME <device_name> | [ID] <vol_no>

Options

Option | Description
DATA | The data volume assigned the highest number by the system is deleted.
NAME <device_name> | Device or file name
[ID] <vol_no> | Consecutive number assigned by the system to the volume. The specification of the keyword ID is optional.

Reply

OK

In the event of errors, see Reply Format.


db_drop (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_drop

Use

You delete the current database instance. You can specify that the database files all be retained in the Database Manager.

Prerequisites

· The database instance is in the OFFLINE operational state.

· You have the server authorization InstallMgm.

Syntax

db_drop [WITHOUTFILES]

WITHOUTFILES

The database files are not deleted.

If you do not specify this option, all the database files will also be deleted.

Answer

OK

In the event of errors, see Reply Format


db_enum (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_enum

Use

You display a list of all the database instances registered on the database computer.

The display is in tabular form. The individual columns are separated by tabs.

Prerequisites

You do not need to log on to the Database Manager to execute this DBM command.

Nor do you require a server authorization.

Syntax

db_enum [-s]

-s

The system also displays the service database instances.

Reply

OK

<database_name><TAB><dependent_path><TAB><database_version><TAB><kernel_version><TAB><operational_state>

<database_name><TAB><dependent_path><TAB><database_version><TAB><kernel_version><TAB><operational_state>

...

Values for the Reply Fields

Value | Description
<database_name> | Name of database instance
<dependent_path> | Directory that contains thedatabase version-dependent server software
<database_version> | Version of the database software
<kernel_version> | Kernel variant
<operational_state> | Operational state of the database instance

Example

Calling the Database Manager CLI, displaying the list of all database instances registered on computer GENUA:

dbmcli –n GENUA db_enum

OK

DEMODB C:\Program Files\sdb\DEMODB 7.6.00.10 fast running

DEMODB C:\Program Files\sdb\DEMODB 7.6.00.10 slow offline


db_execute (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_execute

Use

You send an administration command or SQL statement to the database instance. Unlike when using the db_executenice DBM command, you want the reply to display as many data records as possible.

When you execute this command, it implicitly opens a session with the database instance and then ends the session once the command has been executed.

With SELECT statements, the system displays the data records of the reply. If not all the data can be displayed because of limited space on the data store, you can use the db_fetch DBM command to display the remaining data records.

If you enter other SQL statements, the execution of the statement is confirmed with an OK message.

For further information about SQL statements, see the Reference Manual and SQL Tutorial

Prerequisites

· You are working in the session mode of the Database Manager CLI.

· If you want to execute administration commands, you need the AccessUtility server authorization.

· If you want to execute SQL statement, you need the AccessSQL server authorization.

Syntax

db_execute [<user_type>] <statement>

Options

Option | Description
<user_type> | User type, possible values are: DBM: first DBM operator DBA: database administrator SAP: special database user in connection with SAP applications
<statement> | Administration command or SQL statement

Reply

OK

[END|CONTINUE]

[<record>

<record>

...]

Values for the Reply Fields

Value | Description
END | The complete reply was output.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<record> | Result data of the SQL statements The fields in a data record are separated by semicolons. Character strings are output in single quotation marks.

In the event of errors, see Reply Format

Example

...

Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, displaying the columns of the USERS table with the relevant comments:

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>db_execute SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

END

'OWNER';(long)

'GROUPNAME';(long)

'USERNAME';(long)

'USERMODE';(long)

'CONNECTMODE';(long)

'MAXTIMEOUT';(long)

'COSTWARNING';(long)

'COSTLIMIT';(long)

'DEFAULTCODE';(long)

'CREATEDATE';(long)

'CREATETIME';(long)

'ALTERDATE';(long)

'ALTERTIME';(long)

'PWCREADATE';(long)

'PWCREATIME';(long)

'SERVERDB';(long)

'SERVERNODE';(long)

'USER_ID';(long)

'ISREPLICATIONUSER';(long)

'COMMENT';(long)


db_executenice (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_executenice

Use

You send an administration command or SQL statement to the database instance. Unlike when you use the db_execute DBM command, you want the reply to display one data record after another.

After you execute the administration command or the SQL statement, the system returns an OK message or displays the first data record of the reply. To display all the other data records, use the db_fetchnice DBM command.

For further information about SQL statements, see the Reference Manual and SQL Tutorial

Prerequisites

· You are working in the session mode of the Database Manager CLI.

· If you want to execute administration commands, you need the AccessUtility server authorization.

· If you want to execute SQL statement, you need the AccessSQL server authorization.

Syntax

db_executenice [<user_type>] <statement>

Options

Option | Description
<user_type> | User type, possible values are: DBM: first DBM operator DBA: database administrator SAP: special database user in connection with SAP applications
<statement> | Administration command or SQL statement

Reply

OK

[END | CONTINUE]

[<record>]

Values for the Reply Fields

Value | Description
END | The complete reply was output.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<record> | A data record of the result of the SQL statement The fields in a data record are separated by semicolons. Character strings are output in single quotation marks.

In the event of errors, see Reply Format

Example

...

Logging on to the Database Manager CLI in session mode as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the columns of the USERS table as a data record with the relevant comments:

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>db_executenice SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

CONTINUE

COLUMNNAME = 'OWNER'

COMMENT = (long)

---

dbmcli on demodb>db_fetchnice

OK

CONTINUE

COLUMNNAME = 'GROUPNAME'

COMMENT = (long)

---

dbmcli on demodb>db_fetchnice

...

...


db_fetch (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_fetch

Use

After executing the DBM command db_execute, you use this command to display any further data results within the same database session.

Prerequisites

· You have the server authorization AccessSQL.

· You have executed an administration command or an SQL statement (see db_execute). The keyword CONTINUE in the reply shows that the data has not yet been completely displayed.

Syntax

db_fetch

Reply

OK

[END|CONTINUE]

[<record>

<record>

...]

Values for the Reply Fields

Value | Description
END | The reply was transferred in full.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<record> | Result data of the SQL statements The fields in a data record are separated by semicolons. Character strings are output in single quotation marks.

In the event of errors, see Reply Format


db_fetchnice (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_fetchnice

Use

After you have executed the DBM command db_executenice, you use this DBM command to display the next data record from the results one by one.

Prerequisites

· You have the server authorization AccessSQL.

· You have executed an SQL statement (see db_executenice). The keyword CONTINUE in the reply shows that the data was not yet completely displayed.

Syntax

db_fetchnice

Reply

OK

[END | CONTINUE]

[<column>=<value>]

[<column>=<value>]

[...]

Values for the Reply Fields

Value | Description
END | The reply was transferred in full.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<column> | Name of Column
<value> | Column value

Example

Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, opening a database session, displaying the columns of the USERS table with the relevant comments one by one:

>dbmcli -u OLEG,MONDAY -d DEMODB

>dbmcli on DEMODB>db_connect

OK

dbmcli on DEMODB>db_executenice SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

CONTINUE

COLUMNNAME = 'OWNER'

COMMENT = (long)

---

dbmcli on demodb>db_fetchnice

OK

CONTINUE

COLUMNNAME = 'GROUPNAME'

COMMENT = (long)

---

dbmcli on demodb>db_fetchnice

...

...


db_migratecatalog (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_migratecatalog

Use

This DBM command is used only by SAP applications.

It is not documented at present.


db_offline (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_offline

Use

You transfer the database instance to the OFFLINE operational state.

Prerequisites

You have the server authorization DBStop.

Syntax

db_offline [<option>]

<option> :: =-d | -dump

-d | -dump

A dump is generated when transferring from the operational state ADMIN or ONLINE to OFFLINE.

Reply

OK

In the event of errors, see Reply Format


db_online (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_online

Use

You transfer the database instance to the ONLINE operational state.

You also use this Database Manager command when the database was not stopped correctly because the computer was shut down by a power outage. If the volumes of the database instance are undamaged, the system uses the information still available within the system to repeat completed transactions rather than rolling back incomplete transactions.

If you enter a time point in the Database Manager command, only the transactions completed up to that time are repeated.

You can also configure a database instance so that it starts automatically when the database computer is started.

See also:

Glossary, Restart

Concepts of the Database System, Automatic Start

Prerequisites

You have the server authorization DBStart.

Syntax

db_online [<option>]

<option> :: = -f | -s | -t | -u

Options

Option

Description

-f | -fast

The kernel variant fast is started.

-s | -slow

The kernel variant slow is started.

-t | -test

The kernel variant test is started.

[-u | -until] <date> <time>
<date> ::= <yyyymmdd>
<time> ::= <hhmmss>

Time (year, month, day, hour, minutes, seconds) up to which the log entries still available in the database instance are to be re-imported.

Reply

OK

In the event of errors, see Reply Format


db_reg (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_reg

Use

You update the registration information of a database instance. You can specify an option to update specific registration information.

In Microsoft Windows, the relevant entry in the registry is updated; in UNIX, the databases.ini file is updated in directory <independent_data_path>/config.

Each database is implicitly registered when it is created. Only a database error could make it necessary to update the registration information.

Therefore, only use this DBM command after upgrading the database instance, when you specify the installation path of the new database software version.

Since this also changes the Database Manager CLI version, it is necessary to close all open Database Manager sessions (also Database Manager GUI sessions) before you execute the command.

If you execute the command in session mode, afterwards you have to explicitly end the Database Manager CLI. In this way, the next time you access the current database instance, it will be with the new versions of the database software and the Database Manager CLI.

With this command, you can only switch between versions of the database software that do not require migration of the database instance.

Prerequisites

· You have the server authorization InstallMgm.

· The database instance is in the OFFLINE operational state.

· You have ended all other sessions with the Database Manager (also in the Database Manager GUI).

Syntax

db_reg [-R <dependent_path> | -a [OFF] | –g <group> | -u <os_user>,<os_user_password>]

Options

Option | Description
-R <dependent_path> | Location of the database version-dependent server software
-a [OFF] | For Microsoft Windows only: You define the service entry Start-up-type in the control panel. Possible options are –a | -a OFF. -a: the Start-up-type is set to automatic. -a OFF: the Start-up-type is set to manual. Under the UNIX operating system this parameter is ignored.
-g <group> | For UNIX only: You assign your database files to an operating system user group other than the standard group and can thus protect the files from unauthorized access.
-u <os_user>,<os_user_password> | For Microsoft Windows only: operating system user specification The service for starting the database kernel should run under the specified operating system user. <os_user>: name of the operating system user <os_user_password>: password of the operating system user

Example

Changing the Software Version in Command Mode

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, changing the current software version to version 7.6 which is stored in C:\Program Files\sdb\76.

>dbmcli -u OLEG,MONDAY -d DEMODB db_reg -R "C:\Program Files\sdb\76"

OK

Changing the Software Version in Session Mode

...

Logging on to the Database Manager CLI as operator DBM with password DBM, connecting to the DEMODB database instance,

Changing the software version to Version 7.6 at installation path C:\Program Files\sdb\76,

Exiting the Database Manager CLI:

>dbmcli -u DBM,DBM -d DEMODB

dbmcli on DEMODB>db_reg -R "C:\Program Files\sdb\76"

dbmcli on DEMODB>exit

OK


db_reinstall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_reinstall

Use

You reset the database instance on the basis of its current configuration. The data stored in the database is deleted.

The following steps are performed:

...

1. Transferring to the ADMIN operational state

2. Initializing the database instance

3. Loading the system tables

If you still require the data, make sure you can still obtain it using current backups of the dataset. As soon as you execute this Database Manager command, all the data stored in the database is deleted permanently. Therefore, only use this command with extreme caution.

Prerequisites

You have the server authorization AccessUtility.

Syntax

db_reinstall

Reply

OK

In the event of errors, see Reply Format


db_release (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_release

Use

You end the active database session. All resources assigned to this database session are released.

Prerequisites

You have the server authorization AccessUtility, AccessSQL, or DBInfoRead.

Syntax

db_release

Reply

OK

In the event of errors, see Reply Format


db_restart (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_restart

Use

You first transfer the database instance from the ADMIN or ONLINE operational state into the OFFLINE operational state and then into the ONLINE operational state.

Prerequisites

You have the server authorization DBStop.

Syntax

db_restart [-f | -s | -t | -d | -u <until>]

Options

Option

Description

-f | -fast

The kernel variant fast is started.

-s | -slow

The kernel variant slow is started.

-t | -test

The kernel variant test is started.

-d | -dump

A dump is generated on transferring from ADMIN or ONLINE to OFFLINE.

[-u | -until] <date> <time>
<date> ::= <yyyymmdd>
<time> ::= <hhmmss>

Time (year, month, day, hour, minutes, seconds) up to which the log entries still available in the database instance are to be re-imported.

Reply

OK

In the event of errors, see Reply Format


db_restartinfo (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_restartinfo

Use

You display information about the database instance after importing a backup.

You receive data about the log area including information on whether restarting the database instance is possible.

Prerequisites

· You have the server authorization Recovery.

· You have executed the DBM command for recovering the database instance (see: recover_start).

Syntax

db_restartinfo

Reply

OK

Used LOG Page <page_no>

First LOG Page <page_no>

Restartable (1|0)

Id Restart Record <ID>

Id LOG Info <ID>

Consistent (1|0)

Values for the Reply Fields

Value | Description
Used LOG Page | Next log page to be used after restarting
First LOG Page | Oldest available log page
Restartable | Restartability. Possible values are: 1. The database instance can be restarted 2. The database instance cannot be restarted
Id Restart Record | Identifier of the restart record for the database instance
Id LOG Info | Identifier for the database instance log
Consistent | Consistency of the database instance, that is, restartability without log. Possible values are: 1: can be started without log 2: cannot be restarted without log

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, displaying information after importing a backup.

>dbmcli –u OLEG,MONDAY –d DEMODB db_restartinfo

OK

Used LOG Page 10636

First LOG Page 8640

Restartable 1

Id Restart Record P46643:DB_20010629_115558

Id LOG Info P46643:DB_20010629_115558

Consistent 1


db_speed (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_speed

Use

You display the database kernel variant of the current database instance.

The database instance may not be in the OFFLINE operational state. Otherwise you receive an error message as a response to this command.

Prerequisites

· You have the DBInfoRead server authorization.

· The database instance is in the ONLINE or the ADMIN operational state.

Syntax

db_speed

Reply

OK

Speed

(FAST | SLOW | TEST | UNKNOWN)

Values for the Reply Fields

Value | Description
FAST | Fastest database kernel variant Only minimal logging and runtime checks are performed
SLOW | Variant of the database kernel with extensive logging and runtime checks.
TEST | The kernel variant TEST for additional tests is active.
UNKNOWN | The kernel variant cannot be determined.

In the event of errors, see Reply Format


db_standby (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_standby

Use

A standby instance is transferred to the STANDBY operational state and added to the hot standby system. The standby instance receives an exact copy of the configuration of the master instance.

Prerequisites

· The hot standby system is in the ONLINE operational state.

· All the data paths and files (run directory, volumes, trace files, and so on) are the same in the master instance and the standby instance.

· You have the server authorization DBStart.

Syntax

db_standby <hs_node_nnn>

hs_node_nnn

Computer Name/Address of Standby Instance nnn.

Reply

OK

In the event of errors, see Reply Format


db_state (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_state

Use

You display the operational state of the database instance.

Prerequisites

You have the DBInfoRead server authorization.

Syntax

db_state [-v]

-v

Displaying the filling level of the database instance log and data area.

Reply

OK

<operational_state>

Log Full = <value>

Database Full = <value>

Values for the Reply Fields

Value | Description
<operational_state> | Operational state of the database instance. Possible values are, among others: ONLINE: The database instance is ready. ADMIN: The database instance is down. Only special administrative work can be done. OFFLINE: The database instance is not ready. STOPPED INCORRECTLY: Only with a UNIX operating system: the database stopped after an error. UNKNOWN: The system cannot determine the operational state.
Log Full = <value> | Filling level of the log area. Possible values are: YES: The log area is full. NO: The log area is not full.
Database Full = <value> | Filling level of the data area. Possible values are: YES: The data area is full. NO: The data area is not full.


db_stop (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation db_stop

Use

You transfer the database instance to the OFFLINE operational state. Unlike the db_offline DBM command, this immediately ends the database instance process. Therefore, only use the db_stop DBM command if the db_offline DBM command has not been successful.

Prerequisites

You have the server authorization DBStop.

Syntax

db_stop [<option>]

<option> :: =-d | -dump

-d | -dump

A dump is generated when transferring from the operational state ADMIN or ONLINE to OFFLINE.

Reply

OK

In the event of errors, see Reply Format


dban_delete (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dban_delete

Use

You delete old log directories in the Database Analyzer program.

See also:

Database Analyzer

Prerequisites

You have the DBInfoRead server authorization.

Syntax

dban_delete <date>

<date>

Date

All log files with this date or an older one are deleted.

Time format: <yyyymmdd> (year,month,day)

Reply

You receive the Database Analyzer output.

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, deleting all log files in the Database Analyzer before and including March 1, 2005.

>dbmcli –u OLEG,MONDAY –d DEMODB dban_delete 20050301


dban_start (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dban_start

Use

You call the Database Analyzer program in the Database Manager. The Database Manager implicitly transfers all data from the database system administrator (SYSDBA user) to the Database Analyzer.

When you use the command to call the Database Analyzer, you can also specify options for this program.

If the Database Analyzer is already active, only its status is determined.

See also:

Database Analyzer

Prerequisites

You have the DBInfoRead server authorization.

Syntax

dban_start [<option_list>]

<option_list>

List of options for calling the Database Analyzer

Reply

You receive the Database Analyzer output.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, calling the Database Analyzer:

>dbmcli -u DBM,DBM -d DEMODB dban_start


dban_state (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dban_state

Use

You display the status of the Database Analyzer program.

See also:

Database Analyzer

Prerequisites

You have the DBInfoRead server authorization.

Syntax

dban_state

Reply

The Database Analyzer displays the current status.

Example

Calling the Database Manager, connecting to the database instance DEMODB as operator OLEG with password MONDAY, displaying the status of the Database Analyzer:

>dbmcli -u OLEG,MONDAY -d DEMODB dban_state


dban_stop (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dban_stop

Use

You end the Database Analyzer program from the Database Manager.

If the Database Analyzer is inactive, only its status is given.

See also:

Database Analyzer

Prerequisites

You have the DBInfoRead server authorization.

Syntax

dban_stop

Reply

You receive the Database Analyzer output.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, exiting the Database Analyzer:

>dbmcli -u OLEG,MONDAY -d DEMODB dban_stop


dbm_configget (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_configget

Use

You display the value of one or several configuration parameters of the Database Manager. You can use options to limit the display.

The values of the configuration parameters are stored in three different configuration files:

· a database-specific configuration file

· a software version-specific configuration file

· a database computer-specific configuration file

The parameter values in the database-specific configuration file override the values in the software version-specific configuration file. This, in turn, overrides the values of the database computer-specific configuration file.

Therefore, note that the values shown for the configuration parameter in the Database Manager can be overridden by other values so that they do not represent the current values being used.

Prerequisites

You have the server authorization InstallMgm .

Syntax

dbm_configget [<file_range>] [<parameter_name>]

<file_range>:: = ALL|INSTANCE|INSTALLATION|GLOBAL

Options

Option | Description
<file_range> | Configuration file(s) to be scanned. Possible values are: ALL|INSTANCE|INSTALLATION|GLOBAL ALL: Default value, Searches all three configuration files of the Database Manager INSTANCE: Searches through the database-specific configuration file INSTALLATION: Searches the software version-specific configuration file GLOBAL: Searches the database computer-specific configuration file
<parameter_name> | Name of the configuration parameter of the Database Manager If you do not specify this option, all the configuration parameters will be displayed

Reply

OK

<parameter_value>

or

<parameter_name> = <parameter_value>

<parameter_name> = <parameter_value>

...

Values for the Reply Fields

Value | Description
<parameter_value> | Value of the configuration parameter
<parameter_name> | Name of the configuration parameter

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as the operator OLEG using the password MONDAY, connecting to the database instance DEMODB, displaying the configuration parameter value of the automatic log backup function (this function can only have the value 0 or 1):

>dbmcli -u OLEG,MONDAY -d DEMODB dbm_configget AUTOSAVE

Reply

The system searches in all configuration files. They contain the currently used value that was determined according to the above rule:

OK

0

If you additionally specify that only the software version-specific configuration file is to be searched, you may receive a different value for the same parameter, namely the value stored in this file. However, if this parameter is also stored in the database-specific configuration file, its value overrides the one displayed here.

>dbmcli -u OLEG,MONDAY -d DEMODB dbm_configget INSTALLATION AUTOSAVE

Reply

The system only searches through the configuration file that is software version-specific. The parameter is stored there with the value of 1:

OK

1


dbm_configset (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_configset

Use

You define or delete a configuration parameter of the Database Manager in the specified configuration file.

Parameters for the Database Manager are defined in the following three configuration files:

· a database-specific configuration file

· a software version-specific configuration file

· a database computer-specific configuration file

The parameter values in the database-specific configuration file override the values in the software version-specific configuration file. This, in turn, overrides the values of the database computer-specific configuration file.

Prerequisites

You have the server authorization InstallMgm.

Syntax

dbm_configget [<file_range>] [<parameter_name> [<value>]

Options

Option | Description
<config_file> | Configuration file into which the parameter value is to be entered or from which it is to be deleted. Possible values are: INSTANCE | INSTALLATION | GLOBAL INSTANCE: database-specific configuration file, default value INSTALLATION: software version-specific configuration file specific GLOBAL: database computer-specific configuration file
<parameter_name> | Name of the configuration parameter
<value> | Value of the configuration parameter If you do not specify a value, the parameter will be deleted in the specified configuration file.

Reply

OK

In the event of errors, see Reply Format


dbm_execute_serverprocess (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_execute_serverprocess

Use

This DBM command is an internal system command.

It is not documented at present.


dbm_getpath (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_getpath

Use

You display the version-independent directories configured on the database computer.

See also:

Concepts of the Database System, Directories

Prerequisites

You do not need to log on to the Database Manager to execute this DBM command. Nor do you require any server authorization.

Syntax

dbm_getpath <path_ID>

<path_ID>:: = IndepDataPath | IndepProgPath

Options

Option

Description

<path_ID>

Path for data storage on the database computer. Possible values are:

IndepDataPath | IndepProgPath

IndepDataPath: path where the data, configuration and working directories of database instances and applications are stored.

IndepProgPath: path where programs and libraries that are shared by all database instances and applications are stored.


dbm_getpid (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_getpid

Use

This Database Manager command is an internal system command.

It is not documented at present.


dbm_listmemoryerror (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_listmemoryerror

Use

This DBM command is an internal system command.

It is not documented at present.


dbm_next (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_next

Use

This DBM command is an internal system command.

It is not documented at present.


dbm_setpath (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_setpath

Use

This Database Manager command is only used by the software installation program.

It is not documented at present.


dbm_shm_info (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_shm_info

Use

You display information about the shared memory of the Database Manager.

Prerequisites

You have the server authorization SharedMemoryAdmin.

Syntax

dbm_shm_info

Reply

OK

VERSION

Required <version_no>

Found <version_no>

LOCKING

Lock <status>

Reserve lock <status>

Locking process <pid>

PROCESSES

<pid> <state>

<pid> <state>

<pid> <state>

...

[PERSISTENCE

<error_message>]

Values for the Reply Fields

Value | Description
Required <version_no> | Version of the shared memory that the system expects
Found <version_no> | Actual version of the shared memory
Lock <status> Reserve lock <status> | Lock status; possible values are: LOCKED UNLOCKED
Locking process <pid> | ID of the locking process
<state> | Process status. Possible values are: ALIVE: the process is working DEAD: the process is not in the operating system’s process list UNKNOWN: cannot be determined
<error_message> | Message text


dbm_shm_reset (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_shm_reset

Use

You reset the contents of the Shared Memory by deleting the file from the file system which reflects the content of the Shared Memory. This Database Manager command is only to be used for handling errors.

Only use this Database Manager command if you are instructed to do so by the support desk as it could lead to inconsistencies in the database system.

Prerequisites

You have the server authorization SharedMemoryAdmin.

Syntax

dbm_shm_reset

Reply

OK

In the event of errors, see Reply Format.


dbm_shm_unlock (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_shm_unlock

Use

You unlock the shared memory. This DBM command is only to be used for handling errors.

Only use this Database Manager command if you are instructed to do so by the support desk as it could lead to inconsistencies in the database system.

Prerequisites

You have the server authorization SharedMemoryAdmin.

Syntax

dbm_shm_unlock

Reply

OK

In the event of errors, see Reply Format.


dbm_version (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbm_version

Use

You display the version information of the Database Manager. By specifying options, you can limit the display of version information.

Since the version of the DBM Server and therefore the Database Manager program are always the same as the version of the database software, you can also determine the version of the database software in this way.

Prerequisites

You do not need to log on to the Database Manager to execute this DBM command.

Nor do you require any server authorization.

Syntax

dbm_version [<detail>]>

Option

Option | Description
<detail> | Part of the version information. Possible values are: version: Version number of the Database Manager build: Identification number of the Database Manager os: Name of the operating system instroot: Installation directory of the version-dependent components logon: Indication whether an operating system logon has taken place code: Character set used in the Database Manager swap: Swap type used in the Database Manager Unicode: Character set used by the database catalog instance: Type of the database sytem sYSNAME: Name of the operating system

Answer

OK

VERSION    = <version>

BUILD      = <build_number>

OS          0 <os>

INSTROOT   = <dependent_path>

LOGON      = <logon_state>

CODE = <code>

SWAP = <swap>

UNICODE = (YES|NO)

INSTANCE = (OLTP|LVC|unknown)

SYSNAME = <os>

Values for the Reply Fields

Value | Description
VERSION | Version number of the Database Manager
BUILD | Identification number of the Database Manager
OS | Name of the operating system
INSTROOT | Installation directory of the version-dependent components
LOGON | Displays whether a logon to the operating system has been performed: True logged on False not logged on
CODE | Character set used in the Database Manager, possible values are ASCII or UTF8
SWAP | Output of the swap type used in the Database Manager (internal representation of numeric values): no hihi-hilo-lohi-lolo full lolo-lohi-hilo-hihi half lohi-lolo-hihi-hilo
UNICODE | Character set used by the database catalog. Possible values are: yes: UNICODE no: ASCII
INSTANCE | Type of database system. Possible values are: OLTP: MaxDB instance LVC: liveCache instance unknown: The instance type cannot be determined.
SYSNAME | Name of the operating system

In the event of errors, see Reply Format


dbmevtdisp_internal_add (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbmevtdisp_internal_add

Use

This DBM command is an internal system command.

It is not documented at present.


dbmevtdisp_internal_communication (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbmevtdisp_internal_communication

Use

This DBM command is an internal system command.

It is not documented at present.


dbmevtdisp_internal_delete (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation dbmevtdisp_internal_delete

Use

This DBM command is an internal system command.

It is not documented at present.


diag_histlist (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation diag_histlist

Use

You display the available diagnosis files.

If you execute the DBM command without specifying a time stamp, the system displays a list of all available diagnosis files, the directory in which they are stored, and the time stamp of each one.

If you specify a time stamp in addition to the DBM command, the system displays the file IDs of the diagnosis files. You can display the contents of a file by using the file ID (see: file_getfirst).

You can, however, also use the information about the directory to access diagnosis files using the operating system.

Prerequisites

You have the server authorization DBFileRead.

Syntax

diag_histlist [<YYYYMMDDHHMMSS>]

<YYYYMMDDHHMMSS>

Displaying the change date of the backup history

Time format: Year Month Day Hours Minutes Seconds

Reply After Specifying a Command Without a Time Stamp

The system displays a list of all available log files.

OK

<timestamp> <directory>

<timestamp> <directory>

...

Reply After Specifying a Command With a Time Stamp

The system displays the file IDs of available diagnosis files.

OK

<file_ID>

<file_ID>

...

Values for the Reply Fields

Value | Description
<timestamp> | Time stamp
<directory> | Directory
<file_ID> | File ID See also: Concepts of the Database System, Log Files

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEGwith password MONDAY, connecting to the database instance DEMODB, displaying the list of diagnosis files available in this session:

>dbmcli -u OLEG,MONDAY –d DEMODB diag_histlist

OK

20050324150815 C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\DIAGHISTORY\DEMODB_20050324_15-08-15

20050324150845 C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\\DIAGHISTORY\DEMODB_20050324_15-08-45

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the file IDs of the diagnosis files:

>dbmcli -u OLEG,MONDAY –d DEMODB diag_histlist 20050324150815

OK

DIAGHIST#20050324_15-08-15\knldiag

DIAGHIST#20050324_15-08-15\knldiag.run

DIAGHIST#20050324_15-08-15\knldiag.start

DIAGHIST#20050324_15-08-15\knltrace


diag_pack (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation diag_pack

Use

To be able to comprehensively diagnose a database problem, Support requires a significant number of database instance files. Using this command, you can collect all of the required database files in a compressed archive file.

Default Values of the Database Manager for this Archive File:

File Name | diagpack.tgz
Directory | Run directory of the database instance
File ID | DIAGTGZ

Prerequisites

You have the server authorization DBFileRead.

Syntax

diag_pack [file=<archive>] [class=<spec_list> | class=hist[,<spec_list>] date=<timestamp>]

<spec_list>:: = <class_spec> | <class_spec>,...

Options

Option | Description
<archive> | Name and path of the archive file that you want to create, Default value: see above
<class_spec> | Class of files that you want to include in the package For possible values, see: Glossary, File Class The default value is protocol Separate multiple classes with commas.
<timestamp> | Time stamp of the diagnosis file, additional parameter for the hist class You determine the time stamp by displaying the list of available diagnosis files (see: diag_histlist)

Reply

OK

In the event of errors, see Reply Format.


event_available (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_available

Use

You use this DBM command to display whether events were triggered and can be fetched with event_receive or event_wait .

The first time you execute one of the DBM commands event_wait, event_receive or event_available an event task is generated for this Database Manager session. Events that are triggered from this time on are collected and can be dealt with within this session.

You get an OK message if events were triggered.

Prerequisites

· You have the DBInfoRead server authorization.

· The database parameter _MAXEVENTTASK has been configured sufficiently large (see Concepts of the Database System, Support Database Parameter).

Syntax

event_available

Reply

OK

In the event of errors, see Reply Format.


event_delete (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_delete

Use

You specify that the database kernel is no longer to trigger an event.

You can execute this DBM command in every operating state of the database instance.

For an overview of events that can be activated or deactivated, see Concepts of the Database System, Overview of Database Events

See also:

Utilities, Event Dispatcher

Prerequisites

You have the DBInfoRead server authorization.

Syntax

event_delete <event_category> [<value>]

Options

Option | Description
<event_category> | Event category
<value> | Numerical value the meaning of which depends on the event

Reply

OK

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, deactivating the event DBFILLINGABOVELIMIT with value 50:

>dbmcli -u OLEG,MONDAY -d DEMODB event_delete DBFILLINGABOVELIMIT 50

OK


event_list (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_list

Use

You display a list of all active events.

Prerequisites

You have the DBInfoRead server authorization.

Syntax

event_list

Reply

OK

Name Priority Value Description

<event_category> <event_priority> <value> <description>

<event_category> <event_priority> <value> <description>

<event_category> <event_priority> <value> <description>

...

Values for the Reply Fields

Value | Description
<event_category> | Event category
<event_priority> | Event priority LOW: low priority MEDIUM: medium priority HIGH: high priority
<value> | Additional value the meaning of which depends on the event
<description> | Description of the event

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the list of all active events:

>dbmcli -u OLEG,MONDAY -d DEMODB event_list

OK

Name Priority Value Description

DBFILLINGABOVELIMIT LOW 70 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT MEDIUM 80 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT MEDIUM 85 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT HIGH 90 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT HIGH 95 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT HIGH 96 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT HIGH 97 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT HIGH 98 Filling of the database exceeds the given percentage

DBFILLINGABOVELIMIT HIGH 99 Filling of the database exceeds the given percentage

DBFILLINGBELOWLIMIT LOW 70 Filling of the database has fallen short of the given percentage

DBFILLINGBELOWLIMIT LOW 80 Filling of the database has fallen short of the given percentage

DBFILLINGBELOWLIMIT LOW 85 Filling of the database has fallen short of the given percentage

...

...


event_list_categories (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_list_categories

Use

You display a list of all event categories for which events can be set. An explanation text is displayed for each event category.

Prerequisites

You have the DBInfoRead server authorization.

Syntax

event_list_categories

Reply

OK

<event_category>

<description>

<event_category>

<description>

<event_category>

<description>

...

Values for the Reply Fields

Value | Description
<event_category> | Event category
<description> | Explanatory text

In the event of errors, see Reply Format.


event_receive (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_receive

Use

If events were triggered, they can be fetched with this DBM command. You receive a notification from the Database Manager about the occurrence of an event and the data associated with it.

Repeat this DBM command to fetch additional events. The events are fetched in the chronological order of their creation, the oldest events are fetched first.

The first time you execute one of the DBM commands event_wait, event_receive or event_available an event task is generated for this Database Manager session. Events that are triggered from this time on are collected and can be dealt with within this session.

If no event was triggered, you get an error message for DBM command event_receive.

Prerequisites

· You have the DBInfoRead server authorization.

· The database parameter _MAXEVENTTASK has been configured sufficiently large (see Concepts of the Database System, Support Database Parameter).

Syntax

event_receive

Reply

OK

NAME=<event_category>

PRIORITY=<priority>

VALUE1=<value1>

VALUE2=<value2>

DATE=<yyyymmdd>

TIME=<HHmmss>

COUNT=<count>

TEXT=[<text>]

Values for the Reply Fields

Value | Description
<event_category> | Event category
<priority> | Priority of the event; possible values are: LOW: low priority MEDIUM: medium priority HIGH: high priority
<value1> | Numerical value 1, the meaning of which depends on the event
<value2> | Numerical value 2, the meaning of which depends on the event
<date> | Day on which the event was triggered Time format: <yyyymmdd> (year month day)
<time> | Time at which the event was triggered Time format: <HHMMSS> (hours minutes seconds)
<count> | Current number of the event The system starts numbering with transferring the database instance into the operational state ONLINE.
<text> | Text, the meaning of which depends on the event

In the event of errors, see Reply Format.


event_release (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_release

Use

When an event is being waited for, a database instance session is created implicitly. You use this DBM command to end that session.

Prerequisites

You have the DBInfoRead server authorization.

Syntax

event_release

Reply

OK

In the event of errors, see Reply Format


event_set (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_set

Use

You specify that the database kernel is to trigger an event as soon as a defined situation occurs. You can execute this DBM command in any operating state of the database instance and the event is active immediately.

For an overview of events that can be activated or deactivated, see Concepts of the Database System, Overview of Database Events

For displaying messages regarding the occurrence of an activated event, see event_wait.

See also:

Utilities, Event Dispatcher

Prerequisites

You have the DBInfoRead server authorization.

Syntax

event_set <event_category> <priority> [<value>]

<priority> :: = LOW | MEDIUM | HIGH

Options

Option | Description
<event_category> | Event category
<priority> | Priority of the event; possible values are: LOW: low priority MEDIUM: medium priority HIGH: high priority
<value> | Numerical value the meaning of which depends on the event

Reply

OK

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, activating the event DBFILLINGABOVELIMIT with priority LOW and value 50:

>dbmcli -u OLEG,MONDAY -d DEMODB event_set DBFILLINGABOVELIMIT LOW 50

OK


event_wait (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation event_wait

Use

You work in session mode and fetch the messages of the Database Manager about the occurrence of the event and the corresponding data. These are then deleted.

This first time you execute one of the DBM commands event_wait, event_receive or event_available an event task is generated for this Database Manager session. Events that are triggered from this time on are collected and can be dealt with within this session.

The events are fetched in the chronological order in which they were triggered, the oldest events are fetched first.

If the data about the event that occurred has been fetched, you evaluate it, enter the command again and wait for the next notification from the Database Manager about the occurrence of an event.

You do not receive a reply to this DBM command until an event occurs.

Use this DBM command preferably via a programming interface of the Database Manager .

Prerequisites

· You have the DBInfoRead server authorization.

· The database parameter _MAXEVENTTASK has been configured sufficiently large (see: Concepts of the Database System, Support Database Parameter).

Syntax

event_wait

Reply

OK

NAME=<event_category>

PRIORITY=<priority>

VALUE1=<value1>

VALUE2=<value2>

DATE=<yyyymmdd>

TIME=<HHmmss>

COUNT=<count>

TEXT=[<text>]

Values for the Reply Fields

Value | Description
<event_category> | Event category
<priority> | Priority of the event; possible values are: LOW: low priority MEDIUM: medium priority HIGH: high priority
<value1> | Numerical value 1, the meaning of which depends on the event
<value2> | Numerical value 2, the meaning of which depends on the event
<date> | Day on which event was triggered Time format: <yyyymmdd> (year month day)
<time> | Time at which event was triggered Time format: <HHMMSS> (hours minutes seconds)
<count> | Current number of the event The system starts numbering with transferring database instance into the operational state ONLINE.
<text> | Text, the meaning of which depends on the event

In the event of errors, see Reply Format

Example

1. Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the database instance DEMODB,

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>

2. Entering the DBM command for waiting for an event:

dbmcli on DEMODB>event_wait

OK

NAME=DBFILLINGABOVELIMIT

PRIORITY=LOW

DATE=20050615

TIME=150344

VALUE1=6998

VALUE2=70

COUNT=8

TEXT=


exec_lcinit (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation exec_lcinit

This command is only relevant in connection with SAP applications.

Use

You start the liveCache initialization script, which is stored on the database computer, from the Database Manager. You can specify an option with this DBM command that is passed to the liveCache initialization script by the Database Manager.

The output from the liveCache initialization script is displayed by the Database Manager CLI.

Prerequisites

You have the server authorization SystemCmd.

Syntax

exec_lcinit [<option>]

<option>:: = init | register | restart | slow | stop | shutdown

Options

Option | Description
init | The liveCache instance is initialized
register | The liveCache libraries are loaded again; for this purpose, the liveCache instance is first transferred to the ONLINE operational state, if necessary.
restart | System default if you do not specify an option, the liveCache instance is restarted
slow | The kernel variant slow is started.
stop | The DBM command db_stop is executed
shutdown | The DBM command db_offline is executed

Reply

OK

<return_code>,<description>)

<pgm_code>,<command>

<command_output_lines>

Values for the Reply Fields

Value | Description
<return_code> | Return value of the Database Manager if the value is 0 the DBM command was executed successfully for every other value see: documentation Messages
<description> | Message short text
<pgm_code> | Return value of the liveCache initialization script
<command> | Executed command line
<command_output_lines> | Output text of the program


exec_nipingsrv (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation exec_nipingsrv

Use

This DBM command is used only by SAP applications.

It is not documented at present.


exec_sdbinfo (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation exec_sdbinfo

Use

This DBM command is used only by SAP applications.

It is not documented at present.


explain (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation explain

Use

You display the explanatory text for a DBM command that is available online. This explanation text can be modified by specifying options.

Prerequisites

You do not need to log on to the Database Manager as an operator to execute this DBM command.

Syntax

explain <dbm_command> <option>

<option> :: = <command_option> [-nolinewrap | -longinfo]

Options

Option | Description
<dbm_command> | DBM command
<command_option> | Command option that is to be specified for this DBM command
-nolinewrap | Line break in the explanatory text is suppressed
-longinfo | Only relevant for programming DBM client programs, shows the informative long text for permitted values

Reply

OK

<explain_text>

<explain_text>

Explanatory text

Examples

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the complete explanatory text for the DBM command auto_extend:

>dbmcli –u OLEG,MONDAY –d DEMODB explain auto_extend

OK

With this command, the database instance can be configured to automatically

create new data volumes, when the degree of filling reaches a certain limit.

Size and location of the new data volume are determined as explained in

DBMServer command db_addvolume.

Preconditions:

You have the server authorization ParamFull or AccessUtility.

Syntax:

auto_extend <mode> [<percentage>]

Options:

<mode>

New mode for the database. Possible values are:

ON activate automatic database extension

OFF deactivate automatic database extension

SHOW show current status of automatic database extension

<percentage>

Limit of degree of filling of the database instance, at which a new

data volume should be added. 1 <= <percentage> <= 100 must be true.

Default is 90. Use only with <mode> ON.

Reply:

OK

[ON <percentage>|OFF[, <reason>]|UNKNOWN]

Meaning of the individual fields of the reply:

ON

Automatic database extension is activated (only if <mode> is SHOW).

<percentage> is the actual degree of filling of the database

instance, at which a new data volume is added in the current

configuration.

OFF

Automatic database extension is deactivated (only if <mode> is

SHOW)

UNKNOWN

Status of automatic database extension is unknown (only if <mode>

is SHOW)

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the complete explanatory text for the option percentage for the DBM command auto_extend:

>dbmcli –u OLEG,MONDAY –d DEMODB explain auto_extend percentage

OK

Limit of degree of filling of the database instance, at which a new data volume should be added. 1 <= <percentage> <= 100 must be true. Default is 90. Use only with <mode> ON.


file_backup (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation file_backup

Use

You create a backup copy of the specified database file.

Normally, you do not have to create backup copies of internal Database Manager files because the program creates backups automatically every time it writes to the configuration files.

Prerequisites

· You have the server authorization DBFileRead.

· You have determined the file ID of the requested database file (see file_getlist).

Syntax

file_backup <file_ID>

Reply

OK

In the event of errors, see Reply Format.


file_getfirst (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation file_getfirst

Use

You open the specified database file. The first block of file content is displayed.

In the command line you can only use the DBM command to display the content of plain text files. Programs can access the content of binary files via the DBM interface.

For plain text files the data is read from the file line by line. Each line is extended by a line feed (0x0D,0x0A) in the output area.

On a UNIX computer, the line feed only consists of one character. This is why the value initially output for the file length may be smaller than the data length.

As you can only access database files with this DBM command, you do not need to log on to the operating system.

Prerequisites

· You have the server authorization DBFileRead.

· You have determined the file ID of the requested database file (see file_getlist).

Syntax

file_getfirst <file_ID> [<file_spec>]

<file_spec> :: = DATE=<timestamp> | LINE=<nnn>

Options

Option | Description
<file_ID> | File ID for the possible values (see: Concepts of the Database System, Configuration Files or Log Files)
DATE=<timestamp> | The content is output from the line with the specified timestamp
LINE=<nnn> | The content of text files is output from line nnn.

Reply

OK

<file_handle>

CONTINUE|END

<file_length><data_length>

<data_line>

<data_line>

...

Values for the Reply Fields

Value | Description
<file_handle> | Numeric value that can be used for subsequent access to this file.
END | The content of the file has been transferred completely. The file is closed automatically.
CONTINUE | The file contains further entries that were not transferred due to the limited storage available for replies. You can display this data by entering the DBM command again or close the file.
<file_length> | File length, length of this information: 20 characters maximum
<data_length> | Length of the displayed data block, length of this information: 20 characters maximum
<data_line> | Data line

In the event of errors, see Reply Format


file_getlist (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation file_getlist

Use

You display the list of the database files of the current database instance. You have the option of specifying the scope of the detail list that is output.

Only those files that are actually available are listed however. The list may therefore vary with the state of the database instance.

Prerequisites

You have the server authorization DBFileRead.

Syntax

file_getlist <list_level>

<list_level>

Scope of the file list displayed; possible values are:

0: The most important files (default value)

1: All files

Reply

OK

key_name,mode,size,date,time,comment,file_name

<file_ID> <mode> <file_length> <date> <time> <comment> <file_name>

<file_ID> <mode> <file_length> <date> <time> <comment> <file_name>

...

Values for the Reply Fields

Value | Description
<file_ID> | Key identifying name of a database file
<mode> | Specifies whether the file is plain text or binary Possible values are: ASCII|BINARY ASCII: plain text file (also UNICODE) BINARY: Binary file
<file_length> | Size of database file
<date> | Date of last change
<time> | Time of last change
<comment> | Additional information
<file_name> | File name

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the list of the most important database files:

>dbmcli -u OLEG,MONDAY -d DEMODB file_getlist 1

OK

keyname,mode,size,date,time,comment,filename

KNLDIAG ASCII 50608 20050421 133815 Database Messages knldiag.classic

KNLDIAGERR ASCII 1447 20050421 133815 Database Errors knldiag.err.classic

KNLDIAGOLD ASCII 56767 20050421 133816 Database Messages (OLD) knldiag.old.classic

KNLTRC BINARY 5595136 20050418 141944 Database Trace knltrace

UTLPRT ASCII 102400 20050418 141927 Utility Statements dbm.utl

BACKHIST ASCII 1424 20050418 131056 Backup History dbm.knl

...


file_getnext (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation file_getnext

Use

You request output of the rest of the content of an opened database file.

To do this, you use the file handle output when you opened the database file (see file_getfirst).

Prerequisites

· You have opened a database file. The keyword CONTINUE in the reply shows that the content has not yet been completely transferred.

· You have the server authorization DBFileRead.

· You have determined the file ID of the file (see file_getlist).

Syntax

file_getnext <file_ID> <file_handle>

Reply

OK

<file_handle>

CONTINUE|END

<file_length><data_length>

<data_line>

<data_line>

...

Values for the Reply Fields

Value | Description
<file_handle> | Numeric value that can be used for subsequent access to this file.
END | The content of the file has been transferred completely. The file is closed automatically.
CONTINUE | The file contains further entries that were not transferred due to the limited storage available for replies. You can display this data by entering the DBM command again or close the file.
<file_length> | File length The total length of the file is not determined again and is, therefore, set to 0.
<data_length> | Length of the displayed data block, length of this information: max. 20 characters
<data_line> | Data line

In the event of errors, see Reply Format.


file_operation (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation file_operation

Use

You delete parts of the contents of the files of the database instance, or complete files.

If you use the command with files for which it is not valid, you receive the error
-24996 ERR_PARAM - wrong parameters.

Prerequisites

· You have the server authorization DBFileRead.

· You have determined the file ID of the file to be processed (see file_getfirst).

Syntax

file_operation <file_ID> <action>

<action> :: = <delete_action> | <shrink_action>

<delete_action>:: = OP=DELETE [DATE=<yyyymmddhhmmss>]

<shrink_action>:: = OP=SHRINK <option>

<option> :: = DATE=<yyyymmddhhmmss> | LINE=<n>

Options

Option | Description
<file_ID> | Log file(s) of the database instance
OP=DELETE [DATE=<yyyymmddhhmmss>] | The file(s) is/are deleted. You can use the DATE=<yyyymmddhhmmss> option to specify that only those files that have not been changed since the specified date are to be deleted.
OP=SHRINK <option> | Part of the content of the file is deleted. You can use options to limit which parts are to be deleted: If you use the DATE=<yyyymmddhhmmss> option, then all lines are deleted that were written before the specified time. If you specify the LINE=<n> option, the content of the file is reduced to <n> lines. The <n> lines that were written most recently are retained.

Reply

OK

In the event of errors, see Reply Format.


file_restore (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation file_restore

Use

You copy the backup copy of the database file specified, which was created by the system, back to its original position. If a file already exists, it will be overwritten.

Normally, you do not have to copy backups of internal Database Manager files to their original position manually because the Database Manager will automatically use the backups if it is unable to access the original file.

Prerequisites

· You have the server authorization DBFileRead.

· You have determined the file ID of the file to be copied (see: file_getlist).

Syntax

file_restore <file_id>

Reply

OK

In the event of errors, see Reply Format.


get_default (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation get_default

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


help (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation help

Use

You display a list of all the DBM commands. By specifying options, you can limit the display of this list.

You receive a description of the syntax for entering DBM commands, information on the optional and/or required DBM options as well as information on whether the execution of the DBM commands requires a database or service session.

For obsolete commands, references to the new names of the commands are given.

Reply lines with more than 80 characters are split.

Prerequisites

You do not need to log on to the Database Manager as an operator to execute this DBM command.

Syntax

help [<option>]

<option>::= <string> | <fuzzy_option> | <obsolete_option>

<fuzzy_option>:: = –k <string>

<obsolete_option>:: = -obsolete [<string>]

Options

Option

Description

<string>

Character string

Only those current DBM commands are displayed which start with the specified character string.

-k <string>

Error-tolerant search for a character string in the DBM command

-obsolete [<string>]

Only obsolete DBM commands are displayed. The system displays a reference to the current name for each of these commands.

If you specify a character string, the display is limited to those obsolete commands that contained this character string.

If you do not specify a character string, all obsolete DBM commands are displayed.

Reply

OK

<dbm_command> <description>

<dbm_command> <description>

...

Values for the Reply Fields

Value | Description
<dbm_command> | DBM command
<description> | Description of the DBM command, the possible options and their use For obsolete commands the command that is currently valid is output

In the event of errors, see Reply Format.

Examples

Calling the Database Manager CLI, displaying all the valid DBM commands:

dbmcli help

OK

apropos <command_name_part>

archive_stage <medium> <stage> [verify|noverify] [remove|keep]

[FileNumberList <list>]

archive_stage <medium> <stage> [verify|noverify] [remove|keep]

auto_extend <mode> [<percentage>]

autolog_cancel

autolog_off

autolog_on <medium>

autolog_show

autorecover [LOG] [UNTIL <date> <time>] [ ( KEY <key> LABEL

<label> ) | ( IBID <internal_backup_ID> ) ]

auto_update_statistics <mode>

backup_cancel (needs backup session)

backup_ext_ids_forget

...

...

Calling the Database Manager CLI, displaying all the DBM commands that contain the character string shm :

>dbmcli help –k shm

OK

dbm_shm_info

dbm_shm_reset

dbm_shm_unlock

Calling the Database Manager CLI, displaying all obsolete DBM commands that contain the character string recover:

>dbmcli help –obsolete recover

OK

recover_devspace (obsolete version of recover_volume)


hss_addstandby (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation hss_addstandby

Use

You add a standby instance to a hot standby system.

See also:

Concepts of the Database System, Hot Standby

Prerequisites

· You are connected to the database instance of the hot standby system on the virtual server.

· The database instance you wish to add has the same name as the master instance.

· The database instance you wish to add is in the operational state ONLINE.

· You have the server authorization ParamFull.

Syntax

hss_addstandby <hs_node> login=<os_user>,<os_user_password> [path=<dependent_path>] [delay=<hs_delay_time>]

Options

Option | Description
<hs_node> | Computer name or IP address of the standby instance
<os_user> | Operating system user on the standby computer; must have administration rights for the computer.
<os_user_password> | Operating system user’s password
<dependent_path> | Installation path of the database version-dependent server software on the standby computer. If you do not specify a path, the system uses the database software with the same version as the master instance.
<hs_delay_time> | Time delay (in seconds) with which the standby instance is to be updated

Reply

OK

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance on the virtual server HOTEL_VIRTUAL. Logging on the computer PARMA as operating system user ANNA with password MAY and adding the database instance on computer PARMA as the standby instance.

>dbmcli –u OLEG,MONDAY –d DEMODB –n HOTEL_VIRTUAL hss_addstandby PARMA login=ANNA,MAY

OK


hss_copyfile (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation hss_copyfile

Use

Within the cluster system, you can copy database files from one instance to another. For example, you can use it for duplicating the configuration files of the master instance to all standby instances of a hot standby system after changes to the database configuration. Generally, use the DBM command hss_execute .

However, for support purposes it is possible to copy a database file to another instance using the DBM command hss_copyfile, irrespective of whether the source instance or the target instance currently acts as the master or standby instance.

You can also copy a database file explicitly to the current master instance without having to determine which instance is currently the master instance.

Prerequisites

· You are connected to the cluster system.

· You have the server authorization InstallMgm.

Syntax

hss_copyfile node=<source_component> name=<file_ID>

Options

Option | Description
<source_component> | Instance in which the file to be copied is located
<file_ID> | File ID of the file to be copied (see Concepts of the Database System, Configuration Files or Log Files)

Reply

OK

In the event of errors, see Reply Format

Examples

Logging on to the Database Manager CLI with the user OLEG and password MONDAY, connecting to the database instance DEMODB on the virtual server HOTEL_VIRTUAL, copying the backup history with the file ID BACKHIST from the instance PARMA by way of the virtual server, which forwards it to the target instance GENUA:

>dbmcli -u OLEG,MONDAY -d DEMODB -n HOTEL_VIRTUAL hss_execute GENUA hss_copyfile node=PARMA name=BACKHIST

OK


hss_enable (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation hss_enable

Use

You define a database instance as a master instance for a hot standby system.

Prerequisites

· The database instance is on that computer to which you assigned the virtual server name using the cluster software.

· The database instance is in the OFFLINE operational state.

· You have connected to the database instance on the virtual server.

· You have the server authorization ParamFull.

Syntax

hss_enable lib=<hs_storage_dll> node=<virtual_server_name>

Options

Option | Description
<hs_storage_dll> | Name of the library required for controlling the memory management system
<virtual_server_name> | Name of the virtual server

Reply

OK

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance on the virtual server HOTEL_VIRTUAL.Defining the master instance specifying the libhsscopy library for controlling the memory management system.

>dbmcli –u OLEG,MONDAY –d DEMODB –n HOTEL_VIRTUAL hss_enable lib=libhsscopy node=HOTEL_VIRTUAL

OK


hss_execute (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation hss_execute

Use

You send a DBM command directly to a standby instance.

Do not use this DBM command for change operations, but only to get information about the standby instance.

Modifying DBM commands must be sent to the cluster and not to individual standby instances. The cluster software forwards the DBM commands to the master instance. The master instance executes these DBM commands and synchronizes the standby instances if necessary.

Prerequisites

· You have the required server authorizations.

· You are connected to the database instance of the hot standby system on the virtual server.

Syntax

hss_execute <hs_node> <dbm_command>

Options

Option | Description
<hs_node> | Computer name or IP address of the standby instance
<dbm_command> | DBM command

Reply

OK

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB on virtual server HOTEL_VIRTUAL, displaying the operational state of the standby instance PARMA:

>dbmcli -u OLEG,MONDAY –d DEMODB –n HOTEL_VIRTUAL hss_execute PARMA db_state

OK

State

ONLINE


hss_getnodes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation hss_getnodes

Use

You display the hot standby database parameters of the hot standby system.

Prerequisites

· You have the server authorizations ParamRead, ParamCheckWrite, or ParamFull.

· You are connected to the database instance of the hot standby system on the virtual server.

Syntax

hss_getnodes

Reply

OK

HS_STORAGE_DLL <file_name>

OFFICIAL_NODE <virtual_server_name>

HS_DELAY_TIME_<nnn> <delay_time>

HS_SYNC_INTERVAL <sync_interval>

HS_NODE_<nnn> <master_database_computer>_<nnn>

HS_NODE_<nnn> <standby_database_computer>_<nnn>

HS_NODE_<nnn> <standby_database_computer>_<nnn>

...

Values for the Reply Fields

Value | Description
<file_name> | Name of the library that is used to access the memory management system
<virtual_server_name> | Name of the virtual server
<delay_time> | Delay (in s) until the changes made in the master instance are copied to the standby instance nnn.
<sync_interval> | Minimum time span (in s) between two commands of the master instance to synchronize the standby instances
<master_database_computer> | Computer of the master instance
<standby_database_computer> | Computer of the standby instance
<nnn> | Sequential number of the standby instance (nnn > 1)

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB on virtual server HOTEL_VIRTUAL, displaying all hot standby parameters of the hot standby system.

>dbmcli -u OLEG,MONDAY -d DEMODB –n HOTEL_VIRTUAL hss_getnodes

OK

HS_STORAGE_DLL libhsscopy

OFFICIAL_NODE HOTEL_VIRTUAL

HS_NODE_001 GENUA

HS_NODE_002 PARMA

Result:

The memory management of the hot standby system uses the libhsscopylibrary. The virtual server name of the system is HOTEL_VIRTUAL. The current master instance is on the computer GENUA. The hot standby system includes the computers GENUA and PARMA.


hss_removestandby (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation hss_removestandby

Use

You delete a database instance that has been defined as a standby instance from a hot standby system. All files for this database instance are deleted.

Prerequisites

· You are connected to the database instance of the hot standby system on the virtual server.

· You have the server authorization ParamFull.

Syntax

hss_removestandby <hs_node>

<hs_node>

Computer name or IP address of the standby instance

Reply

OK

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB on virtual server HOTEL_VIRTUAL, deleting the standby instance on computer PARMA:

>dbmcli -u OLEG,MONDAY -d DEMODB –n HOTEL_VIRTUAL hss_removestandby PARMA

OK


info (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation info

Use

You can display certain information about a database instance by specifying an info ID in the DBM command.

The most important info IDs are described below. You can display a list of available info IDs by entering the info ID INFOS.

Prerequisites

· You have the DBInfoRead server authorization.

· You have opened a database session (see db_connect).

Syntax

info <info_ID>

Options

Option | Description
<info_ID> | ID of the information to be displayed The most important info IDs are: CACHES: Access to the cashes and hit rates DATA: Path, size and load of the data volumes LOG: Comprehensive information about the log area STATE: Information about the current state of the database instance. VERSIONS: Version of the database software INFOS: All available info IDs

Reply

OK

END|CONTINUE

<description_record>

<info_record>

<info_record>

Values for the Reply Fields

Field | Description
END | The complete result set was output.
Continue | More results data is available
<description_record> | Name of the fields of the subsequent information lines
<info_record> | Information


info_next (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation info_next

Use

After executing the DBM command for displaying the status information for the database instance, the keyword CONTINUE in the reply indicated that more results data is available. You display this additional data in the same database session.

Prerequisites

· You have the DBInfoRead server authorization.

· You have opened a database session (see db_connect).

· You have executed the DBM command for displaying the status information of the database instance (see info).

Syntax

info_next

Reply

OK

END|CONTINUE

<description_record>

<info_record>

<info_record>

Values for the Reply Fields

Value | Description
END | The complete result set was output.
Continue | More results data is available.
<description_record> | Name of the fields of the subsequent information lines
<info_record> | Information


inst_enum (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation inst_enum

Use

You display the list of all registered versions of the database software on the database computer.

Prerequisites

You do not need to log on to the Database Manager to execute this DBM command.

Nor do you require a server authorization.

Syntax

inst_enum

Reply

OK

<version><TAB><dependent_path>

<version><TAB><dependent_path>

...

Values for the Reply Fields

Value | Description
<version> | Registered version of the database software
<dependent_path> | Installation path of the database version-dependent server software

Example

Calling the Database Manager CLI, displaying the list of all registered versions of the database software:

>dbmcli inst_enum

OK

7.4.0.3 "C:\Program Files\SAPDB\depend"

7.5.0.3                    "C:\Program Files\SDB\7500"

7.6.00.09 "C:\Program Files\sdb\DEMODB"


inst_info (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation inst_info

Use

This DBM command is used only by SAP applications.

It is not documented at present.


inst_reg (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation inst_reg

Use

This DBM command causes the system to enter the version of the database software in the registry once during the installation of the database software. This is necessary for the software to function correctly.

This DBM command is normally executed by the system. Only use this command if you are instructed to do so by the support desk.

Prerequisites

· You are logged on to the operating system (see user_system).

· You have called up the Database Manager of the software version that you want to register again (see –R option).

You do not need to log on to the Database Manager to execute this DBM command.

Nor do you require a server authorization.

Syntax

inst_reg [-c]

-c

Registering the client if only the client programs of the database software were installed on the computer

Reply

OK

In the event of errors, see Reply Format.


inst_unreg (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation inst_unreg

Use

You delete the version entry and the path information for the server software that is dependent on the database version from the list of registered versions of the database software.

The database software can no longer run unrestricted.

Prerequisites

· You have called the Database Manager CLI with the -R option.

· You are logged on to the operating system (see user_system).

You do not require any server authorization.

Syntax

inst_unreg <dependent_path>

<dependent_path>

Installation path of the server software for the database version

Reply

OK

In the event of errors, see Reply Format.

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB.

Deleting the registration of the software version 7.5 (here: default value of the installation program):

dbmcli –u OLEG,MONDAY –d DEMODB instunreg C:\Program Files\sdb\7500


load_lcapps (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation load_lcapps

Use

Loading the application libraries in a liveCache database.

Normally, this DBM command is executed by the SAP application on a regular basis. Only use this command if you are instructed to do so by the support desk.

Prerequisites

You have the server authorization ExecLoad or LoadSysTab.

Syntax

load_lcapps

Reply

OK

<return_code>,<description>

<loader_code>,<command>

<loader_output_lines>

<loader_log_lines>

Values for the Reply Fields

Value | Description
<return_code> | Return value of the Database Manager if the value is 0 the DBM command was executed successfully for every other value see: documentation Messages
<description> | Message short text
<loader_code> | Loader return code
<dbm_command> | Executed command line
<loader_output_lines> | Loader output text
<loader_log_lines> | Content summary of loader log


load_r3tab (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation load_r3tab

Use

The SAP-specific tables are internal tables for the system that users do not define or change. They contain information for the SAP application on the state of the database instance.

Normally, this DBM command is executed by the SAP application on a regular basis. Only use this command if you are instructed to do so by the support desk.

Prerequisites

You have the server authorization ExecLoad or LoadSysTab.

Syntax

load_r3tab

Reply

OK

<return_code>,<description>

<loader_code>,<command>

<loader_output_lines>

<loader_log_lines>

Values for the Reply Fields

Value | Description
<return_code> | Return value of the Database Manager if the value is 0, the DBM command has been executed successfully; for all other values, see: documentation on Messages
<description> | Message short text
<loader_code> | Return code from loader
<command> | Executed command line
<loader_output_lines> | Loader message text
<loader_log_lines> | Content summary of loader log


load_systab (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation load_systab

Use

System tables are internal tables for the system that users do not define or change.

You have to reload the system tables when you change the version of the database software. You do not need to reload system tables when recovering a database instance.

To load the system tables, the Database Manager needs to know the name and password of the database system administrator. Otherwise, enter this information along with the DBM commands for loading the system tables.

Prerequisites

You have the server authorization ExecLoad or LoadSysTab.

Syntax

load_systab [-u <sysdba_user>,<sysdba_user_password>]

Reply

OK

0,<err_description>

<loader_code>,<dbm_command>

<loader_output_lines>

<loader_log_lines>

Values for the Reply Fields

Field | Description
<err_description> | Message text
<loader_code> | Return code from loader
<dbm_command> | DBM command executed
<loader_output_lines> | Loader message text
<loader_log_lines> | Content summary of loader log

Example

...

    1.      Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the database instance DEMODB

2. Loading the system tables, authorization for this DBM command as the database system administrator DBADMIN with password SECRET:

>dbmcli –d DEMODB –u OLEG,MONDAY

dbmcli on DEMODB>load_systab –u DBADMIN,SECRET

OK

0,OK: everything works fine

0,""c:\program files\sdb\demodb\bin\x_python" "c:\program files\sdb\demodb\env

\lsystab.py" -R "c:\program files\sdb\demodb" -d DEMODB -u OLEG,*"

Removing obsolete objects

Installing Loader tables

Installing messages and help

Installing SYSDBA tables

Installing comments for SYSDBA tables

Installing precompiler tables

Installing system tables for R3 backup information

Installing ODBC tables

...

...


load_tutorial (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation load_tutorial

Use

You want to load the example data used in the examples in the MaxDB documentation.

You can load this example data in every available database instance at any time. This provides you with all the data you need to follow the examples described in the documentation.

See also:

SQL-Tutorial, Explanation of the Objects in the HOTEL Schema

Prerequisites

You have the server authorization ExecLoad or LoadSysTab.

Syntax

load_tutorial

Reply

OK

<return_code>,<description>

<loader_code>,<command>

<loader_output_lines>

<loader_log_lines>

Values for the Reply Fields

Value | Description
<return_code> | Return value of the Database Manager if the value is 0 the DBM command was executed successfully for every other value see: documentation Messages
<description> | Message short text
<loader_code> | Return code from loader
<command> | Executed command line
<loader_output_lines> | Loader message text
<loader_log_lines> | Content summary of loader log


medium_date (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_date

Use

You display the date and time when the current media definition file was last changed.

See also:

Concepts of the Database System, Log files

Prerequisites

You have the server authorizations Backup and DBInfoRead.

Syntax

medium_date

Reply

OK

<yyyymmdd><HHMMSS>

<yyyymmdd><HHMMSS>

Last change date of the media definition file

Time format: Year Month Day Hours Minutes Seconds

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the last change date of the media definition file:

>dbmcli -u OLEG,MONDAY -d DEMODB medium_date

OK

20041210160344


medium_delete (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_delete

Use

You can delete the backup medium specified.

Prerequisites

You must have the server authorization Backup.

Syntax

medium_delete <medium_name>

<medium_name>

Name of backup medium

Reply

OK

In the event of errors, see Reply Format


medium_delete_nodistribute (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_delete_nodistribute

Use

This DBM command is an internal system command related to hot standby configurations.

It is not documented at present.


medium_get (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_get

Use

You display the data for the backup medium specified.

Prerequisites

You must have the server authorization Backup or DBInfoRead.

Syntax

medium_get <medium_name>

Reply

OK

<medium_name> <location> <type> <backup_type> <size> <block_size> <overwrite> <autoldr> <oscmd> <date_created> <date_modified> <tool_type>

Values for the Reply Fields

Value

Description

<medium_name>

The name of the backup medium may comprise a group name and a member name. These are separated by a slash.

<location>

The name of the device/file with which it can be addressed through operating system functions.

<type>

Type of the backup medium. Possible values are:

TAPE | FILE | NO-REWIND | PIPE | AUTOLOADER | UNKNOWN

<backup_type>

Type of backup for which the backup medium is to be used: Possible values are:

DATA | PAGES | LOG

<size>

Maximum number of pages which can be written to the backup medium.

<block_size>

Number of pages transferred when the medium is accessed.

<overwrite>

This option is only relevant for the media type FILE and describes the behavior if the file is already present.

Possible values are:
NO | YES | VERSION

<autoldr>

Details of whether the device changes the medium automatically. Possible values are:
YES | NO

<oscmd>

Operating system command to be executed before saving to a continuation medium (backup_replace) or restoring a continuation medium (recover_replace).

<date_created>

Date on which the backup medium was created

<date_modified>

Date on which the backup medium was changed

<tool_type>

Type of the external backup tool. Possible values are:

NONE | BACK | NSR | TSM

NONE: No automatic backup tool is used
BACK: Backint for Oracle
NSR: NetWorker
TSM: TSM from IBM/Tivoli

In the event of errors, see Reply Format


medium_getall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_getall

Use

You display a list of all the defined backup media.

Prerequisites

You must have the server authorization Backup or DBInfoRead.

Syntax

medium_getall

Reply

OK

<medium_name> <location> <type> <backup_type> <size> <block_size> <overwrite> <autoldr> <oscmd> <date_created> <date_modified> <tool_type>

<medium_name> <location> <type> <backup_type> <size> <block_size> <overwrite> <autoldr> <oscmd> <date_created> <date_modified> <tool_type>

...

Values for the Reply Fields

Value

Description

<medium_name>

The name of the backup medium
may comprise a group name and a member name. These are separated by a slash.

<location>

The name of the device/file with which it can be addressed through operating system functions.

<type>

Type of the backup medium. Possible values are:

TAPE | FILE | NO-REWIND | PIPE | AUTOLOADER | UNKNOWN

<backup_type>

Type of backup for which the backup medium is to be used: Possible values are:

DATA | PAGES | LOG

<size>

Maximum number of pages that can be written to the medium.

<block_size>

Number of pages transferred when the medium is accessed.

<overwrite>

Indicates whether the backup medium can be overwritten (for media type FILE only); possible values are:

NO | YES

<autoldr>

Details of whether the device changes the medium automatically, possible values are:

YES | NO

<oscmd>

Operating system command to be executed before backing up to a succeeding medium or restoring from a succeeding medium

<date_created>

Date and time at which the backup medium was created

<date_modified>

Date and time at which the backup medium was last changed

<tool_type>

Type of the external backup tool. Possible values are:

NONE | BACK | NSR | TSM

NONE: No automatic backup tool is used
BACK: Backint for Oracle
NSR: NetWorker
TSM: TSM from IBM/Tivoli

In the event of errors, see Reply Format


medium_label (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_label

Use

You display the information stored on a backup medium about the backup.

Prerequisites

· You have the server authorization Backup.

· You have opened a database session (see db_connect).

· The database instance is the ONLINE or the ADMIN operational state.

Syntax

medium_label <medium_name>

<medium_name>

Name of the backup medium from which the information is to be read.
For parallel backup media, enter the name of the group of parallel backup media

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volumes [<value>]

Medianame [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Note In particular, analyze the Returncode reply field, which contains a numeric value supplied by the kernel.

See also: Messages

Values for the Reply Fields

Value | Description
Returncode | Return value of the Database Manager if the value is 0 the DBM command was executed successfully for every other value see: documentation Messages
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database kernel
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be read For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages saved
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


medium_labeloffline (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_labeloffline

Use

You display the information stored on a backup medium about the backup. The backup medium is accessed directly. This means that the data is also displayed if the database instance is in the operational state OFFLINE.

If the operational state of the database instance is ONLINE or ADMIN, use the DBM command to display the backup information in the operational state ONLINE or ADMIN (see: medium_label)..

Prerequisites

You have the server authorization Backup.

Syntax

medium_labeloffline <medium_name>

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Medianame [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Field | Description
Returncode | Return value of the Database Manager if the value is 0 the DBM command was executed successfully for every other value see: documentation Messages
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database kernel
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be read For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages saved
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


medium_migrate (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_migrate

Use

You can transfer existing definitions for backup media from the media definition file control.med(database version 6.2) to the new media definition file dbm.mmm (as of database version 7.2.4.2).

The media definition from the old file is not transferred if there is an identical media name in the old and new media definition files.

The old definitions for backup media do not contain entries on the relevant backup type for a particular medium. We therefore recommend that as soon as you have transferred a media definition in this way, you use the DBM command medium_put to define the backup type. Otherwise you will have specify this explicitly when you start the backup procedure on this medium.

See also:

Concepts of the Database System, Log files

Prerequisites

You must have the server authorization Backup or DBInfoRead.

Syntax

medium_migrate

Reply

OK

In the event of errors, see Reply Format


medium_put (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_put

Use

You create a new backup medium or change the data for a backup medium that already exists.

The properties of the backup medium defined in this way are stored in the log file dbm.mdf of the Database Manager.

The directory in which you want to create the backup medium must already exist. The backup medium is not created physically until it is first used for a backup.

Prerequisites

You must have the server authorization Backup.

Syntax

medium_put <medium_name> <location> <type> <backup_type> [<size>] [<block_size>] [<overwrite>] [<autoloader>] [<os_command>] [<tool_type>]

Options

Option

Description

<medium_name>

The name of the backup medium may comprise a group name and a member name.

These are separated by an oblique.

<medium_name> ::= [<group_name>/]<member_name>

To create a group of parallel back media, execute the DBM command several times over. To assign the media to the same group, always enter the same <group_name>, with a different <member_name> for each medium.

<location>

The name of the device/file with which it can be addressed through operating system functions.

The system assigns version numbers to version files for log backups of the type FILE.

Note the standards for different types (<type>) of backup media under different operating systems:

Standards for backup media of type PIPE

on UNIX:

You can select any path you want. If you enter a relative path, the backup medium is stored in the working directory of the database instance ([<path>/]<file_name>).

on Microsoft Windows:

The path must comply with this convention: \\.\pipe\<pipe_name>.

Standards for backup media of type FILE

on UNIX:

You can enter an absolute or relative path. An absolute path must start with a slash (/). If you enter a relative path, it is interpreted as relative to the working directory of the database instance.

on Microsoft Windows:

You must enter an absolute path as follows:

\\<computer_name>\<share>\[<path>\]<file_name>

or with the drive:

<drive>:\[<path>]\<file_name>

If you enter a relative path, it is interpreted as relative to the working directory of the database instance.

Standards for backup media of type TAPE

on UNIX:

You must enter an absolute path.

on Microsoft Windows:

The path must comply with this convention: \\.\tape<running_number>.

Standards for the backup tool NSR:

Enter an absolute pathname. This must be identical for both the backup and restore operations. Note that parts of the path name that represent only links are replaced with the actual directory or file name by NetWorker.

<type>

Type of the Backup Medium

Possible values for backups are:

TAPE | FILE | PIPE | UNKNOWN

Possible values for log backups are:

FILE | PIPE | UNKNOWN

Specify TAPE for backups to a non-rewindable tape, FILE for backups to a file, and PIPE for backups to a pipe. If you enter one of these media types, the system checks that your entries are correct.

If you want to avoid this check, enter the type UNKNOWN. Note, however, that log backups are only possible to files and pipes. Otherwise, you receive an error message when you save.

The system default is UNKNOWN.

<backup_type>

Backup type for which the backup medium is to be used:

Possible values are:

DATA | PAGES | LOG | AUTO

Enter DATA for a complete backup, PAGES for an incremental backup, LOG for an interactive log backup and AUTO for an automatic log backup.

Note:

There can be only one backup medium of type AUTO. If a backup medium for this backup type already exists and you define another medium of type AUTO, then the system changes the backup type of the existing medium to the backup type LOG.

<size>

Maximum number of pages which can be written to the backup medium.

The default value of the system is 0, that is, the size of the medium is not limited. The system will keep backing up to this medium until either the backup is complete, or the operating system does not allow further backups to this medium because it is full. If this happens, you receive an error message and can then continue the backup using another backup medium.

<block_size>

Number of pages transferred when the medium is accessed. This value is only evaluated for the media type TAPE.
The system default for this media type is 8.

<overwrite>

Obligatory only for the media type FILE and only for data backups. It defines the behavior if the file already exists.
Possible values are:

YES | NO

If you enter YES and the file already exists, it is overwritten by the new backup. If you enter NO and the file already exists, the backup fails.

This entry is not interpreted for log backups.

The system default is NO.

<autoloader>

Details of whether the device changes the medium automatically:

only relevant on Microsoft Windows

Possible values are:

YES | NO

The system default is NO.

<os_command>

Operating system command to be executed before saving to a continuation medium (backup_replace) or restoring a continuation medium (recover_replace).

<tool_type>

Backup tool to be used.

Possible values are:

NONE: no backup tool is used.
BACK: Backint for MaxDB/ Backint for Oracle
NSR: NetWorker
TSM: TSM von IBM/Tivoli

If you use UNIX and you enter the value NONE with PIPE as the <type>, the pipe must be created before the backup process starts. If you use Microsoft Windows, the pipe must not yet exist.

If you enter a value other than NONE, you must enter 0 for <type> PIPE and for <size>. If you use either UNIX or Microsoft Windows, the pipe must not exist before the backup process begins.

For NSR, note the additional information listed under <location>.

The system default is NONE.

Reply

OK

In the event of errors, see Reply Format


medium_put_nodistribute (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation medium_put_nodistribute

Use

This DBM command is an internal system command related to hot standby configurations.

It is not documented at present.


package_info (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation package_info

Use

This DBM command is used only by SAP applications.

It is not documented at present.


param_abortsession (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_abortsession

Use

You terminate the parameter session.

All of the changes made to database parameters in this session are rejected.

Prerequisites

· You have opened a parameter session (see: param_startsession).

· You have the server authorization ParamRead.

Syntax

param_abortsession

Answer

OK

In the event of errors, see Reply Format


param_addvolume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_addvolume

Use

Use the DBM command param_addvolume described here only when creating a database instance, when creating a first mirror volume for a database instance, or in consultation with Support.

Extend an existing database instance using the DBM command for adding volumes (see: db_addvolume). Use the DBM command to create mirror volumes only if the database instance is already mirrored; that is, if mirror volumes already exist.

Inconsistencies in the volume settings can damage the database instance.

You use this DBM command to change the volume parameters in the database instance parameter file. The new parameter value is registered by the system, and is adopted as the effective value when the database instance is restarted.

You change volume parameters in two steps:

...

1. Change the entries for the parameters in the parameter file.

2. Transfer the corresponding information to the database kernel with an administrative command (See: db_execute)

If this command fails, you must also remove the entries from the parameter file for the database instance.

The system does not check whether there is sufficient disk capacity available to add the volume.

If you create a mirror volume with this DBM command, you must also set the value of the general database parameter LOG_MIRRORED to YES (see: param_put).

Prerequisites

You have the server authorization ParamFull.

Syntax

param_addvolume <vol_no> <vol_mode> <vol_name> <vol_type> <size>

Options

Option

Description

<vol_no>

Number of the volume

<vol_mode>

Type of volume; possible values are:

DATA: Data volume:
the number of the data volume is assigned by the system as a four-digit number with leading zeros when the volume is created

LOG: Log volume:
the number of the log volume is assigned by the system as a three-digit number with leading zeros when the volume is created

MLOG: Mirrored log volume

<file_name>

Name of device/file

If you are using Microsoft Windows, note that you cannot compress volumes that are files, nor can you store them in a compressed operating system directory.

<vol_type>

Type of device/file to be added,

Possible values are:

F: file

L: link

R: Raw Device

<size>

Size of the volume in pages

Reply

OK

In the event of errors, see Reply Format


param_checkall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_checkall

Use

You are checking the database parameters using the properties, calculation formulas and conditions stored in the default parameter file. What happens next depends on whether or not you opened a parameter session before executing the DBM command.

If you have opened a parameter session (see: param_startsession) and an error is found during the check, then the check is stopped and the results are output together with an error message. Correct the error in the database parameter (see: param_put) and then start the check again. Repeat this procedure until the database parameter check does not find any more errors. All changes to database parameters are first buffered by the system. They are only entered in the parameter file when you explicitly confirm the changes you have made (see: param_commitsession).

If you have started the check without first opening a parameter session, and the check finds an error, then the system adapts the changed parameter values to the valid rules and enters these in the parameter file. Changes do not take effect until the database instance is restarted.

Prerequisites

You have the server authorization ParamCheckWrite.

Syntax

param_checkall

Successful Reply

OK

Unsuccessful Reply (with Parameter Session)

ERR

-24986,ERR_XPCHECK: param check failure/request

<parameter_name> <check_status>

<user_value>

<computed_value>

Values for the Reply Fields

Field | Description
<parameter_name> | Name of database parameter
<check_status> | Check results; the following values are possible: mandatory | constraint Mandatory: An obligatory database parameter has been assigned an empty value. constraint: a condition defined in the default parameter file was not fulfilled.
<user_value> | Value defined by the user for the database parameter
<computed_value> | Default value calculated by the system


param_commitsession (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_commitsession

Use

You use this DBM command to confirm changes that you have made to database parameters and enter them in the database parameter file. Only execute this DBM command if you have successfully executed the DBM command for checking all database parameters.

You can enter an option to define if you would like the parameter session to remain open or to be closed once the changes have been confirmed.

The changed values in the parameter file are only effective after a restart of the database instance.

Prerequisites

· You have changed parameter values in a parameter session.

· The check of the parameters you changed was successful (see: param_checkall).

· You have the server authorization ParamCheckWrite.

Syntax

param_commitsession [NOCLOSE]

NOCLOSE

The parameter session remains open once the database parameters have been saved.

Successful Reply

OK

Error message

ERR
14,ERR_XPCHECK_CN00 : param check failure/request
<parameter_name> <check_status>
<user_value>
<computed_value>

Values for the Reply Fields

Value | Description
<parameter_name> | Name of database parameter
<check_status> | Check results; the following values are possible: mandatory | constraint mandatory: An obligatory database parameter has been assigned an empty value. constraint: a condition defined in the default parameter file was not fulfilled.
<user_value> | Value defined by the user for the database parameter
<computed_value> | Default value calculated by the system


param_copy (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_copy

Use

You copy the parameter file of an existing database instance and use this copy as the initial configuration for a database instance. All changes made to the database parameter file up to this point are overwritten by the copy.

The exceptions to this are the parameters RUNDIRECTORY and KERNELVERSION, and all volume parameters, since these have properties that prevent them from being copied. These parameters retain the values from the default parameter file.

Prerequisites

· You have opened a parameter session (see: param_startsession).

· You have the server authorization InstallMgm.

Syntax

param_copy <source_database>

<source_database>

The name of the database instance whose parameter file you want to copy

Reply

OK

In the event of errors, see Reply Format


param_delvolume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_delvolume

Use

You delete the parameter for the specified volume from the database parameter file. This DBM command only deletes the parameters for the volume.

Use this command with care. Inconsistencies in the volume settings can damage the database instance.

Use the DBM command db_deletevolume to physically delete data volumes and then re-release the resources.

Prerequisites

You have the server authorization ParamCheckWrite.

Syntax

param_delvolume <vol_no> <vol_mode>

Options

Option | Description
<vol_no> | Number of the volume
<vol_mode> | Type of volume; possible values are: DATA | LOG | MLOG DATA: Data volume LOG: Log volume MLOG: mirrored log volume

Reply

OK

In the event of errors, see Reply Format


param_directdel (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_directdel

Use

You can delete the parameter specified from the database parameter file.

The changed values are transferred to the parameter file and are effective after the next restartof the database instance.

Be very careful when using this DBM command, as it accesses the database instance parameter file directly. The system does check that the changes made are in accordance with the rules and overwrites invalid values when the database instance is next restarted with the values from the default parameter file. However, this does not happen for the parameters RUNDIRECTORY and KERNELVERSION, or for any volume parameters. If you delete these parameters, this can lead to severe inconsistencies during database operation.

Prerequisites

You have the server authorization ParamFull.

Syntax

param_directdel <parameter_name> [<comment>]

Options

Option | Description
<parameter_name> | Name of database parameter
<comment> | Comment saved for the database parameter If the comment line contains spaces, you need to put the line in double quotation marks

Reply

OK

In the event of errors, see Reply Format


param_directget (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_directget

Use

You display the value of the database parameter specified.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_directget <parameter_name>

Reply

OK

<parameter_name> <value>

Values for the Reply Fields

Value | Description
<parameter_name> | Name of database parameter
<value> | Value of database parameter

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the value of the parameter RUNDIRECTORY (working directory of the database instance):

>dbmcli – u OLEG,MONDAY –d DEMODB param_directget RUNDIRECTORY

OK

RUNDIRECTORY c:\documents and settings\all users\application data\sdb\data\wrk\DEMODB


param_directgetall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_directgetall

Use

You display all database parameters of the current database instance with their values.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_directgetall

Reply

OK

<parameter_name> <value>

<parameter_name> <value>

...

In the event of errors, see Reply Format


param_directgetallnext (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_directgetallnext

Use

You display the remaining content of the current database parameter file. One parameter with name and value is displayed per line.

Prerequisites

· You have executed the DBM command for displaying all the parameters in the current database parameter file (see: param_directgetall). Since the size of the reply memory is limited, not all of the values are displayed.

· You have the server authorization ParamRead.

Syntax

param_directgetallnext

Reply

OK

<parameter_name> <value>

<parameter_name> <value>

...

Values for the Reply Fields

Value | Description
<parameter_name> | Name of the parameter
<value> | Parameter Value

In the event of errors, see Reply Format


param_directput (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_directput

Use

You use this DBM command to change the parameters of the database instance.

Unlike the DBM command for changing the value of a database parameter (see: param_put), the value for the specified parameter is entered in the database parameter file directly. An entry is only made if the parameter is contained in the default parameter file.

Be very careful when using this DBM command, as it accesses the database instance parameter file directly. The system does check that the changes made are in accordance with the rules and overwrites invalid values when the database instance is next restarted with the values from the default parameter file. However, this does not happen for the parameters RUNDIRECTORY and KERNELVERSION, or for any volume parameters. If you change these parameters, this can lead to severe inconsistencies during database operation.

Prerequisites

You have the server authorization ParamFull.

Syntax

param_directput <parameter_name> <value> [<comment>]

Options

Option | Description
<parameter_name> | Name of database parameter
<value> | Value of database parameter
<comment> | Comment to be saved for the database parameter If the comment line contains spaces, you need to put the line in double quotation marks

Reply

OK

In the event of errors, see Reply Format


param_extget (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_extget

Use

You display the name, data type, and current value of the database parameter specified.

The system searches in the parameter file for the current database instance. If the parameter is not in the parameter file, the value from the default parameter file is displayed.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_extget <parameter_name>

<parameter_name>

Name of the parameter

Reply

OK

<parameter_name> <type> <value>

Values for the Reply Fields

Value | Description
<parameter_name> | Name of database parameter
<type> | Data type of the database parameter
<value> | Current value This is the value that is copied from the parameter file at the start of the session. If the parameter is not in the parameter file, the default value from the default parameter file is displayed.

In the event of errors, see Reply Format


param_extgetall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_extgetall

Use

You display the data for all database parameters from the database parameter file and the default parameter file.

The display contains the name of each database parameter, its data type, and its current value. This is the value that is copied from the parameter file at the start of the session. If the parameter is not in the parameter file, the value from the default parameter file is displayed.

By specifying properties, you can limit what is displayed.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_extgetall [<property_list>]

<property_list>:: = <property_definition> <property_definition> ...

<property_definition>:: = <property>=<value> | <property>=<value,value,...>

Options

Option | Description
<property> | Property of the parameter, must be specified in uppercase. If you enter several properties, then only those parameters that correspond to all the criteria are output (AND operator). Each property can only be specified once. If the same property is entered more than once, the value of the last entry is used for the search.
<value> | Value of the property, must be specified in uppercase. You can enter one or more values for each property (OR operator). These are separated by commas. See also: Concepts of the Database System, Properties of Database Parameters

Reply

OK

<parameter_name> <type> <value>

<parameter_name> <type> <value>

...

Values for the Reply Fields

Value | Description
<parameter_name> | Name of the parameter
<type> | Data type of the parameter
<value> | Parameter Value

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODBdatabase instance, displaying all the parameters that cannot be changed and are assigned to the General – General Database Parameters group

>dbmcli –u OLEG,MONDAY –d DEMODB param_extgetall CHANGE=NO GROUP=GENERAL

OK

KERNELVERSION string KERNEL 7.6.00 BUILD 009-103-092-650

INSTANCE_TYPE string OLTP


param_extgetallnext (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_extgetallnext

Use

You display the further parameter data from the database parameter file and the default parameter file.

The display contains the name of each database parameter, its data type, and its current value. This is the value that is copied from the parameter file at the start of the session. If the parameter is not in the parameter file, the value from the default parameter file is displayed.

To display further output from the executed DBM command param_extgetall, you need to again restrict the display using the same properties and values. However, if you define different properties, or none at all, then the display from the first line will follow the new definition.

Prerequisites

· You have executed the DBM command for displaying data on all parameters in the database parameter file and the default parameter file (see: param_extgetall). Since the size of the reply memory is limited, not all of the results are displayed.

· You have the server authorization ParamRead.

Syntax

param_extgetall [<property_list>]

<property_list>:: = <property_definition> <property_definition> ...

<property_definition>:: = <property>=<value> | <property>=<value,value,...>

Options

Option | Description
<property> | Property of the parameter, must be specified in uppercase. If you enter several properties, then only those parameters that correspond to all the criteria are output (AND operator). Each property can only be specified once. If the same property is entered more than once, the value of the last entry is used for the search.
<value> | Value of the property, must be specified in uppercase. You can enter one or more values for each property (OR operator). These are separated by commas. See also: Concepts of the Database System, Properties of Database Parameters

Reply

OK

<parameter_name> <data_type> <value>

<parameter_name> <data_type> <value>

...

Values for the Reply Fields

Value | Description
<parameter_name> | Name of the parameter
<data_type> | Data type of the parameter
<value> | Parameter Value

In the event of errors, see Reply Format


param_getdefault (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getdefault

Use

You display the system default value for the database parameter specified.

The system outputs an OK message and a line showing the system default value. If no default value exists for the database parameter, the line is empty.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_getdefault <parameter_name>

<parameter_name>

Name of the parameter

Reply

OK

<default>

<default>

System default value

In the event of errors, see Reply Format


param_getexplain (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getexplain

Use

You display the stored explanatory text for the database parameter.

The system outputs an OK message followed by the explanatory text. The line is empty, if no explanatory text is stored.

Prerequisites

You have the server authorization ParamRead .

Syntax

param_getexplain <parameter_name>

<parameter_name>

Name of the parameter

Reply

OK

<explanation_line>

<explanation_line>

...

<explanation_line>

Explanatory text

In the event of errors, see Reply Format


param_getfull (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getfull

Use

You display all the data stored for the database parameter specified.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_getfull <parameter_name>

<parameter_name>

Name of database parameter

Reply

OK

<type>

<default> <value>

<property> <value>

<property> <value>

...
HELP
<help_line>

<help_line>

...
EXPLAIN
<explain_line>

<explain_line>

...

Values for the Reply Fields

Field | Description
<type> | Data type of the parameter
<default> | System default value
<value> | Current value, taken from the parameter file at the start of the session
<property> | Property of the parameter See also: Concepts of the Database System, Properties of Database Parameters
<help_line> | Help text
<explain_line> | Explanatory text

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying all data for the database parameter RUNDIRECTORY:

>dbmcli -u OLEG,MONDAY -d DEMODB param_getfull RUNDIRECTORY

OK

string

c:\documents and settings\all users\application data\sdb\data\wrk\DEMODB

CHANGE OFFLINE

INTERN NO

MANDATORY YES

CLEAR YES

DYNAMIC NO

CASESENSITIVE YES

DEVSPACE NO

MODIFY YES

GROUP GENERAL

DISPLAYNAME

VALUESET

MAX

MIN

INSTANCES

SYSDBAONLY YES

CLASS GENERAL

LASTKNOWNGOOD c:\documents and settings\all users\application data\sdb\data\wrk\DEMODB

ACTIVEVALUE c:\documents and settings\all users\application data\sdb\data\wrk\DEMODB

HELP

Path where context and diagnosis information is stored

EXPLAIN

Path where context and diagnosis information is stored

for this database instance.

(char(256))


param_gethelp (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_gethelp

Use

You display the stored help text for the database parameter specified.

The system outputs an OK message followed by the line with the stored help text. The line is empty, if no help text is available.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_gethelp <parameter_name>

<parameter_name>

Name of database parameter

Reply

OK

<help_line>

<help_line>

...

In the event of errors, see Reply Format


param_gethistory (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_gethistory

Use

You open the database parameter history and transfer the first block of the contents. The entries are displayed in reverse chronological sequence, that is, starting with the most recent and ending with the oldest.

You can limit the parameters displayed by specifying options. If you enter several selection criteria, then only the data for those parameters that correspond to all the criteria are displayed. You can also define which data should be displayed for the parameters selected.

Each parameter is displayed on a separate line with the details on all fields defined.

If the parameter history entries have been incompletely transferred, you can call up the rest of the contents using the command for scrolling through the database parameter history (see: param_gethistorynext).

Prerequisites

You have the server authorization ParamRead.

Syntax

param_gethistory [NAME=<parameter_name>]
[DATE=<yyyymmdd>] [GROUP=<group_list>] [STATE=<status_list>]
[FIELDS=<field_list>]

<group_list>:: = <parameter_group>,<parameter_group>,...

<status_list>:: = <status>,<status>...

<field_list>:: = <field>,<field>,...

<field>:: = DATE | TIME | NAME | OLDVALUE | NEWVALUE | STATE | GROUP | COMMENT

Options

Option | Description
<parameter_name> | Name of database parameter If you do not specify a parameter name, the entries for all parameters in the history are displayed.
<yyyymmdd> | Date format (year, month, day) Only parameter changes since this date are displayed. If you do not specify a date, all entries in the history are displayed.
<parameter_group> | Parameter group Changes to database parameters that belong to this group are displayed. Possible values are: General: General Database Parameters EXTENDED: Special Database Parameters SUPPORT: Support Database Parameters If you do not specify a parameter group, then the parameter changes for all groups will be output. See also: Concepts of the Database System, Database Parameters
<status> | Database parameter status Possible values are: a | c | c a: active database parameters c: changed database parameters d: deleted database parameters if you do not specify a state, then all parameter changes will be output.
<field> | Name of the field in the parameter history to be displayed You can display the following fields: DATE Date when parameter was changed TIME Time when parameter was changed NAME Name of the parameter NEWVALUE New value of parameter OLDVALUE Old value of parameter STATE The change status of the parameter GROUP Group that the parameter is assigned to COMMENT Comment that you can enter when changing a parameter or that is created by the system If you do not specify a field, then all fields will be displayed.
<hhmmss> | Time format: (hours minutes seconds) Only parameter changes since this time are displayed. If you do not specify a time, all entries in the history are displayed.

Reply

OK

<header_line>

<param_line>

<param_line>

...

Values for the Reply Fields

Value | Description
<header_line> | contains the names of the fields displayed S stands for STATUS of the database parameter
<param_line> | contains the values for the fields displayed in the <header_line>, the values are in the same column position as the field name in the <header_line> Possible statuses are: a: active database parameter c: changed database parameter d: deleted database parameter

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB (session mode):

>dbmcli –u OLEG,MONDAY –d DEMODB

dbmcli on DEMODB>

· Displaying the parameter history for the parameter MAXDATAVOLUMES:

>param_gethistory NAME=MAXDATAVOLUMES

OK

DATE TIME NAME NEWVALUE

OLDVALUE S GROUP

20050503 00134126 MAXDATAVOLUMES 32

64 A GENERAL

20050317 00141019 MAXDATAVOLUMES 64

1 C GENERAL

20050317 00141013 MAXDATAVOLUMES 1

C GENERAL

· Displaying all changes to the database parameter MAXUSERTASKS with date, time and status:

param_gethistory NAME=MAXUSERTASK FIELDS=DATE,TIME,STATE

OK

DATE TIME S

20050503 00105843 A

20050317 00141019 C

20050317 00141013 C


param_gethistorynext (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_gethistorynext

Use

The system displays the remaining content of the database parameter history.

If you have set selection criteria in the options on opening the database parameter history, then these also apply while you are scrolling through the parameter history.

Prerequisites

· You have opened the database parameter history (see: param_gethistory).

· You have the server authorization ParamRead.

Syntax

param_gethistorynext

Reply

OK

<header_line>

<param_line>

<param_line>

...

If you receive a reply of only:

OK

<header_line>

then all specified entries have already been displayed.

Values for the Reply Fields

Value | Description
<header_line> | contains the names of the fields displayed S stands for STATE and describes the change state of the database parameter
<param_line> | contains the values for the fields displayed in the <header_line>, the values are in the same column position as the field name in the <header_line> Possible statuses are: a: active database parameter c: changed database parameter d: deleted database parameter


param_getproperties (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getproperties

Use

You display all properties for the database parameter specified with their values.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_getproperties <parameter_name>

<parameter_name>

Name of database parameter

Reply

OK

<property> <value>

<property> <value>

...

Values for the Reply Fields

Value | Description
<property> | Database parameter property See also: Concepts of the Database System, Properties of Database Parameters
<value> | Value of the property

In the event of errors, see Reply Format


param_gettype (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_gettype

Use

You display the data type of the parameter specified.

The system displays an OK message followed by the data type of the parameter specified.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_gettype <parameter_name>

<parameter_name>

Name of database parameter

Reply

OK

<type>

<type>

Data type of the database parameter,

The following values are possible:

int2 | int4 | c8 | c18 | c24 | c40 | c64

In the event of errors, see Reply Format


param_getvalue (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getvalue

Use

You display the current value of the database parameter specified.

The system outputs an OK message and the value of the parameter as saved in the database parameter file the last time the database instance was started.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_getvalue <parameter_name>

<parameter_name>

Name of database parameter

Reply

OK

<value>

In the event of errors, see Reply Format


param_getvolsall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getvolsall

Use

You display the data for the volumes of a database instance.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_getvolsall [<vol_mode>]

<vol_mode>

Mode of the volume,

possible values are: DATA | LOG | MLOG

DATA: Data volume

LOG: Log volume

MLOG: Mirrored log volume

Reply

All the data for the selected volume mode is displayed.

OK

<parameter_name> <value>

<parameter_name> <value>

...

<vol_name> <vol_size> <vol_type> <file_name>

<vol_name> <vol_size> <vol_type> <file_name>

...

Values for the Reply Fields

Value | Description
<parameter_name> | Name of the database parameters relevant for the volume mode specified
<value> | Parameter Value
<vol_name> | Name of the volume
<vol_size> | Size of the volume
<vol_type> | Type of volume (such as file, raw device)
<file_name> | Name of device/file of the volume

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the data for all volumes of the type DATA

>dbmcli –u OLEG,MONDAY –d DEMODB param_getvolsall DATA

OK

MAXDATAVOLUMES 64

DATA_VOLUME_NAME_0001 32768 F C:\Documents and Settings\All Users\Application Data\sdb\data\DEMODB\data\DISKD0001

DATA_VOLUME_NAME_0002 32768 F C:\Documents and Settings\All Users\Application Data\sdb\data\DEMODB\data\DISKD0002

...


param_getvolume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_getvolume

Use

You display the data of an individual volume for the current database instance.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_getvolume <vol_no> <vol_mode>

Options

Option | Description
<vol_no> | Number of the volume
<vol_mode> | Mode of the volume, possible values are: DATA | LOG | MLOG DATA: Data volume LOG: Log volume MLOG: Mirrored log volume

Reply

OK

<file_name>

<vol_type>

<vol_size>

Values for the Reply Fields

Value | Description
<file_name> | Name of device/file
<vol_type> | Type of volume (such as file, raw device)
<vol_size> | Size of the volume

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the data for volume number 0001 of type DATA:

>dbmcli –u OLEG,MONDAY –d DEMODB param_getvolume 0001 DATA

OK

C:\Documents and Settings\All Users\Application Data\sdb\data\DEMODB\data\DISKD0001

F

32768


param_init (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_init

Use

You initialize all database parameters required to create a new database instance. This procedure uses the name of the database instance from the session with the Database Manager. No database parameter file can yet exist for this database instance.

First all database parameters are filled with their values from the default parameter file.

The initialization is performed only within the Database Manager program. To save the parameters in the database parameter file, you then need to check all parameters (see: param_checkall) and confirm them (see: param_commitsession).

Prerequisites

· You have opened a parameter session (see: param_startsession).

· You have the server authorization InstallMgm.

Syntax

param_init [<database_type>]

<database_type>

Database type, possible values are: OLTP | LVC

OLTP: MaxDB database instance

LVC: liveCache database instance

The system default is OLTP.

Reply

OK

In the event of errors, see Reply Format


param_put (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_put

Use

You can change database parameter values. If you execute this DBM command, the system implicitly opens a parameter session. The parameter value is changed and checked against the properties, calculation formulas and conditions stored in the default parameter file. The change to the parameter value is then confirmed and entered into the parameter file.

The system rejects the change to the parameter if the entered value or the change is impermissible due to the parameter properties.

You can define whether the changes should be valid only for the current database session, only for all later database sessions, or for both the current and all later database sessions. You can only changes parameter values for the current database session if the database parameter has the property CHANGE=RUNNING.

If you want to change the values for several parameters, then it is best to first open a parameter session (see: param_startsession), then assign the new value to each parameter (param_put), have all new parameter values checked simultaneously (see: param_checkall), and then confirm all changes to the parameter file (see: param_commitsession).

See also:

param_getproperties(displays all properties for a database parameter)

Concepts of the Database System, Properties of Database Parameters

Prerequisites

You have the server authorization ParamCheckWrite.

Syntax

param_put [<durability>] <parameter_name> <new_value> [<comment>]

<durability>::= [-running] [-permanent]

Options

Option

Description

<durability>

Durability of change, possible values are:

-running: the change only lasts until the database instance is next put in the operational state OFFLINE, in other words, until the database is next restarted or transferred to the operational state ADMIN. Afterwards the parameter reverts to ist original value.

-permanent: the change is only made in the database parameter file. It is not effective immediately, only on restart of the database instance.

-running –permanent: the change is effective immediately and persists even after a restart.

The system default is -permanent.

<parameter_name>

Name of database parameter

<new_value>

New Parameter Value

<comment>

Comment saved for the database parameter

If the comment line contains spaces, you need to put the line in double quotation marks

Reply

OK

In the event of errors, see Reply Format


param_restore (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_restore

Use

You reset the database parameter file to a specified earlier version of this file. When the database instance is restarted next, this version will be used as the database parameter file.

You can find the name of the file required using the DBM command param_versions.

Prerequisites

You have the server authorization ParamCheckWrite.

Syntax

param_restore <file_name>

<file_name>

Name of the parameter file to which the current database parameter file is to be reset (see: param_versions)

Reply

OK

In the event of errors, see Reply Format


param_rmfile (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_rmfile

Use

You delete the database parameter file.

You can use the DBM command param_restore to restore the version of the parameter file that was valid before it was deleted.

Use this command with care.

Prerequisites

You have the server authorization InstallMgm.

Syntax

param_rmfile

Reply

OK

In the event of errors, see Reply Format


param_startsession (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_startsession

Use

You open a parameter session to check or change the parameters of a database instance.

The Database Manager program imports the default parameter file and the database parameter file and stores the contents in internal data structures. All access operations to this internal data take place within a parameter session.

Prerequisites

You have the server authorization ParamRead .

Syntax

param_startsession

Reply

OK

In the event of errors, see Reply Format


param_versions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation param_versions

Use

You display a list of all the available versions of the database parameter file.

Prerequisites

You have the server authorization ParamRead.

Syntax

param_versions

Reply

OK

<file_name>

<file_name>

...

<file_name>

Name of the version of the database parameter file

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying all versions of the database parameter file:

>dbmcli -u OLEG,MONDAY -d DEMODB param_versions

OK

c:\documents and settings\all users\application data\sdb\data\config\DEMODB

c:\documents and settings\all users\application data\sdb\data\config\DEMODB.01

c:\documents and settings\all users\application data\sdb\data\config\DEMODB.02

c:\documents and settings\all users\application data\sdb\data\config\DEMODB.03


recover_cancel (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_cancel

Use

You definitively terminate an interrupted recovery of or check of a backup.

In the reply to this DBM command only the Returncode field is assigned a value.

See also:

Documentation, Messages

Prerequisites

· You must have the server authorization Backup.

· You have executed the DBM command for recovering the database instance (see: recover_start) or for checking a backup (see: recover_check). The operation was interrupted. You are still in the same database session.

Syntax

recover_cancel

Reply

OK
Returncode <value>

In the event of errors, see Reply Format


recover_cancel_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_cancel_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


recover_check (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_check

Use

You check that whether a particular backup is consistent and complete.

This DBM command is executed irrespective of the functions running on the database. However, it might cause a temporary loss of performance in the database instance.

The backup specified is just checked, not restored.

Prerequisites

· You have the server authorization Backup.

· You must have opened a service session (see: service_connect).

Syntax

recover_check <medium_name> <type> [EBID <ebid_list>] [<nnn>] [UNTIL <date> <time>]

<ebid_list> :: = <external_backup_ID> | <external_backup_ID>,<external_backup_ID>,...

Options

Option | Description
<medium_name> | Name of backup medium
<type> | Type of backup. Possible values are: DATA: complete data backup PAGES: incremental data backup LOG: log backup
<nnn> | Only for log backup: version of the backup on the backup medium; only relevant for a medium of the FILE type
UNTIL <date> <time> <date> ::= <yyyymmdd> <time> ::= <hhmmss> | Only for log backup: exact time (year, month, day, hour, minutes, seconds) up to which it is to be checked
<ebid_list> | List of external backup IDs If the list contains several backup IDs, then these are to be separated by commas. If backup IDs contain spaces, the list must be enclosed in double quotation marks.
<external_backup_ID> | Only for checking a backup that was created with a backup tool of another provider: name under which the backup is known to the external backup tool.

Successful Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

Reply in the Event of an Error

ERR

<err_code>, <err_description>

[<extended_description>

Values for the Reply Fields

Value | Description
<err_code> | Error message number See also: Documentation, Messages
<err_description> | Description of the error
<extended_description> | Cause of error

The following errors may occur:

<err_code> | <err_description> | Explanation
-24927 | ERR_TOOLCHK: the external backup tool was not found | The backup tool could not be found or has been installed incorrectly.
-24926 | ERR_MEDIUMCHK: the medium cannot be used with an external backup tool | The specified backup medium cannot be used with a backup tool.
-24925 | ERR_PREPARE: prepare of the backup operation failed | The preparations required to use the backup tool could not be completed correctly.
-24924 | ERR_DBREQ: cannot start database kernel request | The database instance was unable to start the check.
-24923 | ERR_TOOLREQ: cannot start external backup tool correctly | The backup tool could not be started correctly.
-24922 | ERR_OPCHK: cannot check state of backup operation | Unable to check the status of the database instance or the backup tool.
-24921 | ERR_POSTOP: cannot finish backup operation correctly | Although the backup was successful, the post-processing steps required could not be performed.
-24920 | ERR_BACKUPOP: backup operation was unsuccessful | The check failed due to a problem in the database or the backup tool.
-24919 | ERR_CLEANUP: cannot clean up correctly after backup operation | Although the check was successful, the system resources used during the check could not be released again.


recover_check_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_check_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


recover_config (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_config

Use

You import the parameter file contained in a data backup.

The parameter file is stored in the <dependent_path>under the name of the current database instance.

Prerequisites

  • You have the server authorization Recovery.
  • You have opened a service session (see: service session).
  • You have executed the DBM command for recovering the database instance (see: recover_start).

Syntax

recover_config <medium_name>

<medium_name>

Name of backup medium

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text See also: Documentation, Messages
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


recover_ignore (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_ignore

Use

You continue importing the data from the other media. The reply to this DBM command gives you information about the import of the backup.

In particular, the Returncode reply field is to be evaluated. However, you get the reply only if the backup has been imported completely, or if the backup was interrupted. This command may therefore take a long time to execute.

If after executing this DBM command it turns out that the recovery was interrupted again (message number -8020) the appropriate succeeding medium has to be inserted (see: recover_replace) or the session has to be continued again with this DBM command.

Prerequisites

· You must have the server authorization Backup.

· You have started recovering a database instance by importing data from several media simultaneously (see: recover_start). The procedure was interrupted because at least one backup medium no longer has a succeeding backup medium. You are still in the same database session.

Syntax

recover_ignore

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text See also: Documentation, Messages
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


recover_ignore_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_ignore_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


recover_replace (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_replace

Use

You specify the succeeding medium with which importing the backup should continue.

The reply to this DBM command gives you information about the import of the backup. In particular, the Returncode reply field is to be evaluated. However, you get the reply only if the backup has been imported completely, or if the backup was interrupted. This command may therefore take a long time to execute.

If, after executing this DBM command the recovery is interrupted again (message number -8020), you use this DBM command to enter the next succeeding medium.

If you import a backup that was generated on a group of parallel backup media and receive this message, repeat this DBM command until there is no succeeding medium to be imported anymore. As long as there are still individual media of the group in the recovery process and you get message -8020 close it with DBM command recover_ignore until the import of all backup media is complete.

Prerequisites

· You must have the server authorization Backup.

· You have executed the DBM command for recovering the database instance (see: recover_start). The operation was interrupted because the data stored on the backup medium was imported completely. You are still in the same database session.

Syntax

recover_replace <medium_name> [ExternalBackupID <ext_backup_ID>] [<loc> [<nnn>]]

Options

Option | Description
<medium_name> | Medium from which the backup is to be imported. When recovering a backup made on several media at the same time, you must enter the name of the group of parallel backup media here.
ExternalBackupID <external_backup_ID> | Only for recovering a backup that was created with a backup tool: name under which the backup is known to the backup tool.
<loc> | Name of the device/the file in which the backup to be recovered is stored. Operating system functions must be able to address the device/file using <loc>.
<nnn> | Only for log backup to be imported and only for backup media of the FILE version number of the log backup on the backup media that is to be imported:

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text See also: Documentation, Messages
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


recover_replace_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_replace_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


recover_req (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_req

Use

This Database Manager command is only used by DBM client programs.

It is not documented at present.


recover_start (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_start

Use

You import backups of the database instance and recover the database status that they contain. To do so, you first import a complete data backup, followed by the related log backups.

If the log volumes of the database instance are available and undamaged and still contain the log from the time of the complete data backup, it suffices to start the database instance after importing the complete data backup. The system then imports the content of the log volume. If the log volumes can no longer be used, you have to recover the corresponding log backups after the data backups.

You can use an option to specify to which point in time the data of the log volume or the log backup is to be imported.

If you used another provider’s backup tool to make these backups, use that tool to recover the database instance. To do so, determine the backup ID of the requested backup first (see: backup_ext_ids_get and backup_ext_ids_list). The Database Manager uses this ID to identify the backup that is to be recovered.

During the recovery using this backup tool, the number of media in a group of parallel backup media must correspond to the number of media used to create the backup. In this case it is not possible to start with a lesser number of media and then continue importing the backup with the remaining media.

The reply to this DBM command gives you information about the import of the backup. However, this information is only displayed when the backup has been imported completely, or if the backup was interrupted. This command may therefore take a long time to execute.

If the automatic log backup was activated before the recovery was started, it is not reactivated automatically after the recovery. To reactivate the log backup function, execute DBM command autolog_on.

You do not need to reload system tables when recovering a database instance.

If a deadlock occurs during the parallel recovery of the database instance with a backup tool, you have to import the backup media of the media group one after the other in the correct order by means of the Database Manager.

Prerequisites

· You have the server authorization Recovery.

· You have opened a database session (see: db_connect).

If you want to recover the database instances using another provider’s backup tool, the following prerequisites must also be met:

· You have configured the MaxDB software installation for the backup tool you want to use (see: Installation Manual, Integration Using Backup Tools from Other Providers).

· If you are using NetWorker, you need the exact name of the respective backup pipe for the recovery. Hence, the media group must be configured in exactly the same way it was when you backed up the data. The backup media of the media group have to be imported in the same order.

Syntax

recover_start <medium_name> <backup_type> [LABEL <label>] [EBID <ebid_list>] [<nnn>] [UNTIL <date> <time>] [AUTOIGNORE]

<ebid_list> :: = <external_backup_ID> | <external_backup_ID>,<external_backup_ID>,...

Options

Option

Description

<medium_name>

Medium from which the backup is to be imported.

When recovering a backup made on several media at the same time, you must enter the name of the group of parallel backup media here.

<backup_type>

Type of backup to be imported. Possible values are:

DATA: complete data backup

PAGES: incremental data backup

LOG: log backup

LABEL <label>

Backup ID of the backup medium to be imported

<ebid_list>

List of external backup IDs

If the list contains several backup IDs, then these are to be separated by commas.

If backup IDs contain spaces, the list must be enclosed in double quotation marks.

<external_backup_ID>

Only for recovering a backup that was created with a backup tool: name under which the backup is known to the backup tool.

<nnn>

Only for log backup to be imported and only for backup media of the FILE type:

Version number of the log backup on the backup medium to be imported

UNTIL <date> <time>
<date> ::= <yyyymmdd>
<time> ::= <hhmmss>

Exact time (year, month, day, hour, minutes, seconds) up to which you want to recover

AUTOIGNORE

If you are recovering data in parallel, the process is automatically continued by the system.

Successful Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

Reply in the Event of an Error

ERR

<err_code>, <err_description>

[<extended_description>]

Values for the Reply Fields

Value | Description
<err_code> | Error message number See also: Documentation, Messages
<err_description> | Description of the error
<extended_description> | Cause of error

The following errors may occur:

Error message number | Error message text | Explanation
-24927 | ERR_TOOLCHK: the external backup tool was not found | The external backup tool could not be found or has been installed incorrectly.
-24926 | ERR_MEDIUMCHK: the medium cannot be used with an external backup tool | The specified backup medium cannot be used with the backup tool referred to by the medium name.
-24925 | ERR_PREPARE: prepare of the backup operation failed | The preparations required to use the backup tool could not be completed correctly.
-24924 | ERR_DBREQ: cannot start database kernel request | The database instance was unable to start the restore/recovery operation.
-24923 | ERR_TOOLREQ: cannot start external backup tool correctly | The backup tool could not be started correctly.
-24922 | ERR_OPCHK: cannot check state of backup operation | Unable to check the status of database instance or backup tool.
-24921 | ERR_POSTOP: cannot finish backup operation correctly | Although the recovery was successful, the post-processing steps required could not be performed.
-24920 | ERR_BACKUPOP: backup operation was unsuccessful | The recovery failed due to a problem with the database of the backup tool.
-24919 | ERR_CLEANUP: cannot clean up correctly after backup operation | Although the recovery was successful, the system resources used during the check could not be freed up again.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to database instance DEMODB, recovering the database instance from the backup created with Networker on the backup medium NSRPages (complete data backup type with the external backup ID 9025):

>dbmcli –u OLEG,MONDAY –uDBS –d DEMODB recover_start NSRPages DATA ExternalBackupID 9025


recover_state (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_state

Use

You display information about the current status of the recovery of the database instance.

You can execute this DBM command while a backup of a database instance is being recovered.

Prerequisites

· You have the server authorization Recovery.

· You have executed the DBM command for recovering the database instance (see: recover_start).

Syntax

recover_state

Answer

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Pnsisten [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text See also: Documentation, Messages
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be imported For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages backed up
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


recover_state_check (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_state_check

Use

You display information about the current status of a backup (see recover_check).

You can execute this DBM command while a backup is being checked.

Prerequisites

· You must have the server authorization Backup.

· You must have opened a service session (see: service_connect).

Syntax

recover_state_check

Reply

OK

Returncode <value>

Date [<value>]

Time [<value>]

Server [<value>]

Database [<value>]

Kernel Version [<value>]

Pages Transferred [<value>]

Pages Left [<value>]

Volume Count [<value>]

Mediumname [<value>]

Location [<value>]

Errortext [<value>]

Label [<value>]

Is Consistent [<value>]

First LOG Page [<value>]

Last LOG Page [<value>]

DB Stamp 1 Date [<value>]

DB Stamp 1 Time [<value>]

DB Stamp 2 Date [<value>]

DB Stamp 2 Time [<value>]

Page Count [<value>]

Devices Used [<value>]

Database ID [<value>]

Max Used Data Page [<value>]

Values for the Reply Fields

Value | Description
Date | Date
Time | Time
Server | Name of database computer
Database | Name of database instance
Kernel Version | Version of database software
Pages Transferred | Number of pages transferred
Pages Left | Number of pages still to be transferred
Volumes | Number of backup media used
Medianame | Name of backup medium
Location | File or device name
Errortext | Error message text See also: Documentation, Messages
Label | Backup ID
Is Consistent | For data backup only: backup is internally consistent
First LOG Page | For data backup: first page of log backup to be read For log backup: first page saved in log
Last LOG Page | For log backup only: last page saved in log
DB Stamp 1 Date DB Stamp 1 Time | Time stamp for first page of log backup
DB Stamp 2 Date DB Stamp 2 Time | Time stamp for last page of log backup
Page Count | Total number of pages saved
Devices Used | Number of backup devices used
Database ID | Database ID used to identify data and log backups that belong together
Max Used Data Page | Maximum number of pages used (indication of minimum database size when backup is imported)

In the event of errors, see Reply Format


recover_volume (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation recover_volume

Use

With this DBM command, you return a damaged volume of a volume pair to operation.

If you are running the log volumes of a database instance in mirrored form, and a single log volume fails while the database is running, then there are functions available that enable you to recover the failed volume.

Entries that were written to the intact volume while the damaged volume was out of action are not copied.

Note that the mirrored log volume is only secure once the recovered volume is operating again. You should therefore backup the log entries that only occur once with the help of a log backup (see: backup_start).

Prerequisites

· You have the server authorization Recovery.

· You are operating the database instance with mirrored log volumes. (LOG_MODE: DUAL).

· You have opened a database session (see: db_connect).

· You have executed the DBM command for recovering the database instance (see recover_start).

Syntax

recover_volume <vol_no> [<vol_mode>]

Options

Option | Description
<vol_no> | Number of the volume
<vol_mode> | Volume mode. Here, LOG is the only possible entry.

Reply

OK

In the event of errors, see Reply Format


scheduler_activate_job (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_activate_job

Use

You activate a Scheduler job.

To activate a job, the operational state of the database instance is irrelevant. Whether the scheduler is enabled or disabled is likewise irrelevant.

The activated job, however, is only actually executed if the Scheduler is activated and if you have the server authorization for executing the DBM command defined in the job.

See also:

Starting the Scheduler

Prerequisites

· The Scheduler job to be activated has been created (see: Creating a Scheduler Job).

· You have the server authorization SchedulerMgm or you are the owner of the job and have the server authorization Scheduling.

Syntax

scheduler_activate_job <job_ID>

<job_ID>

Job ID of the Scheduler job to be activated

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator DBM with password OLEG, connecting to the database instance DEMODB, activating the Scheduler job with the job ID 1

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_activate_job 1

OK


scheduler_create_job (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_create_job

Use

In a Scheduler job, you define which DBM command is to be executed when and how often by the Database Manager in the current database instance.

You can specify when the new job is to be scheduled and how often or after which job. If you do not specify how often the new job is to be scheduled, the job is scheduled daily at the defined time or every time the job defined previously is executed.

The DBM operator who created the job is the owner of the job. The system assigns a sequential number for every job created in each database instance.

To create a job, the operational state of the database instance is irrelevant. Whether the scheduler is enabled or disabled is likewise irrelevant.

The new job, however, is only actually executed if the Scheduler is activated and if you have the server authorization to execute the DBM command defined in the job.

See also:

Starting the Scheduler

Prerequisites

You have the server authorization SchedulerMgm or Scheduling.

Syntax

scheduler_create_job <condition> <dbm_command> [-o | -once]

<condition> :: = <time> | <previous_job_ID>

Options

Option | Description
<dbm_command> | DMB command to be scheduled If this contains spaces, then the entire DBM command has to be entered in double quotation marks.
<time> | Execution time of the command Time format: <hh:mm:ss> (hours:minutes:seconds)
<previous_job_ID> | Job ID of the previous job
-o | -once | Specifies that the DBM command is to be executed once only The job is deleted afterwards.

Reply

OK

<job_ID>

<job_ID>

ID for the Scheduler job; issued by the system

In the event of errors, see Reply Format

Examples

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB.

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>

· Creating a scheduler job to stop the database instance at 6 p.m. this evening:

dbmcli on DEMODB>scheduler_create_job 18:00:00 db_offline -o

OK
0

· Creating a second scheduler job to start the database instance at 6 p.m. this evening:

dbmcli on DEMODB>scheduler_create_job 19:00:00 db_online -o

OK
1

· Creating a third scheduler job to ensure that the operational state of the database instance is always displayed after the database instance start, that is, after job 1:

dbmcli on DEMODB>scheduler_create_job 1 db_state

OK
2

· Creating the fourth job for creating a DBM operator with user name ELENA, password SUNDAY and user attributes like OLEG. This job is to be executed once, today at 6 p.m.

dbmcli on DEMODB>scheduler_create_job 08:00:00 "user_create ELENA,SUNDAY OLEG" -once

OK

3


scheduler_deactivate_job (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_deactivate_job

Use

You deactivate a Scheduler job.

The job then remains in the list of Scheduler jobs but is no longer executed. Scheduler jobs that were defined as successors of a deactivated job are also no longer executed.

To deactivate a job, the operational state of the database instance is irrelevant. Whether the scheduler is enabled or disabled is likewise irrelevant.

Prerequisites

You have the server authorization SchedulerMgm or you are the owner of the job and have the server authorization Scheduling.

Syntax

scheduler_deactivate_job <job_ID>

<job_ID>

Job ID of the Scheduler job to be deactivated

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, deleting the Scheduler job with the job ID 1

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_deactivate_job 1

OK


scheduler_delete_job (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_delete_job

Use

You use this DBM command to delete a Scheduler job. You can delete both active and inactive jobs. Before you do so, however, you must make sure that the job to be deleted does not have any successors. Otherwise, the DBM command is aborted with an error message.

To delete a job, the operational state of the database instance is irrelevant. Whether the scheduler is enabled or disabled is likewise irrelevant.

Prerequisites

· The job to be deleted does not have any successors

· You have the server authorization SchedulerMgm or you are the owner of the job and have the server authorization Scheduling.

Syntax

scheduler_delete_job <job_ID>

<job_ID>

Job ID of the Scheduler job to be deleted

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, deleting the Scheduler job with the job ID 1

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_delete_job 1

OK


scheduler_list_jobs (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_list_jobs

Use

You use this DBM command to display the list of all the Scheduler jobs. For each created job, the job ID, owner, status, time at which the job is to be executed, time at which it was last executed and the DBM command to be executed are displayed.

DBM users with the server authorization SchedulerMgm can see all active and inactive jobs. DBM users with the server authorization Scheduling only see those active and inactive jobs, which they own.

If an error occurred during the execution of a job, the dbm.prt log file provides more information on it. Search for the appropriate entry using the planned time, the job ID and all DBM server PID displayed in the list of all Scheduler jobs.

Prerequisites

You have the server authorization SchedulerMgm or Scheduling.

Syntax

scheduler_list_jobs

Reply

OK

ID <job_ID>

owner: <dbm_user>

status: <job_status>

runs: at: <job_time>|after: <job_id> [(once)]>

last run: <date_run> <time_run>

DBM Server PID <process_ID>

return code <message_number>

dbm_command: <dbm_command>

ID <job_ID>

owner: <dbm_user>

status: <job_status>

runs: at: <job_time>|after: <job_id> [(once)]>

last run: <date_run> <time_run>

DBM Server PID <process_ID>

return code <message_number>

dbm_command: <dbm_command>

...

Values for the Reply Fields

Value | Description
<job_ID> | Job ID
<job_status> | Job status. Possible values are: active: the job is active. inactive: the job is inactive.
<job_time> | Defined time at which the job is to be executed
(once) | Executed once
<date_run> | Day on which the job was last executed
<time_run> | Time at which the job was last executed
<process_ID> | Process ID
<message_number> | Message number See also: Documentation, Messages

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the list of all active and inactive Scheduler jobs:

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_list_jobs

OK

ID 0

owner: OLEG

status: active

runs: at 18:00:00

last run: 2005-05-02 18:00:02

DBM Server PID 2632

return code OK (0)

dbm_command: db_offline

ID 1

owner: OLEG

status: active

runs: at 07:00:00 PM

last run: 2005-05-02 19:00:01

DBM Server PID 1652

return code ERR (-24977)

dbm_command: db_onnnline

ID 2

owner: OLEG

status: active

runs: after 1

dbm_command: db_state


scheduler_start (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_start

Use

You start the Scheduler. You have to start the Scheduler to be able to execute scheduled DBM commands.

Prerequisites

You have the server authorization SchedulerMgm.

Syntax

scheduler_start

Reply

OK

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, and starting the Scheduler for this database instance

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_start

OK


scheduler_state (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_state

Use

You display whether the scheduler function is activated or deactivated.

Prerequisites

You have the server authorization SchedulerMgm or Scheduling.

Syntax

scheduler_state

Reply

OK

<state>

<state>

Scheduler function, possible values are:

ON: The Scheduler is running and active Scheduler jobs are executed.

OFF: The Scheduler is switched off.

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the scheduler function:

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_state

OK

ON


scheduler_stop (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation scheduler_stop

Use

You stop the Scheduler. Once the Scheduler has been stopped, scheduled DBM commands are no longer executed.

After you have stopped the Scheduler, its operational state is OFF.

Prerequisites

You have the server authorization SchedulerMgm.

Syntax

scheduler_stop

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, and stopping the Scheduler for the database instance

>dbmcli -u OLEG,MONDAY -d DEMODB scheduler_stop

OK


service_connect (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation service_connect

Use

You start the service kernel that suits the database software and open a database session.

The service kernel is a specially configured database instance without a dataset of its own. You can use it to perform services for other database instances, such as checking a backup (see:recover_check), or restoring the parameter file from a data backup (see: recover_config).

Prerequisites

· You must have the server authorization Backup.

· You are working in the script or session mode.

Syntax

service_connect

Reply

OK

In the event of errors, see Reply Format


service_release (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation service_release

Use

You end the active service session. All assigned resources are released.

When you close the Database Manager, this DBM command is executed implicitly.

Prerequisites

· You must have the server authorization Backup.

· You have started a service session (see: service_connect).

Syntax

service_release

Reply

OK

In the event of errors, see Reply Format


show (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation show

Use

You display information about the database instance including statistics, the operational state, tasks, and so on. For this purpose, the DBM command show obtains and outputs information from the program XCONS.

See also:

Utilities, Displaying Information on the Database Instance

Prerequisites

You have the DBInfoRead server authorization.

Syntax

show <command>

<command>

XCONS command to be executed

You can use all the XCONS commands that begin with show (see: show_list).

Reply

OK

[CONTINUE]

<info_record>

<info_record>

Values for the Reply Fields

Value | Description
Continue | More results data is available You can display this using the DBM command for scrolling through the information on the database instance (see show_next)
<info_record> | Information

Example

Logging on to the Database Manager CLI as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, displaying the information of statistics on the access to the volumes of the database instance:

>dbmcli –u OLEG,MONDAY –d DEMODB show io

OK

SERVERDB: DEMODB

Volume Devs. Read(s) Write(s) Total

Name No. Count Count Count

knltrace 0 0 1 1

C:\Documents and Set...DEMODB\data\DISKD0001 1 54 59 113

C:\Documents and Set....DEMODB\log\DISKL0001 3 14 14 28

C:\Documents and Set....DEMODB\data\DISKD0003 4 1 9 10

total I/O: 69 83 152


show_list (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation show_list

Use

You display the list of all keywords for information about the database instance.

Following that, you use the corresponding key word to execute the DBM command for displaying the requested information (see: show).

Prerequisites

You have the DBInfoRead server authorization.

Syntax

show_list

Reply

OK

<keyword>

<keyword>

...

<keyword>

Keyword for a piece of information on the database instance


show_next (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation show_next

Use

You display the additional information about the database instance.

Prerequisites

· You have the DBInfoRead server authorization.

· You have executed the DBM command for displaying the information about the database instance (see show). The keyword CONTINUE in the reply indicates that further information is available, which has not yet been displayed because of the limited size of the reply memory.

Syntax

show_next

Reply

OK

[CONTINUE | END]

<info_record>

<info_record>

...

Values for the Reply Fields

Value | Description
END | The content of the file has been transferred completely. The file is closed automatically.
Continue | The file contains further entries that were not transferred due to the limited storage available for replies. You can call up this data by entering the DBM command show_next again.
<info_record> | Information


sql_connect (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_connect

Use

You create an SQL session with the database instance for the specified database user.

If you do not specify a user, the system uses the data of the first DBM user. For this reason, only those database statements for which the first DBM user is authorized can be executed in this case.

When executing DBM commands in most cases that require an SQL session, the session is opened and closed implicitly. In this case, you do not have to open an SQL session explicitly.

We only recommend using a DBM command for opening an SQL session if you are dealing with SQL statements that can only be executed by particular database users, or for performance reasons, if you want to transfer a large number of SQL statements.

In this case, open the SQL session and specify the required database user, execute the required SQL statements (see: sql_execute) and then close the SQL session (see: sql_release).

Prerequisites

· You have the server authorization DBInfoRead or AccessSQL.

· You are working in the script or session mode.

Syntax

sql_connect <user_identification>

<user_identification> :: = <user_spec> | <user_type>

<user_spec> :: = <database_user_name>,<database_user_password>

<user_type> :: = user-type=<value>

Options

Option | Description
<database_user_name> | Name of the database user
<database_user_password> | Password of the database user
user-type=<value> | User type, possible values are: DBM: DBM operator DBA: database system administrator SAP: database user of the SAP application

Reply

OK

In the event of errors, see Reply Format

Example

...

1. Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the database instance DEMODB.

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>

2. Starting an SQL session for database user MONA with password RED:

dbmcli on DEMODB>sql_connect MONA,RED

OK


sql_execute (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_execute

Use

You use the DBM command to transfer an SQL statement to the database instance. Unlike when using the sql_executenice DBM command, you want the reply to display as many data records as possible.

When you execute this command, it implicitly opens an SQL session with the database instance and then ends the session once the command has been executed.

With SQL statements that can only be executed by particular database users, we recommend first starting an SQL session with the data of this database user (see: sql_connect), executing all SQL statements and then either closing the SQL session (see: sql_release) or the Database Manager CLI.

With SELECT statements, the system displays the data records of the reply. If not all the data can be displayed because of limited reply memory, you can use the sql_fetch DBM command to display the remaining data records.

If you enter other SQL statements, the execution of the statement is confirmed with an OK message.

For more information about SQL statements, see the Reference Manual and SQL Tutorial

Prerequisites

· You are working in the session mode of the Database Manager CLI.

· You have the server authorization AccessSQL.

Syntax

sql_execute <user_identification> <statement>

<user_identification> :: = <user_spec> | <user_type>

<user_spec> :: = <database_user>,<database_user_password>

<user_type> :: = user-type=<value>

Options

Option | Description
<statement> | SQL Statement
<database_user> | Name of the database user
<database_user_password> | Password of the database user
user-type=<value> | User type, possible values are: DBM: first DBM user DBA: database system administrator SAP: special database user in connection with SAP applications

Reply

OK

[END|CONTINUE]

[<record>

<record>

...]

Values for the Reply Fields

Value | Description
END | The complete reply was output.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<record> | Result data of the SQL statements The fields in a data record are separated by semicolons. Character strings are output in single quotation marks.

In the event of errors, see Reply Format

Example

...

Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the database instance DEMODB, displaying the columns of the USERS table with the relevant comments:

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>sql_execute SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

END

'OWNER';(long)

'GROUPNAME';(long)

'USERNAME';(long)

'USERMODE';(long)

'CONNECTMODE';(long)

'MAXTIMEOUT';(long)

'COSTWARNING';(long)

'COSTLIMIT';(long)

'DEFAULTCODE';(long)

'CREATEDATE';(long)

'CREATETIME';(long)

'ALTERDATE';(long)

'ALTERTIME';(long)

'PWCREADATE';(long)

'PWCREATIME';(long)

'SERVERDB';(long)

'SERVERNODE';(long)

'USER_ID';(long)

'ISREPLICATIONUSER';(long)

'COMMENT';(long)


sql_executenice (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_executenice

Use

You transfer an SQL statement to the database instance. Unlike when you use the DBM command sql_execute , you want the reply to display one data record after another.

After you execute the SQL statement, the system returns an OK message or displays the first data record of the reply. To display all the other data records one by one, use the sql_fetchnice DBM command.

For more information about SQL statements, see the Reference Manual and SQL Tutorial

Prerequisites

· You are working in the session mode of the Database Manager CLI.

· You have the server authorization AccessSQL.

Syntax

sql_executenice <statement>

<statement>

SQL Statement

Reply

OK

[END | CONTINUE]

[<record>]

Values for the Reply Fields

Value | Description
END | The complete reply was output.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<record> | A data record of the result of the SQL statement The fields in a data record are separated by semicolons. Character strings are output in single quotation marks.

Example

Logging on to the Database Manager CLI in session mode as operator OLEG with the password MONDAY, connecting to the DEMODB database instance, displaying the columns of theUSERS table record by record with the relevant comments:

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>sql_executenice SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

CONTINUE

COLUMNNAME = 'OWNER'

COMMENT = (long)

---

dbmcli on demodb>sql_fetchnice

OK

CONTINUE

COLUMNNAME = 'GROUPNAME'

COMMENT = (long)

---

dbmcli on demodb>sql_fetchnice

...

...


sql_fetch (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_fetch

Use

Having executed the DBM command sql_execute, you can use this DBM command to display any further data results within the same database session.

Prerequisites

· You have the server authorization AccessSQL.

· You have executed the SQL statement (see: sql_execute). The keyword CONTINUE in the reply indicates that the results data has not yet been displayed completely.

Syntax

sql_fetch

Reply

OK

[END|CONTINUE]

[<record>

<record>

...]

Values for the Reply Fields

Value | Description
END | The reply was transferred in full.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<record> | Result data of the SQL statements The fields in a data record are separated by semicolons. Character strings are output in single quotation marks.


sql_fetchnice (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_fetchnice

Use

Having executed the Database Manager command sql_executenice, you can use this command to always display the next data record of the result.

Prerequisites

· You have the server authorization AccessSQL.

· You have executed the SQL statement (see: sql_executenice). The keyword CONTINUE in the reply shows that the data has not yet been completely displayed.

Syntax

sql_fetchnice

Reply

OK

[END | CONTINUE]

[<column>=<value>]

[<column>=<value>]

[...]

Values for the Reply Fields

Value | Description
END | The reply was transferred in full.
CONTINUE | More data records are available but were not transferred due to the limited size of the reply memory.
<column> | Name of Column
<value> | Column value

Example

Logging on to the Database Manager CLI in session mode as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the columns of the USERS table record by record with the relevant comments:

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>sql_executenice SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

CONTINUE

COLUMNNAME = 'OWNER'

COMMENT = (long)

---

dbmcli on demodb>sql_fetchnice

OK

CONTINUE

COLUMNNAME = 'GROUPNAME'

COMMENT = (long)

---

dbmcli on demodb>sql_fetchnice

...

...


sql_info (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_info

Use

You display the structure of the result set of an SQL statement.

The names of all columns are displayed. These are separated by semicolons.

Prerequisites

You have the server authorization AccessSQL.

Syntax

sql_info <statement>

<statement>

SQL Statement

Reply

OK

<col_name>;<col_name>;...;<col_name>

<col_name>

Name of Column

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, displaying the structure of the result set for the SELECT statement used to display the content of the table users:

>dbmcli -u OLEG,MONDAY - d DEMODB sql_info SELECT * FROM users

OK

OWNER;GROUPNAME;USERNAME;USERMODE;CONNECTMODE;MAXTIMEOUT;COSTWARNING;COSTLIMIT;DEFAULTCODE;CREATEDATE;CREATETIME;ALTERDATE;ALTERTIME;PWCREADATE;PWCREATIME;SERVERDB;SERVERNODE;USER_ID;ISREPLICATIONUSER;COMMENT


sql_recreateindex (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_recreateindex

Use

You recreate the indexes of the database system.

Prerequisites

· You have the server authorization AccessSQL.

· You have opened a database session (see: db_connect).

Syntax

sql_recreateindex [<index_specification>]

<index_specification> :: = <schema>.<table>.<index>

Options

Option | Description
<index_specification> | Index specification <schema>: schema <table>: table name <index>: index name or field name The default value is all indexes that are flagged as “bad”.

Reply

OK

In the event of errors, see Reply Format


sql_release (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_release

Use

You close an SQL session. All resources assigned to this session are released.

Prerequisites

You have the server authorization AccessSQL or DBInfoRead.

Syntax

sql_release

Reply

OK


sql_updatestat (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_updatestat

Use

You update the statistics for the SQL Optimizer.

You can update all the statistics or restrict the update function to a set of statistics using a table or column specification.

See also:

Concepts of the Database System, SQL Optimizer

Prerequisites

· You have the server authorization AccessSQL.

· You have opened a database session (see: db_connect).

Syntax

sql_updatestat [<table_or_column_spec>]

<table_or_column_spec>

Table or column specification

for possible arguments and key words see: Reference Manual, UPDATE STATISTICS Statement (update_statistics_statement)

Reply

OK

In the event of errors, see Reply Format


sql_updatestat_per_systemtable (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation sql_updatestat_per_systemtable

Use

You update the optimization statistics of those tables which the system determined it was necessary to make an entry in the system table SYSUPDSTATWANTED.

Prerequisites

· You have the server authorization AccessSQL.

· You have opened a database session (see: db_connect).

Syntax

sql_updatestat_per_systemtable

Answer

OK

In the event of errors, see Reply Format


trace_clear (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_clear

Use

You delete the current contents of the database trace.

You use this DBM command to delete data from the database trace that is no longer required. We recommend executing this DBM command before switching on the database trace with the aim to log database instance activities (see: trace_on).

Prerequisites

You have the server authorization DBInfoRead or DBFileRead.

Syntax

trace_clear

Reply

OK

In the event of errors, see Reply Format


trace_flush (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_flush

Use

You write the contents of the current database trace as a binary file under the file name knltrace to the working directory of the database instance.

To be able to read the file, you then need to convert it to a plain-text file (see: trace_prot) and open it with the help of the DBM command file_getfirst

Prerequisites

You have the server authorization DBInfoRead or DBFileRead.

Syntax

trace_flush

Reply

OK

In the event of errors, see Reply Format


trace_off (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_off

Use

You determine which activities of the database instance are no longer to be logged or completely deactivate the database trace.

You define which activities are no longer to be logged by specifying a command option.

Prerequisites

You have the server authorization DBInfoRead or DBFileRead.

Syntax

trace_off <command_option>

<command_option> :: = <activity_list> | ALL

<activity_list> :: = <activity> | <activity> <activity> ...

Options

Option | Description
ALL | No more activities of the database instance are logged and the database trace is entirely switched off
<activity> | Activity for which logging is to be switched off For information on displaying activities which can presently be logged and corresponding command options see: trace_show.

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, switching off the database trace for the areas CHECK_IOMAN und CHECK_LOGPAGE:

>dbmcli -u OLEG,MONDAY –d DEMODB trace_off CHECK_IOMAN CHECK_LOGPAGE

OK


trace_on (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_on

Use

You switch on the database trace and log activities of the database kernel.

You define which activities are to be logged by specifying a command option. Some activities allow you to specify a log level. When you have finished your analysis, switch the database trace off again.

In order to be able to evaluate the results of the trace function, you first create a binary file for the database trace (see: trace_flush) and convert this to a plain text file (see: trace_prot). The file ID of the database trace plain text file is KNLTRC. You open this plain text file with the help of the DBM command file_getfirst.

Switching on the database trace has a negative effect on performance with liveCache database instances. This is not the case with MaxDB database instances.

Prerequisites

You have the server authorization DBInfoRead or DBFileRead.

Syntax

trace_on <command_option>

<command_option> :: = <activity_list> | ALL [<level>]

<activity_list> :: = <activity> <activity> ...

<activity> :: = <activity_name> [<level>]

Options

Option | Description
ALL | All activities of the database instance are logged.
<activity> | Activity for which logging is to be switched on
<level> | Logging level, can be specified for several activities, Possible values are 1 to 9. The default value is 5 For information on displaying activities which can be logged and corresponding command options, see: trace_show.

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as user OLEG with password MONDAY, connecting to the DEMODB database instance, switching on the database trace for the areas CHECK_IOMAN und CHECK_LOGPAGE:

>dbmcli -u OLEG,MONDAY –d DEMODB trace_on CHECK_IOMAN CHECK_LOGPAGE

OK


trace_prot (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_prot

Use

You convert the binary version of the database trace to a plain text version. You define the method of the conversion using command options.

The binary version of the database trace is stored in the working directory of the database instance and has the file name knltrace. The plain text file generated has the file ID KNLTRCPROT.

Prerequisites

· You have the server authorization DBInfoRead or DBFileRead.

· You have created the database trace (see: trace_on).

· You have created the binary file of the database trace (see: trace_flush).

Syntax

trace_prot <option> | <option_list>

<option_list> :: = <option><option>...

<option>

Command option, controls method of conversion

For displaying possible command options see: trace_protopt.

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, creating the text version of the database trace for the areas a (Order Interface) and b (Record Interface):

>dbmcli -u OLEG;MONDAY -d DEMODB trace_prot ab

OK


trace_protopt (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_protopt

Use

You display the permitted command options for restricting the trace output of the internal database components when creating the text version of the database trace (see: trace_prot).

The system displays a list with the names and descriptions of these command options.

Prerequisites

You have the server authorization DBInfoRead or DBFileRead.

Syntax

trace_protopt

dbmcli -d DB -u dbm,dbm trace_protopt

OK
name,option
a Order Interface (AK)
b Record Interface (BD)
k Show Message Block (KB)
m Message Block
e No Entrypos Output
s Strategy
t Time
x Switch Output (Slow Kernel)

a | The trace output of the internal database component order interface is copied to the text file
b | The trace output of the internal database component record interface is copied to the text file
k | The trace output of the internal database component table interface is copied to the text file
m | The internal data structure with the name message block is transferred to the text file
e | For the order interface and the message block, the number of the trace page and the position of the block on the page are copied to the text file
s | Information about the processing strategy is copied to the text file
t | The results of the internal time measurements are copied to the text file
x | Additional trace output is copied to the text file

Reply

OK<NL>
name,option<NL>
<name>,<option><NL>
<name>,<option><NL>
...


trace_show (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation trace_show

Use

You display which activities of the database instance are currently logged.

Prerequisites

You have the server authorization DBInfoRead or DBFileRead.

Syntax

trace_show [verbose]

verbose

Extended description for database kernel activities logged with the help of the database trace

Answer

OK

<name> <state> <level> <short description>[,<long description>]

<value> <value> <value> <value>

...

...

Values for the Reply Fields

Value | Description
<name> | Name of activity
<state> | Status of logging function. Possible values are ON | OFF ON: Activity is logged OFF: Activity is not logged
<level> | Logging level, can be specified for several activities, Possible values are 1 to 9. The default value is 5
<short_description> | Short description of activity
<long_description> | Extended description of activity
<value> | Value

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying the database kernel activities currently logged with the extended description:

>dbmcli -u OLEG,MONDAY -d DEMODB trace_show verbose

OK

Name State Level Description

TRACE_AK OFF - Defines whether tracing

of all order packets is switched on (YES/NO)

TRACE_DEFAULT OFF - Defines whether default

tracing is switched on (YES/NO)

TRACE_DELETE OFF - Defines whether tracing

of complete message buffer of DELETE is switched on (YES/NO)

TRACE_INDEX OFF - Defines whether tracing

...

...


user_create (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_create

Use

Right after a database instance has been created, there is one DBM operator only (the first DBM operator) and the database system administrator. To create further DBM operators for this database instance, you need to use the DBM command described below. This defines the operator name and password. The new operator you have created does not have any server authorizations so far however. You need to assign these explicitly to the operator (see: user_put ).

Alternatively, when creating the operator, you can specify an existing DBM operator from which you copy all DBM operator properties except name and password.

See Conventions for User Names and Passwords. The database system automatically converts the user name and password into upper-case letters.

See also:

Concepts of the Database System, Database Manager Operator (DBM Operator)

Prerequisites

You have the server authorization UserMgm.

Syntax

user_create <user_name>,<user_password> [<template_user>]

Options

Option | Description
<user_name> | Name of the DBM operator to be created
<user_password> | Password of DBM operator to be created
<template_user> | DBM operator whose operator properties should be copied

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to Database Manager CLI as Database Manager operator with the name OLEG and password MONDAY, connecting to the database instance DEMODB, creating the Database Manager operator ELENA with password SUNDAY and the authorizations for Database Manager operator OLEG:

>dbmcli –u OLEG,MONDAY –d DEMODB user_create ELENA,SUNDAY OLEG

OK


user_delete (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_delete

Use

You delete the DBM operator specified.

You cannot delete the DBM operator currently logged on, the first DBM operator defined when the database instance was created, or SYSDBA user.

Prerequisites

You have the server authorization UserMgm.

Syntax

user_delete <user_name>

<user_name>

Name of the DBM operator to be deleted

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as user OLEG with password MONDAY, connecting to the DEMODB database instance and deleting the DBM operator created with the name ELENA for this database instance:

>dbmcli -u OLEG,MONDAY -d DEMODB user_delete ELENA

OK


user_get (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_get

Use

You display the DBM operator properties and server authorizations for the specified DBM operator or database system administrator (SYSDBA user).

The Database Manager outputs, among other things, a list of the server authorizations assigned to the operator.

Prerequisites

You have the DBInfoRead server authorization.

Syntax

user_get <user_name>

<user_name>

Name of the user

Reply

OK

SERVERRIGHTS=<right_list>

SECONDPASSWORD=[YES|NO]

DISABLED=[YES|NO]

COMMENT=<comment>

USERTYPE=[DBM|DBA]

Values for the Reply Fields

Value | Description
SERVERRIGHTS | All server authorizations of the DBM operator separated by commas
SECONDPASSWORD | Indicates whether a second password has been activated for the DBM operator. Possible values: YES | NO
DISABLED | Indicates whether the DBM operator is blocked. Possible values: YES | NO
COMMENT | Description
USERTYPE | Operator type, possible values are: DBA: Database system administrator (SYSDBA user) DBM: DBM operator

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, and displaying the rights and operator properties of the DBM operator with the name ELENA:

dbmcli -u OLEG,MONDAY -d DEMODB user_get ELENA

OK

SERVERRIGHTS=DBInfoRead,ExecLoad,SystemCmd,UserMgm,DBFileRead,Backup,...

SECONDPASSWORD=NO

DISABLED=NO

COMMENT=

USERTYPE=DBM


user_getall (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_getall

Use

You display the names of all DBM operators, including the database system administrator (SYSDBA user), that were created for the current database instance.

Prerequisites

You have the DBInfoRead server authorization.

Syntax

user_getall

Reply

OK

<user_name>

<user_name>

...

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as DBM operator OLEG with password MONDAY, connecting to the database instance DEMODB, displaying all DBM operators of the database instance:

dbmcli -u OLEG,MONDAY -d DEMODB user_getall

OK

DBM

DBADMIN

oleg

elena


user_getrights (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_getrights

Use

You display the list of server authorizations of the specified DBM operator.

See also:

Server authorizations

Concepts of the Database System, Server Authorizations for the DBM Server

Prerequisites

You have the DBInfoRead server authorization.

Syntax

user_getrights <user_name> SERVERRIGHTS

<user_name>

Name of the DBM Operator

Reply

OK

UserMgm                 <flag>  User management

InstallMgm              <flag>  Install management

SystemCmd               <flag>  System commands

FileFull                <flag>  File full access

FileRead                <flag>  File read access

DBFileRead              <flag>  Database file read access

AccessUtility           <flag>  Utility session access

BackupRestore           <flag>  Backup restore actions

BackupSave              <flag>  Backup save actions

ParamFull               <flag>  Parameter full access

ParamCheckWrite         <flag>  Parameter check-write access

ParamRead               <flag>  Parameter read access

AccessSQL               <flag>  SQL session access

ExecLoad                <flag>  Can execute load

LoadSysTab              <flag>  Can load system tables

DBStop                  <flag>  Can stop database

DBStart                 <flag>  Can start database

DBInfoRead              <flag>  Info functions access

Values for the Reply Fields

Value | Description
<flag> | Indicates whether the DBM user has the relevant server authorization. Possible values are: +: User has server authorization -: User does not have server authorization.

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as operator OLEG with password MONDAY, connecting to the DEMODB database instance, and displaying the rights of the registered DBM operator with the name ELENA

dbmcli -u OLEG,MONDAY -d DEMODB user_getrights ELENA SERVERRIGHTS

OK

DBInfoRead + Request status data

SystemCmd + Execute operating system commands

ExecLoad + Execute the LOAD program

UserMgm + User management

DBFileRead + Database file access (read only)

Backup + Saving backups

InstallMgm + Installation management

LoadSysTab + Load the system tables

ParamCheckWrite + Parameter access (checked write)

ParamFull + Parameter access (read and write)

ParamRead + Parameter access (read only)

DBStart + Start database instance

DBStop + Stop database instance

Recovery + Restoring backups

AccessSQL + Access to SQL session

AccessUtility + Access to utility session

SharedMemoryMgm + Shared memory management

SchedulerMgm + Scheduler management

Scheduling + Scheduler use

EvtDispMgm + Event Dispatcher management

EvtDisp + Event Dispatcher use


user_logon (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_logon

Use

The specified Database Manager operator (DBM operator) logs on to the Database Manager program.

Before you log on to the Database Manager, you have to open a DBM server session. You can open this session before logging on to the Database Manager or at the same time as logging on.

A connection must always be made to the DBM server on the computer of the database instance to be administrated. If the database instance is located on a remote computer, you need to specify the name of the database computer too when logging on to the Database Manager.

Two Step Logon

You can first open the session with the DBM server and then log on to the Database Manager.

...

1. Opening a DBM Server session:

dbmcli – d <database_name> [-n <database_computer>]

2. Logging on to the Database Manager:

user_logon <dbm_user_name>,<dbm_user_password>

One Step Logon

You can perform both logon steps at the same time by using the DBM option –u | -U. In this case, the Database Manager executes the user_logon DBM command implicitly.

Note the command has different meanings depending on whether it is upper or lower case.

Using the DBM Option -u

dbmcli -u [<dbm_user_name>,<dbm_user_password>] –d <database_name> [-n <database_computer>]

· -u: explicit specification of the Database Manager operator identified by <dbm_user_name> and <dbm_user_password>

Calling the database manager CLI as Database Manager operator OLEG with password MONDAY, logging on to the DEMODB database instance, displaying the operational state of the database instance:

dbmcli –u OLEG,MONDAY –d DEMODB db_state

Using the DBM Option –U (Logon with XUSER)

dbmcli -U [<user_key>] –d <database_name> [-n <database_computer>]

· -U: logon with a user stored in the XUSER file

You can use the XUSER program to store sets of user data as user keys and use them when logging on. User keys for Database Manager operators can be used successfully only if the operators stored in them have actually been created for the database instance in question (see also: Creating Database Manager Operators).

If you do not specify a <user_key> when using –U, the Database Manager attempts to use the data under the DBMUSR user key. It is therefore recommended that you create an XUSER entry with the user key name DBMUSR and create the data for the Database Manager operator with the most comprehensive authorizations (see also: Creating or Changing XUSER Entries).

Reply

dbmcli on [<database_computer>]: <database_name>

In the event of errors, see Reply Format

Examples

Two Step Logon

Opening a DBM server session with the local database instance DEMODB and logging on as DBM operator OLEG with password MONDAY:

dbmcli -d DEMODB

dbmcli on DEMODB>user_logon OLEG,MONDAY

OK

Starting a DBM server session with the database instance MAXDB and on the remote computer GENUA and logging on as Database Manager operator OLEG with the password MONDAY:

dbmcli -d MAXDB – n GENUA

dbmcli on GENUA: MAXDB>user_logon OLEG,MONDAY

OK

One Step Logon with User Key and Execution of a DBM Command

Logging on to the Database Manager CLI as Database Manager operator under the key name OLKEY, connecting to the DEMODB local database instance, displaying the operating state of the database instance

dbmcli –U OLKEY –d DEMODB db_state

OK

State

OFFLINE

One Step Logon with Name and Password of a Database Manager Operator and Execution of a DBM Command

Logging on to the Database Manager CLI as Database Manager operator OLEG with password MONDAY, connecting to the local database instance DEMODB, displaying the operational state of the database instance.

dbmcli –u OLEG,MONDAY –d DEMODB db_state

OK

State

OFFLINE


user_put (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_put

Use

You can change the DBM operator properties and server authorizations of DBM operators and of the database system administrator.

See Conventions for User Names and Passwords.
The database system automatically converts passwords for DBM operators into upper-case letters.

Prerequisites

· You have the server authorization UserMgm.

· If you want to change the password of the database system administrator, the database instance must be in the ONLINE operational state.

Syntax

user_put <user_name> <property_definition>

<property_definition> :: = <property_spec> | <property_spec_list>

<property_spec> :: = <property>=<value>

<property_spec_list> :: = <property>=<value_list>

<value_list> :: = <property>=<value,value,...>

Options

Option

Description

<user_name>

Name of a Database Manager operator or database system administrator whose properties are to be changed.

<property>

Property of operator. The possible values are:

PASSWORD: Operator password

COMMENT: Description

SECONDPASSWORD: Second operator password

DISABLED: Operator is blocked

SERVERRIGHTS: Server authorization.

<value>

Value of the property allocated.

Possible values for DBM operator properties PASSWORD, COMMENT und SECONDPASSWORD values can be chosen at random.

Possible values for DISABLED: YES | NO
YES: Operator is blocked
NO: Operator is not blocked

Possible values for SERVERRIGHTS: see Server authorizations
Insert a plus sign before the server authorization to assign it and a minus sign to revoke it. When specifying several server authorizations, values should be separated by commas.

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as DBM operator with the name OLEG and the password MONDAY, connecting to the database instance DEMODB, changing the operator password for the DBM operator with the operator name ELENA to the value SATURDAY, assigning server authorization for starting database instances and revoking server authorization for stopping database instances:

>dbmcli –u OLEG,MONDAY –d DEMODB user_put ELENA PASSWORD=SATURDAY SERVERRIGHTS=+DBStart,-DBStop

OK


Server Authorizations (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Server Authorizations

Overview of the Server Authorizations Required for Actions in the Database Manager

Server Authorization | Action
AccessSQL | Accessing SQL sessions
AccessUtility | Accessing a utility session
Backup | Executing backups
DBFileRead | Accessing database files (read-only)
DBInfoRead | Displaying status information
DBStart | Starting the database instance
DBStop | Stopping the database instance
ExecLoad | Running the Loader program
InstallMgm | Managing installation
LoadSysTab | Loading the system tables
ParamCheckWrite | Accessing database parameters (checked write)
ParamFull | Accessing database parameters (read and write)
ParamRead | Accessing database parameters (read-only)
Recovery | Restoring backups
SchedulerMgm | Managing the scheduler
Scheduling | Scheduling DBM commands
SharedMemoryAdmin | Managing the shared memory
SystemCmd | Executing operating system commands
UserMgm | Managing DBM operators

See also:

Displaying Server Authorizations

Concepts of the Database System, Server Authorizations for the DBM Server


Access SQL: Access to SQL Session (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Access SQL: Access to SQL Session

Operators who have been assigned the AccessSQL server authorization can execute the following DBM commands:

DBM command | Description
auto_update_statistics | Updating the optimizer statistics automatically
db_connect | Opening a database session
db_execute | Executing an administration command or an SQL statement (displaying the complete result list)
db_executenice | Executing an administration command or an SQL statement (displaying the result record-by-record)
db_fetch | Scrolling through the results of an administration command or an a database statement (displaying the list of results)
db_fetchnice | Scrolling through the results of an administration command or a database instance (displaying the list of results)
db_release | Ending a database session
sql_connect | Opening an SQL session
sql_execute | Executing an SQL statement (displaying the complete result list)
sql_executenice | Executing an SQL statement (displaying the result record-by-record)
sql_fetch | Scrolling through the results of an SQL statement (displaying the complete result list)
sql_fetchnice | Scrolling through the results of an SQL statement (displaying the result record-by-record)
sql_info | Displaying the structure of a result set
sql_recreateindex | Restoring a damaged index
sql_release | Ending an SQL session
sql_updatestat | Updating the optimizer statistics
sql_updatestat_per_systemtable | Updating the optimizer statistics as per system table SYSUPDSTATWANTED


AccessUtility: Access to Utility Session (SAP Library - MaxDB Library)

 Entering content frame

Function documentation AccessUtility: Access to Utility Session

Operators who have been assigned the AccessUtility server authorization can execute the following DBM command:

DBM command | Description
auto_extend | Extending the data area automatically
db_activate | Initializing a database instance
db_activate_req | DBM command used only by DBM client programs
db_addvolume | Adding volumes
db_connect | Opening a database session
db_deletevolume | Deleting a data volume
db_execute | Executing an administration command or an SQL statement (displaying the complete result list)
db_executenice | Executing an administration command or an SQL statement (displaying the result record-by-record)
db_fetch | Scrolling through the results of an administration command or an SQL statement (displaying the complete result list)
db_fetchnice | Scrolling through the results of an administration command or an SQL statement (displaying the result record-by-record)
db_migratecatalog | DBM command used only by SAP applications
db_reinstall | Resetting the database instance
db_release | Ending a database session
scheduler_deactivate_job | Deactivating a scheduler job


Backup: Performing Backups (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Backup: Performing Backups

Operators who have been assigned the Backup server authorization can execute the following DBM commands:

DBM Command | Description
archive_stage | Creating a single archive of the version files
archive_stage_repeat | Creating multiple archives of the version files
autolog_cancel | Exiting an automatic log backup that has been interrupted
autolog_off | Canceling automatic log backup
autolog_on | Activating automatic log backup
autolog_show | Displaying the automatic log backup function
backup_cancel | Canceling an interrupted backup
backup_cancel_req | DBM command used only by DBM client programs
backup_ext_ids_forget | Releasing the memory occupied by external backup IDs
backup_ext_ids_get | Getting external backup IDs
backup_ext_ids_getfromtool | Getting backup information stored in the backup tool
backup_ext_ids_list | Displaying the external backup IDs
backup_ext_ids_listnext | Scrolling through the external backup IDs
backup_history_append | Internal system command
backup_history_close | Closing the backup history
backup_history_date | Displaying the change date for the backup history
backup_history_list | Displaying the backup history
backup_history_listnext | Scrolling through the backup history
backup_history_open | Getting the backup history
backup_ignore | Continues backup without medium last reported as full
backup_ignore_req | DBM command used only by DBM client programs
backup_replace | Specifying the succeeding medium for a backup action
backup_replace_req | DBM command used only by DBM client programs
backup_reply_available | DBM command used only by DBM client programs
backup_reply_receive | DBM command used only by DBM client programs
backup_req | DBM command used only by DBM client programs
backup_start | Backing up the database instance
backup_state | Displaying the current backup status
db_connect | Opening a database session
db_release | Ending a database session
medium_date | Displaying the change date of the media definition file
medium_delete | Deleting a backup medium
medium_delete_nodistribute | Internal system command with hot standby configurations
medium_get | Displaying the media data
medium_getall | Displaying a list of all defined back up media
medium_label | Displaying backup information in the ONLINE or ADMIN operational state
medium_labeloffline | Displaying backup information in the OFFLINE operational state
medium_migrate | Adopting an existing media definition
medium_put | Defining or changing a backup medium
medium_put_nodistribute | Internal system command with hot standby configurations
recover_check | Checking a backup
recover_check_req | DBM command used only by DBM client programs
recover_ignore | Continuing a parallel restore or a backup check
recover_ignore_req | DBM command used only by DBM client programs
recover_replace | Specifying the succeeding medium for a restore operation or checking of a backup
recover_replace_req | DBM command used only by DBM client programs
recover_state_check | Displaying the current status of a backup check
service_connect | Opening a service session
service_release | Closing a service session


DBFile Read: Accessing Database Files (Reading Only) (SAP Library - MaxDB Library)

 Entering content frame

Function documentation DBFile Read: Accessing Database Files (Reading Only)

Operators who have been assigned the DBFileRead server authorization can execute the following DBM commands:

DBM Command | Description
diag_histlist | Displaying the diagnosis history
diag_pack | Packing the database files
file_backup | Backing up a database file
file_getfirst | Opening a database file
file_getlist | Displaying a list of database files
file_getnext | Scrolling through a database file
file_operation | Editing the log files of a database instance
file_restore | Restoring a database file
trace_clear | Deleting the contents of the database trace
trace_flush | Creating the binary file of the database trace
trace_off | Deactivating the database trace
trace_on | Activating the database trace
trace_prot | Creating the text version of the database trace
trace_protopt | Displaying the command options for creating the text version of database trace
trace_show | Displaying the logged activities of the database trace


DBInfoRead: Displaying Status Information (SAP Library - MaxDB Library)

 Entering content frame

Function documentation DBInfoRead: Displaying Status Information

Operators who have been assigned the DBInfoRead server authorization can execute the following DBM commands:

DBM Command | Description
autolog_show | Displaying the automatic log backup function
backup_ext_ids_forget | Releasing the memory occupied by external backup IDs
backup_ext_ids_get | Getting external backup IDs
backup_ext_ids_getfromtool | Getting backup information stored in the backup tool
backup_ext_ids_list | Displaying the external backup IDs
backup_ext_ids_listnext | Scrolling through the external backup IDs
backup_history_close | Closing the backup history
backup_history_date | Displaying the change date for the backup history
backup_history_list | Displaying the backup history
backup_history_listnext | Scrolling through the backup history
backup_history_open | Getting the backup history
db_speed | Displaying the database kernel variant
db_state | Displaying the operational state of the database instance
dban_delete | Deleting the Database Analyzer log files
dban_start | Calling the Database Analyzer
dban_state | Displaying the function of the Database Analyzer
dban_stop | Exiting the Database Analyzer
event_available | Displaying whether any events were triggered
event_delete | Deactivating an event
event_list | Displaying a list of events and their statuses
event_list_categories | Displaying a list of event categories
event_receive | Displaying a triggered event
event_release | Ending an event session
event_set | Activating an event
event_wait | Waiting for an event
hss_getnodes | Displaying the hot standby parameters
info | Displaying status information of the database instance
info_next | Scrolling through the status information of the database instance
medium_date | Displaying the change date of the media definition file
medium_get | Displaying the media data
medium_getall | Displaying a list of all defined back up media
medium_migrate | Adopting an existing media definition
show | Displaying information about the database instance
show_list | Displaying the keywords for information about the database instance
show_next | Scrolling through the information about the database instance
sql_connect | Opening an SQL session
sql_release | Ending an SQL session
trace_clear | Deleting the contents of the database trace
trace_flush | Creating the binary file of the database trace
trace_off | Deactivating the database trace
trace_on | Activating the database trace
trace_prot | Creating the text version of the database trace
trace_protopt | Displaying the command options for creating the text version of database trace
trace_show | Displaying the logged activities of the database trace
user_get | Displaying the DBM operator properties
user_getall | Displaying a list of Database Manager operators
user_getrights | Displaying the server authorizations of a DBM operator


DB Start: Starting the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Function documentation DB Start: Starting the Database Instance

Operators who have been assigned the DBStart server authorization can execute the following DBM command:

DBM Command | Description
db_online | Transferring to the ONLINE operational state
db_standby | Transferring to the STANDBY operational state


DBStop: Stopping the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Function documentation DBStop: Stopping the Database Instance

Operators who have been assigned the DBStop server authorization can execute the following DBM commands:

DBM Command | Description
db_admin | Transferring to the ADMIN operating status
db_clear | Deleting runtime information after a database error
db_cons | Using the XCONS tool (database console)
db_offline | Transferring to the OFFLINE operational state
db_restart | Restarting the database instance
db_stop | Ending a process of the database instance


ExecLoad: Executing the Loader program: (SAP Library - MaxDB Library)

 Entering content frame

Function documentation ExecLoad: Executing the Loader program:

Operators who have been assigned the ExecLoad server authorization can execute the following DBM commands:

DBM Command | Description
load_lcapps | Loading the application libraries
load_r3tab | Loading the SAP-specific tables
load_systab | Loading the system tables
load_tutorial | Loading the SQL tutorial files


InstallMgm: Installation Management (SAP Library - MaxDB Library)

 Entering content frame

Function documentation InstallMgm: Installation Management

Operators who have been assigned the InstallMgm server authorization can execute the following DBM commands:

DBM Command | Description
db_drop | Deleting the current database instance
db_reg | Updating the registration of a database instance
dbm_configget | Displaying a configuration parameter of the Database Manager
dbm_configset | Changing a configuration parameter of the Database Manager
hss_addstandby | Defining a standby instance
hss_copyfile | Copying database files in the cluster
hss_enable | Defining a database instance as the master instance
hss_removestandby | Deleting a standby instance
param_copy | Copying a database parameter file
param_init | Initializing the database parameters for a new database instance
param_rmfile | Deleting the database parameter file


LoadSysTab: Loading the System Tables (SAP Library - MaxDB Library)

 Entering content frame

Function documentation LoadSysTab: Loading the System Tables

Operators who have been assigned the LoadSysTab server authorization can execute the following DBM commands:

DBM Command | Description
load_lcapps | Loading the application libraries
load_r3tab | Loading the SAP-specific tables
load_systab | Loading the system tables
load_tutorial | Loading the SQL tutorial files


ParamCheckWrite: Accessing Database Parameters (Checked Writing)

 Entering content frame

Function documentation ParamCheckWrite: Accessing Database Parameters (Checked Writing)

Operators who have been assigned the ParamCheckWrite server authorization can execute all the commands listed under the ParamRead server authorization.

In addition, they can execute the following DBM commands:

DBM Command | Description
param_abortsession | Ending a parameter session
param_addvolume | Changing volume parameters
param_checkall | Checking all database parameters
param_commitsession | Confirming changes to the database parameter file
param_delvolume | Deleting volume parameters
param_extget | Displaying individual data of a database parameter
param_extgetall | Displaying the data of all database parameters
param_extgetallnext | Scrolling through the database parameter data
param_getdefault | Displaying the system default (default value)
param_getexplain | Displaying the Stored Explanatory Text
param_getfull | Displaying all data of a database parameter
param_gethelp | Displaying the stored help text
param_gethistory | Opening the database parameter history
param_gethistorynext | Scrolling through the database parameter history
param_getproperties | Displaying all properties of a database parameter
param_gettype | Displaying the data type of a database parameter
param_getvalue | Displaying the current value of a database parameter
param_getvolsall | Displaying the data of all volume parameters
param_getvolume | Displaying the data of an individual volume
param_put | Changing the values of database parameters
param_restore | Resetting the parameter file to a previous version
param_startsession | Opening a parameter session
param_versions | Displaying a list of parameter files


PAccessing Database Parameters (Reading and Writing): ParamFull (SAP Library - MaxDB Library)

 Entering content frame

Function documentation  PAccessing Database Parameters (Reading and Writing): ParamFull

Operators who have been assigned the ParamFull server authorization can execute all the commands listed under the ParamRead and ParamCheckWrite server authorizations.

In addition, they can execute the following DBM commands:

DBM Commands | Description
auto_extend | Extending the data area automatically
db_addvolume | Adding volumes
db_deletevolume | Deleting a data volume
param_abortsession | Ending a parameter session
param_addvolume | Changing volume parameters
param_checkall | Checking all database parameters
param_commitsession | Confirming changes to the database parameter file
param_delvolume | Deleting volume parameters
param_directdel | Deleting a database parameter
param_directget | Displaying a parameter value from the database parameter file
param_directgetall | Displaying all parameter values in the current database parameter file
param_directgetallnext | Scrolling through the parameters in the database parameter file
param_directput | Changing a value directly in the database parameter file
param_extget | Displaying individual data of a database parameter
param_extgetall | Displaying the data of all database parameters
param_extgetallnext | Scrolling through the database parameter data
param_getdefault | Displays the system default (default value)
param_getexplain | Displaying the stored explanatory text
param_getfull | Displaying all data of a database parameter
param_gethelp | Displaying the stored help text
param_gethistory | Opening the database parameter history
param_gethistorynext | Scrolling through the database parameter history
param_getproperties | Displaying all properties of a database parameter
param_gettype | Displaying the data type of a database parameter
param_getvalue | Displaying the current value of a database parameter
param_getvolsall | Displaying the data of all volume parameters
param_getvolume | Displaying the data of an individual volume
param_put | Changing the values of database parameters
param_restore | Resetting the parameter file to a previous version
param_startsession | Opening a parameter session
param_versions | Displaying a list of parameter files


ParamRead: Accessing Database Parameters (Reading Only) (SAP Library - MaxDB Library)

 Entering content frame

Function documentation ParamRead: Accessing Database Parameters (Reading Only)

Operators who have been assigned the ParamRead server authorization can execute the following DBM commands:

DBM Command | Description
param_abortsession | Ending a parameter session
param_directget | Displaying the value from a parameter of the database parameter file
param_directgetall | Displaying the value of all parameters from the database parameter file
param_directgetallnext | Scrolling through the parameter values in the database parameter file
param_extget | Displaying individual data of a database parameter
param_extgetall | Displaying the data of all database parameters
param_extgetallnext | Scrolling through the database parameter data
param_getdefault | Displaying the system default value
param_getexplain | Displaying the stored explanatory text
param_getfull | Displaying all data of a database parameter
param_gethelp | Displaying the stored help text
param_gethistory | Opening the database parameter history
param_gethistorynext | Scrolling through the database parameter history
param_getproperties | Displaying all properties of a database parameter
param_gettype | Displaying the data type of a database parameter
param_getvalue | Displaying the current value of a database parameter
param_getvolsall | Displaying the data of all volume parameters
param_getvolume | Displaying the data of an individual volume
param_startsession | Opening a parameter session
param_versions | Displaying a list of parameter files


Recovery: Restoring Backups (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Recovery: Restoring Backups

Operators who have been assigned the Recovery server authorization can execute all the commands listed under the Backup server authorization.

In addition, they can execute the following DBM commands:

DBM Command | Description
autorecover | Restoring the database instance automatically
db_restartinfo | Displaying the restart information after importing a backup
recover_cancel | Canceling an interrupted restore or a backup check
recover_cancel_req | DBM command used only by DBM client programs
recover_config | Restoring the parameter file from a data backup
recover_req | DBM command used only by DBM client programs
recover_start | Restoring a database instance
recover_state | Displaying the current status of a restore action
recover_volume | Restoring a damaged volume


SchedulerMgm: Managing the Scheduler (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SchedulerMgm: Managing the Scheduler

Operators who have been assigned the SchedulerMgm server authorization can execute the following DBM commands:

DBM Command | Description
scheduler_activate_job | Activating a scheduler job
scheduler_create_job | Creating a scheduler job
scheduler_deactivate_job | Deactivating a scheduler job
scheduler_delete_job | Deleting a scheduler job
scheduler_list_jobs | Displaying a list of all scheduler jobs
scheduler_start | Starting the scheduler
scheduler_state | Displaying the function of the scheduler
scheduler_stop | Stopping the scheduler


Scheduling: Scheduling DBM Commands (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Scheduling: Scheduling DBM Commands

Operators who have been assigned the Scheduling server authorization can execute the following DBM commands:

DBM Command | Description
scheduler_activate_job | Activating a scheduler job
scheduler_create_job | Creating a scheduler job
scheduler_deactivate_job | Deactivating a scheduler job
scheduler_delete_job | Deleting a scheduler job
scheduler_list_jobs | Displaying a list of all scheduler jobs
scheduler_state | Displaying the function of the scheduler


SharedMemoryAdmin: Managing the Shared Memory (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SharedMemoryAdmin: Managing the Shared Memory

Operators who have been assigned the SharedMemoryAdmin server authorization can execute the following DBM commands:

DBM Commands | Description
dbm_shm_info | Displaying shared memory information
dbm_shm_reset | Resetting the shared memory
dbm_shm_unlock | Unlocking the shared memory


SystemCmd: Executing Operating System Commands (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SystemCmd: Executing Operating System Commands

Operators who have been assigned the SystemCmd server authorization can execute the following DBM command:

DBM Command | Description
exec_lcinit | Executing the liveCache initialization script
exec_nipingsrv | DBM command used only by SAP applications


UserMgm: Managing Database Manager Operators (SAP Library - MaxDB Library)

 Entering content frame

Function documentation UserMgm: Managing Database Manager Operators

Operators who have been assigned the UserMgm server authorization can execute the following DBM commands:

DBM Command | Description
user_create | Creating Database Manager operators
user_delete | Deleting Database Manager operators
user_put | Changing the DBM operator properties
user_rename | Changing the name of a DBM Operator
user_sap | Storing the data of special users
user_sysdba | Transferring the data of the database system administrator to the Database Manager


user_rename (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_rename

Use

You change the name of the specified DBM operator.

You can change the name of any DBM operator. This includes the name of the currently logged on DBM operator, the first DBM operator, and the SYSDBA user.

Prerequisites

· You must have the server authorization UserMgm.

· You can only change the names of the SYSDBA user in the ONLINE operational status.
You can also change the names of all other DBM operators in the ADMIN or OFFLINE operational states.

Syntax

user_rename <user_name> <new_user_name>

<user_name> | Name of the DBM operator you would like to change
<new_user_name> | New name of the DBM user

Reply

OK

In the event of errors, see Reply Format

Example

Logging on to the Database Manager CLI as user OLEG with password MONDAY, connecting to the DEMODB database instance, changing the name of the DBM operator ELENA to JULIE:

>dbmcli -u OLEG,MONDAY -d DEMODB user_rename ELENA JULIE

OK


user_sap (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_sap

Use

In exceptional cases it may happen that the Database Manager no longer recognizes the operator of an SAP application. In this case, you can recreate this operator in the Database Manager.

You should only use this command if told to do so by Support.

This command does not create a new user.

Prerequisites

You must have the server authorization UserMgm.

Syntax

user_sap = <user_name>,<user_password>

Options

Option | Description
<user_name> | Name of the user
<user_password> | User password

Reply

OK

In the event of errors, see Reply Format


user_sysdba (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_sysdba

Use

You make the database system administrator (SYSDBA user) known to the Database Manager. It is only necessary to use this DBM command if the database administrator is not known or is incorrectly known to the Database Manager.

Prerequisites

You have the server authorization UserMgm.

Syntax

user_sysdba <sysdba_user>,<sysdba_user_password>

Options

Option | Description
<sysdba_user> | Name of the database system administrator
<sysdba_user_password> | Password of the database system administrator

Reply

OK

In the event of errors, see Reply Format


user_system (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation user_system

Use

To enable the Database Manager to access a remote computer one time only with operating system rights, log on to the operating system with the help of a DBM command in session mode or script mode.

This logon is required to execute the following DBM commands:

Description | Syntax
Creating a database instance | db_create
Deleting the registration of a database software version | inst_unreg
Registering the version of the database software | inst_reg

Prerequisites

No server authorizations are required for this DBM command.

Syntax

user_system <dbm_user>,<dbm_user_password>

Reply

OK

In the event of errors, see Reply Format


Database Analyzer (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Database Analyzer

Purpose

The Database Analyzer database tool is used to analyze the performance of database instances. You can use Database Analyzer to identify problems in the following areas:

  • Database configuration (caches, parameters)
  • Synchronization (locks, critical sections, heap)
  • Processing of SQL statements (for example, search strategies, indexes, optimization statistics)
  • Hardware configuration

You can use Database Analyzer on all operating systems supported by the database system. You can use the Database Analyzer to analyze all database instance types and versions of the database software and also access database instances on a remote computer.

Implementation Considerations

The Database Analyzer is a component of the MaxDB software. For information on where to obtain MaxDB software and how to install it, see the Download section and the Installation Manual.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Integration

Database Analyzer is integrated in the Database Manager GUI and the Lifecycle Management (CCMS) SAP solution. However you can also call Database Analyzer directly from the command line or from Database Manager CLI: Calling the Database Analyzer

In Microsoft Windows, Database Analyzer uses MDAC (Microsoft Data Access Components). You will need MDAC Version 2.7 or higher.

Features

Database Analyzer analyzes the performance of a database instance in regular intervals. The rules and commands for how the Database Analyzer determines performance-relevant data are defined in the configuration file

The results of the analysis are noted in the Database Analyzer in log files

It uses a range of pre-defined messages

Constraints

From version 7.5, the DBM commands for accessing the Database Analyzer are available for use without restriction; see Database Manager CLI, Commands for Using the Database Analyzer. To use the Database Analyzer for database instances from previous versions, call the Database Analyzer directly; see Calling the Database Analyzer.


Calling Database Analyzer (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Calling Database Analyzer

To call the Database Analyzer, choose one of the following variants:

CCMS Call (for SAP Systems only)

See:

Database Administration in CCMS: MaxDB, Structure link Database Analyzer

Database Administration in CCMS: SAP liveCache Technology, Structure link Database Analyzer

Database Manager Call

See:

Database Manager GUI, Displaying and Deleting Database Analyzer Information

Database Manager CLI, Analyzing the Database Instance

Calling Directly from the Command Line

Enter the following command in a command window:

dbanalyzer [<options>]

You will find an overview of the call options <options> in the Options section.

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples


Options (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options

Use

You can specify the following options when calling Database Analyzer:

dbanalyzer [<options>]

<options>=[-d <database_name>] [-u <user,password>] [-t <interval>[,<number>]] [-n <database_server>] [-f <configfile>] [-o <outputdir>] [-c <level> ] [-i] [-nologo] [-noenv] [-stop]

-d <database_name> | Name of the database instance
-u <user,password> | User name and password
-t <interval>,<number> | Time interval (in seconds) between two analyses <interval> and the required number of analyses <number> If you specify a value for <number>, Database Analyzer ends after this number of analyses.
-n <database_server> | Name of the computer on which the database instance runs If you specify the computer name, you must also use the –o option to specify the directory for the log files.
-f <configfile> | Name of the configuration file If you do not specify a configuration file, Database Analyzer uses the dbanalyzer<version>.cfg file in the database directory <dependent_path>/env.
-o <outputdir> | Directory for the log files If you start Database Analyzer on the computer on which the database instance is installed, then you do not need to specify –o. If you do not specify -o, Database Analyzer uses the analyzer subdirectory in the run directory of the database instance.
-c <level> | Displays debugging information You can specify a value between 1(low) and 4 (high). If you do not specify -c, there is no debugging information displayed.
-i | Deletes any existing log files for the same day
-nologo | Suppresses the logo
-noenv | Suppresses logging and output of the environment variables from the configuration file
-stop | Stops a running Database Analyzer


Configuration File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Configuration File

The configuration file dbanalyzer<version>.cfg defines the rules and commands for how the Database Analyzer determines performance-relevant data.

The Analyzer either takes the performance-relevant data directly from the system tables of the database, or calculates it from these values.

The configuration file also describes the five classes (information, three levels of warnings, error messages) that the Database Analyzer uses to analyze the parameters and log them in the log file. You can specify fixed instructions for how the user should respond to these classes.

Changes to the rules and commands apply to the configuration file only; the Database Analyzer program remains unchanged.


Log Files (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Log Files

Definition

The analysis data collected by the Database Analyzer during the day, and any other logs from the Database Analyzer, are saved in a range of log files in the log file directory.

You can specify the log file directory as follows:

· When you call the Database Analyzer, you can use the option –o to specify the log file directory. The log files are saved in the subdirectories /YYYYMMDD.

· If you start the Database Analyzer on the computer on which the database instance is installed, you do not need to specify –o. The log files are saved in the subdirectory analyzer in the run directory of the database instance.

Explanation of Some Log Files

DBAN.prt

This file contains the following information:

· Unique information about the configuration and performance-relevant data of the database instance

· Bottlenecks discovered by the Database Analysis during each measurement

The Database Analyzer weighs the information and bottlenecks:

I | Information | General information, such as the number of executed commands
W1 to W3 | Warning levels 1 to 3 | Bottleneck warnings with low, medium, and high priority
E | Emergency | Critical problems, such as an imminent database crash

See also:

Messages

DBAN_<monitor_class>.csv

These files contain all analysis data. They allow you to check runtime behavior retrospectively.

One file exists for each monitor class (analysis area). You can use Microsoft Excel to open and read this file as soon as the Database Analyzer stops writing to it.

Log files of the Database Analyzer

The Database Analyzer provides a range of logs which are written, if problems with Database Analyzer tools occur.

· DBAN.err: Error file of Database Analyzer

· DBAN.inf: Current information on the most recently started Database Analyzer.
This file also contains information on identification of the database session (File DBAN.sid) and on identification of the processes (File DBAN.pid).

List of all Log Files

The following tables show you the information that you can find in the Database Analyzer.

Log Files for all Database Instance Types

DBAN.prt | Logs messages, including analysis rules and current values that caused the message
DBAN_CACHES.csv | Successful and unsuccessful accesses to the caches and hit rates
DBAN_CPU_UTILIZATION.csv | Information about the system load: CPU usage in user and system modes, displayed according to system and instance and time in the Idle state.
DBAN_FILLING.csv | Fill level of the database instance (for example, the size of the data volumes, number of permanently and temporarily used pages)
DBAN_IO.csv | Reads and writes to cache pages and data pages
DBAN_LOAD.csv | Accesses and selectivity of SELECT, FETCH, INSERT, UPDATE, and DELETE statements
DBAN_LOGGING.csv | Number of log pages written, fill level of the log queue and so on.
DBAN_OVERVIEW.csv | Overview of the most important information from the log files of the Database Analyzer.
DBAN_REGIONS.csv | Information about accesses to critical sections
DBAN_RW_LOCKS.csv | Information about accesses to critical sections (reader-writer locks).
DBAN_SHARED_SQL.csv | Statistics on Shared SQL (hit rates for the prepare cache, command cache, cleanup, unload)
DBAN_SPINLOCKS.csv | Information about accesses to critical sections (spinlocks)
DBAN_STRATEGY_INDEX.csv | Accesses and selectivity for index searches
DBAN_STRATEGY_PRIMKEY.csv | Accesses and selectivity for PRIMARY KEY searches
DBAN_STRATEGY_SCANS.csv | Accesses and selectivity for INDEX SCAN and TABLE SCAN searches
DBAN_TASK_ACTIVITIES.csv | Information on task activities (such as number of SQL statements, number of running user tasks, number of task changes)
DBAN_TASK_IO.csv | Number and duration of physical writes and reads from perspective of the log writer, the user task, and the pager
DBAN_TASK_STATES.csv | Number and execution duration of processed statements Number and wait duration of the task states Vsuspend, Vwait, sleep
DBAN_TRANSACTIONS.csv | Number of SQL statements and procedure calls, PREPARE, EXECUTE, COMMIT, and ROLLBACK statements, sub-transactions, TIMEOUTS caused by locks, and conversions of row locks to table locks (Lock List Escalations)
DBAN.err | Error files of the Database Analyzer
DBAN.inf | Current information on the latest Database Analyzer started

liveCache-Specific Log Files

DBAN_CACHES_OCCUPANCY.csv | Cache load and occupancy (proportion of OMS, SQL, and history pages in the data cache)
DBAN_GC.csv | Information about the activities of the garbage collector tasks: how often they were active, number of deleted objects and history objects, number of physical I/O operations.
DBAN_OMS.csv | Number of calls by DB procedures, dereferences, deleted objects, history accesses
DBAN_OMS_CONTAINER.csv | Information on Structure link class containers (such as number of classes, occupancy, number of free pages)
DBAN_OMS_HEAP.csv | Information on OMS heap (such as occupancy, current size, collisions)
DBAN_OMS_VERSIONS.csv | Information on OMS versions (such as number and age of versions used)


Messages (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Messages

Database Analyzer can write the following messages in the log file, among others:

Avg user cmd exec time for task

Avg user suspend time for task

Avg user wait time for task

Catalog cache hitrate

Collision rate

Data cache hitrate

Data volume filling level

Deletes

Free user tasks

Index accesses

Index range accesses

Isolated index accesses

Isolated index range accesses

Isolated index scans

Log area filling level

Lock list escalations

Log queue overflows

Log write time

Max log queue filling

Number of cached history pages

Number of physical reads

Number of physical writes

Number of physical writes of temporary pages

OMS cache hitrate

OMS heap collisions

OMS heap utilization

OMS history cache hitrate

OMS terminates

OMS version is old

OMS version is unloaded

Out of memory exceptions

Parse activities

Physical reads for user task

Primary key accesses

Primary key range accesses

Selects and Fetches

Table scans

Updates

User task blocked in state

User task physical writes


Avg user cmd exec time for task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Avg user cmd exec time for task

Avg user cmd exec time for task <task_ID>: <duration> ms,
<number_of> commands, application pid <pid>

Explanation

The time needed by the specified user tasks to execute the statements is very high. You see the average execution time of a statement, the number of statements checked, and the process ID of the relevant application process.

Whether this counts as a bottleneck, depends on the application structure.

Mass statements in background processes can often cause long runtimes. As well as this, situations such as locks in SQL objects, physical reads and writes, or dispatching caused by the prioritization of other tasks, can cause internal kernel wait situations that increase runtimes.

If, in liveCache instances, a DB procedure takes a long time to execute, it is highly likely that other users are being blocked in the same liveCache thread. This can cause unexpectedly long runtimes for other transactions or DB procedures.


Avg user suspend time for task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Avg user suspend time for task

Avg user suspend time for task <task_ID>: <duration> ms,
<number_of> suspends, application pid <pid>

Explanation

The execution of this user task has been interrupted by wait times. You see the average duration of all wait times that have been determined. This value is normally under 100 milliseconds.

You also see how often wait times occurred.

User Response

Check the state of the user task at regular intervals.


Avg User Wait Time For Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Avg User Wait Time For Task

Avg user wait time for task <task_ID>: <duration> ms, <number_of> waits, application pid <pid>

Explanation

In a lock collision, the wait time for a lock to be released is quite considerable.

This can be caused by a transaction that takes too long. Long wait times (task status vwait) can also occur when various applications want to lock the same object.

If the locks are requested by other sessions, the database system attempts to execute locking tasks with higher priority within the database kernel.

For information on the current locks, see the system tables TRANSACTIONS and LOCKS of the database instance.

User Response

Check the following aspects of the application:

  • Is it suitable for isolation level 0 (uncommitted)?
  • Can the time between the lock request and the COMMIT statement be reduced?
  • Can you avoid simultaneous locks on the same row by splitting tables?


Catalog Cache Hitrate (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Catalog Cache Hitrate

Catalog cache hitrate <percentage>%, <number> of <number> accesses failed

Explanation

The hit rate when accessing the catalog cache in which the parsed SQL statements are administered is too low. In a running database application, the catalog cache hit rate should be about 90%. If new program components or programs are started, the hit rate can drop temporarily to a very low level. However, the average over a 15-minute period should not drop below 85%.

User Response

The size of the catalog cache should be about 100 pages for each database session. You can check this using the general database parameter MAXUSERTASKS and the special database parameter CAT_CACHE_SUPPLY.

The catalog cache is enlarged dynamically by the active database sessions, and released again with a RELEASE statement. You can determine the current cache sizes using the SQL statement SELECT * FROM CONNECTEDUSERS.

If sessions need significantly more than 100 pages, we recommend that in the medium term you increase the catalog cache accordingly, memory permitted.


Collision Rate (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Collision Rate

<region_name>: collision rate (<percentage>%), <number_of> collisions, <number_of> accesses on region <region_ID>

Explanation

The rate of lock collisions is high.

Tasks that run in different threads are attempting to access a global storage area in parallel. The synchronization required for this often leads to an increased collision rate.

One exception to this in liveCache instances is high collision rates in the OMSVDIR and CNSTVIEW regions (<region_id>). This is normal for certain actions, such as a simultaneous CIF queue transfer.

User Response

You need to act if the collision rate rises above 10%. Generally, the risk of collision rises with the number of processors used (MAXCPU general database parameter). In multiprocessor systems, you should therefore check whether the database system can fulfill the needs of the applications with fewer CPUs.

If high collision rates occur in multiprocessor central systems (database system and application running on the same computer), check whether the computer’s CPU is overloaded, and whether the database threads are blocked by other applications. In this case, the database threads that contain user tasks should receive REAL TIME PRIORITY from the operating system. To avoid operating system blocks however, the value of MAXCPU must be at least one lower than the number of actual CPUs.

Additional Actions

· If the high collision rates occur in the DATAn, SPLITn or TREEn regions, increase the values of both the general database parameter CACHE_SIZE and the special database parameters _DATA_CACHE_RGNS and _TREE_RGNS.

· If the high collision rates occur in the TRACE or BUFWRTR regions, then activate the database trace temporarily for troubleshooting only.


Data Cache Hit Rate (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Cache Hit Rate

Data cache hit rate <percentage>%, <number> of <number> accesses failed

Explanation

The hit rate when accessing the data cache is too low. The hit rate in a running liveCache application should not be under 100%.

Lower hit rates may occur for short periods of time, for example, when objects are accessed for the first time, or if a table that is being scanned (TABLE SCAN) is larger than 10% of the data cache (only if the special database parameter LRU_FOR_SCAN has the value yes). Data cache hit rates that are lower than 99% over a fifteen-minute average must be avoided.

User Response

Check the following points:

· The data cache load

· The configuration of the database instance and the hardware

· In liveCache instances, the size of the plan versions, as well as OMS versions that have existed for a long time.

Frequently, individual SQL statements cause a high percentage of the total logical and physical read activity. Increasing the cache just moves the load from the hard disk to the CPU, even though, for example, an additional index could turn a read-intensive table scan into a quick direct access. For information on creating optimized SQL statements, see SQL Optimizer.


Data volume filling level (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data volume filling level

Data volume filling level <percentage>%, <number_of> pages configured, perm used <perm_used>, temp used <temp_used>

Explanation

The fill level of the data volumes is high. If the fill level is 100%, the database instance stops.

User Response

If the amount of data that needs administering in the database instance has increased, you may need to add a new data volume.

A large proportion of temporary data pages (temp used) indicates large amounts of (buffer) result sets. Find the statement that is causing these large amounts of (buffer) result sets to be created, and check the access strategies for this statement.

For information on creating optimized SQL statements, see the SQL Optimizer documentation.


Deletes/Updates (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Deletes/Updates

Delete selectivity <percentage>%: <number_of> deletes, <number_of> rows read, <number_of> rows qualified

Update selectivity <percentage>%: <number_of> updates, <number_of> rows read, <number_of> rows qualified

Explanation

The ratio of read rows to modified rows is poor for UPDATE or DELETE statements.

Before UPDATE and DELETE statements can modify or delete rows, the row must be located in the table. The same access strategies are used as in a SELECT statement.

User Response

Find the statement that causes this poor ratio of read rows to found rows, and check the access strategies for this statement.

For information on creating optimized SQL statements, see the SQL Optimizer documentation.


Free User Tasks (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Free User Tasks

Free user tasks: <count>, connected users: <count>

Explanation

The number of free user tasks is low. If there are no free user tasks, then no more applications can connect to the database instance.

User Response

Check the existing database connections. Check whether any applications have connected to the database more than once. If the number of applications that want to work with the database instance rises, you may need to increase the value of the general database parameter MAXUSERTASKS.


Lock List Escalations (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Lock List Escalations

Lock list escalations: <count>

Explanation

The number of row locks in a table is too high. The database system attempts to convert the row locks into a table lock.

User Response

You can specify the maximum number of possible row locks in the lock list in the general database parameter MAXLOCKS. The database system attempts to convert the row lock to a table lock if a task holds more than 0.1*MAXLOCKS row locks in a table. If too many escalations occur, increase the parameter value.

Whether escalations lead to problems depends strongly on the application in question. If escalations occur, check the application to see whether you can split any change transactions that lock a lot of rows into several individual transactions.


Log Area Filling Level (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Area Filling Level

Log area filling level <percentage>%, <number_of> pages configured, <number> used

Explanation

The fill level of the log area is high. If the fill level is 100%, the database instance stops.

User Response

· Back up the log area. If necessary, activate automatic log backups. If automatic log backups are already activated, check whether the last backup was successful.


Log Queue Overflows (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Queue Overflows

Log queue overflows: <count>

Log queue overflows: <count>, configured log queue pages: <count>

Explanation

The log queue is full before the log pages are written to the log area.

User Response

Use the special database parameter LOG_IO_QUEUE to check the size of the log queue, and increase its value, if possible.

Check the performance of the hard disk on which the log volumes are located.


Log Write Time (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Log Write Time

Avg log write time (log_writer_task) <duration> ms, <number_of> writes, <number_of> pages

Avg log write time (dev_thread) <duration> ms, <number_of> writes, <number_of> pages

Explanation

The physical writing of log entries take too long. There is the risk of a bottleneck.

User Response

Check the reads and writes in the disk area or device on which the log volumes are located. If possible, only the log entries should be made here, and no other reads or writes. In certain circumstances, you may need to move the log volumes to a quicker device.

See also:

Database System Concepts, Logging Transactions


Max Log Queue Filling (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Max Log Queue Filling

Max log queue filling: <percentage>%

Explanation

The fill level of the log queue is high. If the fill level reaches 100%, you risk a log queue overflow.

User Response

Check the value of the special database parameter LOG_IO_QUEUE, and increase it, if possible.

Check the performance of the hard disk on which the log volumes are located.


Number of Cached History Pages (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Number of Cached History Pages

Number of cached history pages (<number>) exceeds number of cached OMS pages (<number>)

Explanation

This message can occur for liveCache instances only.

In the data cache, the number of history pages is higher than the number of OMS data pages.

User Response

Search for old OMS versions and transactions that prevent the history pages from being deleted in the data cache.

Check whether the reports /SAPAPO/OM_REORG_DAILY and /SAPAPO/OM_DELETE_OLD_SIMSESS are being executed at regular intervals (see also Structure link Monitoring OMS Versions).


Number of Physical Reads (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Number of Physical Reads

Number of physical reads: <count>

Explanation

A large number of physical reads are taking place on the volumes of the database instance as the data requested by the applications was not found in the data cache.

User Response

If a table is accessed for the first time, or if it has not been used for a long time, and was therefore displaced from the data cache, then this situation is not a problem.

However, if this does not explain the read activity, check the hit rate for the data cache, and increase the size of the data cache, if necessary.

Also make sure that the SQL statements specified by the application do not read significantly more data than is necessary for processing, because of poor search strategies, for example.

If the special database parameter LRU_FOR_SCAN has the value yes, then table scans use only 10% of the data cache for caching the table. This could mean that it was not possible to hold the entire table in the data cache, and the next scan has to read it physically again.


Number of physical writes (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Number of physical writes

Number of physical writes: <count>

Explanation

Not all of the data used by the applications can be held in the data cache. This causes pages from the data cache to be displaced to the data area, which means that there are a large number of writes to the data volumes.

This phenomenon is almost unavoidable if load times (data import) are long, since the imported data is usually much larger than the size of the data cache.

Also, a savepoint also writes modified pages from the data cache to the data area at regular intervals. Read and write activity increases significantly at this time, without causing a genuine bottleneck. In normal operations, you should not be able to measure any significant write activities other than the savepoints.

User Response

If you notice a high level of write activity in normal operations, first make sure that no savepoint was active during the measurement interval (which is possibly too short).

If no savepoint was active, increase the size of the data cache.


Number of Physical Writes of Temporary Pages (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Number of Physical Writes of Temporary Pages

Number of physical writes of temporary pages: <count>

Explanation

When temporary data pages are generated to build (buffer) result sets (in JOINS or ORDER BY statements, for example), the data cache is not large enough to accommodate the temporary pages, which have to be moved into the data area. However, these pages must be exported out of the data area again for the further processing of the SQL statement.

User Response

Find the statement that causes these large (buffer) result sets to be created, and check the access strategies for this statement.

For information on creating optimized SQL statements, see the SQL Optimizer documentation.


OMS Cache Hit Rate (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Cache Hit Rate

OMS cache hit rate <percentage>%, <number> of <number of> accesses failed

Explanation

This message can occur for liveCache instances only.

The hit rate when accessing the OMS data in the data cache is too low. In a running liveCache application, the hit rate should not fall below 100%, otherwise the data must be read physically.

The hit rate may fall for short periods of time, for example, when objects are accessed for the first time.

User Response

Check the following points:

· The data cache load

· The size of the plan version

· Long-running OMS Versions

· Configuration of the liveCache instance and the hardware


OMS Heap Collisions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Heap Collisions

OMS heap collision rate <percentage>%, <number of> collisions during <number of> heap allocations/deallocations

Explanation

This message can occur for liveCache instances only.

Tasks that run in different threads attempt to request or release memory from the OMS heap in parallel. This causes an increase in the number of collisions.

User Response

Check whether the liveCache database parameter OMS_HEAP_COUNT, which determines the number of OMS heap segments, has an optimum value. See Concepts of the Database System, liveCache database parameters.

Generally, the risk of collision rises with the number of processors used (general database parameter MAXCPU). Check whether the liveCache instance can fulfill the requirements of the applications with fewer processors. If not, check whether the CPU on the computer is overloaded, and whether the liveCache threads are blocked by other applications running on the computer. In this case, the liveCache threads that contain user tasks: should have REAL TIME PRIORITY in the operating system. To avoid operating system blocks however, the value of MAXCPU must be at least one lower than the number of actual CPUs.


OMS Heap Utilization (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Heap Utilization

OMS heap utilization <percentage>%, used/max: <used_size>/<heap_limit_size>

Explanation

This message can occur for liveCache instances only.

The memory requirements in the OMS heap are very high for the running DB procedures.

If the memory utilization in the OMS heap reaches 100%, there is the risk of errors in the DB procedures (Out of Memory Exceptions), or that OMS version data is swapped from the OMS heap to the global data cache (OMS version is unloaded).

User Response

If necessary, increase the size of the OMS heap.

Check whether the configuration of your database instance and hardware meets the requirements of the liveCache application.


OMS History Cache Hit Rate (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS History Cache Hit Rate

OMS history cache hit rate <percentage>%, <number> of <number of> accesses failed

Explanation

This message can occur for liveCache instances only.

The hit rate when accessing history data (links to undo log entries for the object) in the data cache is too low. In a running liveCache application, the hit rate should not fall below 100%, otherwise the data must be read physically.

The hit rate may fall for short periods of time, for example, when objects are accessed for the first time.

User Response

Check the following points:

  • The data cache load
  • The size of the plan version
  • Long-running OMS versions
  • Configuration of the liveCache instance and the hardware

See also:

Concepts of the Database System, History Management


OMS Terminates (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Terminates

<number of> terminates of DB procedure '<DB_procedure_name>' due to errors

Explanation

This message can occur for liveCache instances only.

An error occurred during the execution of the specified DB procedure.

User Response

Use the log files (such as knldiag and lcapo_com_trace_<xy>.txt) to find out the cause of the error.


OMS version is old (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS version is old

OMS version <OMS_version_ID> is <hours> hours old, uses <number> KB

Explanation

This message can occur for liveCache instances only.

OMS versions are often open for long periods of time and occupy memory in the OMS heap. The number of history pages (links to undo log entries for the object) increases in the data cache and on the hard disc.

User Response

Find out the OMS version and the fill level of the data cache.

If the fill level of the data cache and the percentage of the history pages are high, try and find out the cause.

Check whether the reports /SAPAPO/OM_REORG_DAILY and /SAPAPO/OM_DELETE_OLD_SIMSESS are being executed at regular intervals (see also Structure link Monitoring OMS Versions).

See also:

Concepts of the Database System, History Management


OMS Version is Unloaded (SAP Library - MaxDB Library)

 Entering content frame

Background documentation OMS Version is Unloaded

OMS version <OMS_version_ID> is unloaded, uses <number> KB

Explanation

This message can occur for liveCache instances only.

OMS version data was loaded from the OMS heap into the data cache, since the value of one of the two liveCache parameters OMS_HEAP_THRESHOLD or OMS_VERS_THRESHOLD was exceeded.

Performance suffers when accessing the relevant OMS versions, since it takes longer to access the data cache than the OMS heap.

User Response

Check the parameters OMS_HEAP_THRESHOLD and OMS_VERS_THRESHOLD.

If necessary, increase the size of the OMS heap.

See also:

Concepts of the Database System, liveCache Database Parameters


Optimizer Strategies (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Optimizer Strategies

<number of> <optimizer_strategy_executes>, selectivity <percentage>%: <number of> rows read, <number of> rows qualified

Explanation

The ratio of read table rows to found table rows is poor when a particular access strategy (<optimizer_strategy_executes>) is used.

The access strategy can be one of the following strategies:

· Primary key accesses
(EQUAL CONDITION FOR KEY,
SUBQ CONDITION FOR KEY,
IN CONDITION FOR KEY)

· Primary key range accesses
(RANGE CONDITION FOR KEY,
SUBQ CONDITION FOR KEY,
IN CONDITION FOR KEY)

· Index accesses
(EQUAL CONDITION FOR INDEX,
SUBQ CONDITION FOR INDEX,
IN CONDITION FOR INDEX)

· Index range accesses
(RANGE CONDITION FOR INDEX,
SUBQ CONDITION FOR INDEX,
IN CONDITION FOR INDEX)

· Isolated index accesses
see: EXPLAIN statement: O,D,T,M Columns, column O (Only Index)
and Index accesses

· Isolated index range accesses
see: EXPLAIN statement: O,D,T,M columns, column O (Only Index)
and Index range accesses

· Isolated index scans
(INDEX SCAN)

User Response

Find the statement that causes this poor ratio of read rows to found rows, and check the access strategies for this statement.

For information on creating optimized SQL statements, see the SQL Optimizer documentation.

See also: Table scans


Out of Memory Exceptions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Out of Memory Exceptions

Out of memory exceptions: <count>

Explanation

This message can occur for liveCache instances only.

DB procedures failed due to too little memory in the OMS heap.

User response

· Search for more information in the log file knldiag.

· Check the OMS versions, and check how much space they occupy in the OMS heap, for example, by using the log files DBAN_OMS_VERSIONS.csvand DBAN_OMS_HEAP.csv.

· Check the OMS heap and, if possible, increase the size of the heap.


Parse Activities (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Parse Activities

Parse activities <percentage>%, <number of> prepares, <number of> commands

Explanation

The number of parse activities in the total number of executed statements is very high.

Before an SQL statement is executed for the first time, it has to be analyzed (parsed) first. To do this, the database system determines the possible access strategies and saves the statement to the database instance in a compact form. When the statement is executed again, only this internal information is accessed, and the statement is executed directly.

In applications that are based on ODBC and use the PREPARE statement, the developer is responsible for the number of parse or EXECUTE requests.

If the SQLDBC or JDBC interface is used, and the parse info cache is active, the corresponding interface is responsible for optimizing the parse requests.

A high level of parse activity when the database is running can indicate a missing statement cache implementation in your application, or a deactivated parse info cache in the JDBC interface.

A high level of parse activity is normal when programs or program components are started for the first time.


Physical Reads for User Task (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Physical Reads for User Task

<number of> physical reads for user task <task_ID>, <number of> commands, application pid <pid>

Explanation

The user task <task_id> causes a large number of physical reads to take place on the volumes of the database instance as the data requested by the applications was not found in the data cache.

User Response

If a table is accessed for the first time, or if it has not been used for a long time, and was therefore displaced from the data cache, then this situation is not a problem.

However, if this does not explain the read activity, check the hit rate for the data cache, and increase the size of the data cache, if necessary.

Also make sure that the SQL statements specified by the application do not read significantly more data than is necessary for processing, because of poor search strategies, for example.

If the special database parameter LRU_FOR_SCAN has the value yes, then table scans use only 10% of the data cache for caching the table. This could mean that it was not possible to accommodate the entire table in the data cache, and the next scan has to read it physically again.


Selects and Fetches (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Selects and Fetches

<number of> selects and fetches, selectivity <percentage>%: <number of> rows read, <number of> rows qualified

Explanation

The strategies for accessing table data are poor for SELECT or FETCH statements. The system has to read a large number of table rows to find a small number of rows that fulfill a WHERE condition.

User Response

Find the statement that causes this poor ratio of read rows to found rows, and check the access strategies for this statement.

For information on creating optimized SQL statements, see the SQL Optimizer documentation.


Table scans (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Table scans

<number of> table scans, selectivity <percentage>%: <number of> rows read, <number of> rows qualified

Explanation

The ratio of read rows to found rows is poor for table scans (TABLE SCAN). This often indicates a poor search strategy, caused either by the application (missing or insufficient indexes), or by a problem in the SELECT optimization of the database kernel.

Scanning large tables can have seriously negative effects on the performance of the entire system.

User Response

Find the statement that causes this poor ratio of read rows to found rows, and check the access strategies for this statement.

For information on creating optimized SQL statements, see the SQL Optimizer documentation.


User Task Blocked in State (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Task Blocked in State

User task <task_ID> blocked in state '<state_description>'

User task <task_ID> blocked in state '<state description>', DB procedure: <DB_procedure_name>

Explanation

The specified user task is active, however, its task state is not changing. This also blocks all other tasks in the same user kernel thread. In extreme cases, the blocking task may be in an endless loop.


User Task Physical Writes (SAP Library - MaxDB Library)

 Entering content frame

Background documentation User Task Physical Writes

User task physical writes: <count>

Explanation

Modified pages are displaced from the data cache to the data area, since not all of the data used by the applications can be held in the data cache.

If the data cache were large enough, the physical write would be delayed to the next savepoint, and performed asynchronously. Cache displacements, however, use synchronous writes and reads, and should be avoided if possible.

This phenomenon is almost unavoidable if load times (data import) are long, since the volume of imported data is usually much larger than the size of the data cache.

User Response

Increase the size of the data cache.


Loader (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Loader

Purpose

The Loader enables the Export from a MaxDB database instance to the file system or the Import of application data from the file system to a MaxDB database instance.

Because the Loader supports a great number of file formats it can often be used to import and export data instead of special application programs. Due to its specialization on MaxDB database instances the Loader offers maximum performance.

Furthermore, the Loader supports the direct transport of data from one database instance to another, which runs on a different hardware structure or a different operating system.

Optionally you can transport the entire data of a database instance, of a certain database user, the individual tables of a special database schema or only a number of qualified columns. Besides files, pipes and back-up tools by other providers are also supported as transport media.

The Loader is a command line tool and can be used on all operating systems supported by the database system.

Implementation Notes

The Loader is a component of the MaxDB software. For information on where to obtain MaxDB software and how to install it, see the Download section and the Installation Manual.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

...

· Calling the Loader

· Commands and SQL Statements

· Log Functions

Overviews

· Syntax Rules: Overview

· Terms: Overview

· Key Words: Overview

· Explanation of the Objects in the HOTEL Schema

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples

· Directories


Calling the Loader (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Calling the Loader

The Loader database tool consists of a client part and a server part. The Loader client transmits the commands to be processed. The Loader server creates the connection between the Loader client and the database instance and processes the commands.

See also: Concepts of the Database System, Architecture of the Database Tools

You can install the required software components of the Loader by specifying the following installation profiles: Server (Loader server), Loader (Loader client) or All (Loader server and client).

See also: Installation Guide, Installation Profiles

Process Flow

The way in which the Loader server is called varies depending on which Loader client you are using.

· Call Options of the Loader CLI

· Perl Manual, SAP::DBTech::loader Module

· Python Manual, spdb.loader Module

· Calling the Loader Using the Java Interface

Syntax Rules for Calling the Loader

Note the following general syntax rules when you call the Loader.

· Case-sensitivity
There is no distinction between upper- and lower-case letters. The Loader converts all names to upper-case characters internally, unless you place character strings in double quotation marks.

· Key words
Both the keywords of the Loader and the SQL keywords can be used to denote database objects if they are placed in single or double quotation marks.

This documentation contains only a short summary of the functions of the script languages that can be used in the Loader. For more information, see the vendor documentation for Perl, Python, or Java.


Call Options of the Loader CLI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Call Options of the Loader CLI

You can call the Loader using the Loader CLI Client (LOADERCLI). By specifying the corresponding options, you can control the settings of the operating mode and transfer connection information and so on.

Procedure

You can specify options when you call the Loader CLI.

loadercli [<options>]

Call up the help to get an overview of all options.

loadercli -h

Explanation

The input to the Loader can happen via three operating modes: interactive transport mode, command file mode and session mode.

In transport mode the user is interactively prompted for input to export application data from one database instance and import it into another database instance. The input parameters and the loader configuration file are used to generate and execute the syntax of the loader commands.

The generated Loader commands are optionally displayed on the console and the user can then use them as templates for commands he has written himself. In the actual transport mode, no knowledge of the loader syntax is required.

In command file mode, a command file written by the user is processed sequentially. In contrast to transport mode, the command file can contain any sequence of Loader commands and SQL statements. However, in most cases a slight modification of the Loader commands generated in transport mode will suffice.

In session mode the user can transfer the Loader commands and SQL statements to the Loader directly via the console.

Options for Setting up the Operating Mode

The option that is required for determining the required operating mode always has to be specified.

options

-p
[<connect_options>]
[<transport_options>]

Loader CLI transferred into transport mode, if you specify option –p.

See also:
Transport Mode

<transport_options>

Transport Mode: Options

-b <command_file>
[<connect_options>]
[<in_output_options>]
[<version_options>]

Loader CLI is transferred into command file mode, if you specify option –b.

See also: Command File Mode

<command_file>

Command File

[<connect_options>]
[<in_output_options>]
[<version_options>]

Loader CLI is transferred into session mode, if you specify neither option –p nor option –b.

See also:
Session Mode

Options for Transferring Version Information

Version information can be transferred in all operation modes.

connect_options

-d[SRC|TRG] <database_name> | Name of database instance
-u[SRC|TRG] <database_user>[,<password>] | Name and password of the database user
-n[SRC|TRG] <database_computer>[:<port>] | Name of database computer
-s[SRC|TRG] <database_schema> | Name of the schema
-e <encryption> | Encryption method.

You have to use the entries SRC and TRG in transport mode. They are not available in command file and session mode.

See also:

Options for Establishing a Connection

Options for Controlling Input and Output

You cannot specify options for controlling input and output in transport mode.

in_output_options

-o[w|a] <file_name> | Name of the output file
-cs <separator> | Specifies a command separator
-ps <number><string> | Specifies a substitution parameter
-E <number> | Maximum permitted number of errors

See also:

Options for Input and Output

Options for Determining Version Information

You cannot specify options for determining version information in transport mode.

version_options

-V | Version of the Loader server
-v | Version of the Loader CLI
-R <dependent_path> | Directory that contains the programs that depend on the version of the database software

See also:

Options for Determining Versions Information

Examples

Calling the Loader in Transport Mode

loadercli –p –t export -dSRC demodb -uSRC mona,red –nSRC genua –sSRC hotel

The Loader establishes a connection to database instance DEMODB for user MONA to export data from the schema HOTEL. The further input interactively happens in transport mode.

Calling the Loader in Command File Mode

loadercli -b command.dat -d demodb -u mona,red –E 20

The Loader establishes a connection to the database instance DEMOB for the user MONA. The Loader processes the commands and statements contained in the command file command.dat. If errors occur (return code <> 0) in doing this, the processing of the command file is terminated as soon as 20 error messages have appeared.

Calling the Loader in Session Mode

loadercli –d DEMODB -u mona,red

The Loader establishes a connection to the database instance DEMOB for the user MONA. The Loader then waits for the commands and SQL statements in the command line, and processes them.

See also:

Transport Mode: Examples

Result

Before it connects to the database instance, the Loader CLI first evaluates the relevant options. The Loader then executes the commands and SQL statements in the command file (or those entered interactively).

In all operation modes the Loader writes the log file loader.prt and additional information if appropriate.

Errors

If errors occur when commands or SQL statements are processed, the way in which the Loader responds depends on the operation mode in which it was used.

· Transport mode: The Loader stops processing the commands and SQL statements when an error occurs. Detailed information is written to log files. For the export and import the errors are written to log file loader.prt. In case of a transport there is a separate log file for the export and the import.

· Command file mode: The Loader stops processing commands and SQL statements after a defined number of errors, and exits. You can use the option –E to define the number of errors that the Loader ignores before it stops processing commands. If you do not use the option –E, the Loader stops running after the first command with an error. You cannot react to the errors when you are using the Loader CLI.

· Session mode; The Loader reports the error that has occurred and then awaits further input for processing.

If you want to respond to errors, the Loader functions are available as a library for the Perl and Python script languages.

See also:

Perl Manual, SAP::DBTech::loader Module

Python Manual, Modul sdb.loader


Transport Mode (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Transport Mode

In transport mode the user is interactively prompted for input to export application data from one database instance and import it into another database instance. The input parameters and the Loader configuration file are used to generate and execute the syntax of the Loader commands.

The generated Loader commands are optionally displayed on the console and the user can then use them as templates for commands he has written himself. In the actual transport mode, no knowledge of the loader syntax is required.

Use

In transport mode the user designs a transformation package in an interactive menu by entering the direction of the transport (export from one database instance, import to an database instance or transport between database instances), the database connection parameters and the database part to be transported. This specifies the content of the package that is to be transported. When designing the package the user may also choose the transport medium and the format in which the application data is to be transported during the transport.

Syntax

You can start Loader CLI in interactive transport mode. To do so, enter the following command:

loadercli –p

If you already want to influence the interactive menu when Loader CLI is called or if you want to call up an already generated transformation package, use the corresponding options.

See also:

Transport Mode: Options

Examples

Transport Mode: Examples

Features

A transformation package is designed for an Export. In addition to the design data, the package consists of the catalog data and application data of the database instance and the corresponding runtime data of the transformation.

You can execute this package. That is, the Loader processes the sequence of Loader commands generated from the package (the transformations) step by step (phase execute).

You do not have to execute a designed package immediately; you can choose to only generate the sequence of loader commands (phase generate). You can execute this generated package at a later time either as is or with minor modifications (phase execute). You can execute a generated transformation package either interactively or by means of the corresponding transport mode options.

After an export, the user has the option of starting the import of the package to another database instance by specifying the package name (interactively or by means of the corresponding transport mode options). In this case you can also either generate the import package or execute it immediately.

You can design and generate or even execute an export and its corresponding import package together, if you choose the transport transformation type.

Generated Design Data

The generated design data of the package includes the following data:

· Command file: <package_name>.prt
This file contains the sequence of Loader commands generated from the design data. The user can modify the file and execute it in command file mode of the Loader. The sequence of these Loader commands is also copied to the log file.

· Internal files: <package_name>.xml, <package_name>.PACKAGE, <package_name>.par, <package_name>.cfg
These files contain internal data and may not be changed.

Database Catalog Date

The database catalog data includes one or more catalog files, depending on which granularity of the database catalog was chosen for the export.

· <database_name>.CATALOG: All metadata of the specified database was transformed.

· <user_name>.CATALOG: The metadata that is owned by the specified user was transformed.

· <schema_name>.CATALOG: The metadata of the specified schema was transformed.

· <table_name>.CATALOG: The metadata of the specified table was transformed.

Application Data

The application data includes one or more catalog files, depending on which granularity of the database catalog was chosen for the export.

· Mapping file:
<database_name>.DATA0000
| <user_name>.DATA0000
| <schema_name>.DATA0000
The application data of the specified database, user or schema was transformed.

· Data file:
<database_name>.DATA000[<FILENO>]
| <user_name>.DATA000[<FILENO>]
| <schema_name>.DATA000[<FILENO>]
FILENO is the sequential numbering of the files for the application data if the dataset of a file exceeds 2 GB, which starts with 1.
The application data of the specified database, user or schema was transformed.

· Application data of the table except for the values of the LONG columns: <table_name>.DATA
The application data of the specified table was transformed.

· Application data of the LONG columns: <table_name>_<column_name>.DATA[<ROWNO>]
ROWNO is the sequential numbering of the data files starting with 1, if the LONG values for column value are exported to a separate file.
The application data of the specified LONG column of the table was transformed.

Runtime Data

The runtime data is included in the package file:

<database_name>.PACKAGE | <user_name>.PACKAGE | <schema_name>.PACKAGE

The package file contains the runtime data of a transformation of the specified database, user or schema.

Result

The requested commands are designed and generated and, if applicable, executed.

Each package contains a globally unique ID package_guid, a timestamp package_timestamp, that shows when the package was generated or executed and a package name package_name, which is identical to the timestamp by default. This information is displayed after an action is completed.

The export and import packages are stored in the package directory <loader_user_data>\packages in the following subdirectories:

  • EXPORT directory:
    export\<database_computer>\<database_name>\<package_name>
  • IMPORT directory:
    import\<database_computer>\<database_name>\<package_name>
  • Transport: EXPORT and IMPORT directory are used

Logging

The logging of the runtime behavior of the package, that is, the commands that are executed are logged in log file loader.prt

The Loader generates a transformation history transport.log, which records which package was generated and which package was executed. The transformation history is located in directory <loader_user_data>\packages.

The packages in the subdirectories of the directory <loader_user_data>\packages are identified by means of the unique ID package_guid and the timestamp package_timestamp.

Configuration

The configuration of the packages via the configuration file loader.cfg provides the user the option of making individual settings. For example, the storage directory of the packages and the assignment of package names can be configured with the parameters packagepath and packagename. The configuration file loader.cfg is located in directory <loader_application_data>\config.

See also:

Concepts of the Database System, Directories, Log Files, Configuration Files


Transport Mode: Options (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Transport Mode: Options

You assign default values for the interactive input required in transport mode by entering appropriate options.

Use

When you call the Loader using the Loader CLI, you can enter options for starting the Loader CLI in transport mode.

loadercli –p
[<connect_options>]
[<transport_options>]

Features

After option –p, you can use further options for assigning default values for the granularity, the name of the package and the options for establishing the connection.

transport_options

<package_name> | Name of the generated package (phase generate) for which an export or transport can be executed (phase execute) or name of a package created during an export (phase execute) that can be imported Default value: time stamp that specifies when the package was generated
-t <TRANSPORT|EXPORT|IMPORT> | Type of the transformation TRANSPORT: Transport EXPORT: Export IMPORT: Import
-T <EXECUTE|GENERATE> | Transformation type EXECUTE: Execute the transformation GENERATE: Generate the transformation package

connect_options

-d[SRC|TRG] <database_name> | Name of database instance
-u[SRC|TRG] <database_user>[,<password>] | Name and password of the database user
-n[SRC|TRG] <database_computer>[:<port>] | Name of database computer Default value: local computer
-s[SRC|TRG] <database_schema> | Name of the database schema Default value: schema of the current database user
-e <encryption> | Encryption method. Possible values: SSL (currently, only SSL/TLS encryption is supported in SAP systems)

See also: Options for Establishing a Connection

Examples

Calling the Loader in Transport Mode

loadercli –p -t export -dSRC demodb -uSRC mona,red –nSRC genua –sSRC hotel

The Loader establishes a connection to database instance DEMODB for user MONA to export the data of the HOTEL schema. The further required input is interactively made in transport mode.

Other examples: Transport Mode: Examples

Explanation

In transport mode the user is interactively prompted for input to export application data from one database instance and, if appropriate, import it into another database instance. The input parameters and the Loader configuration file are used to generate (phase generate) and execute (phase execute) the syntax of the Loader commands.

You can predefine the input parameters by means of the options listed above and thus shorten the interactive prompts as corresponding information was already transferred by means of an option.

For the options for establishing connection you can use the key words SRC or TRG to illustrate whether this is the source database or target database.

See also:

Call Options of the Loader CLI


Transport Mode: Examples (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Transport Mode: Examples

In transport mode the user is interactively prompted for input to export application data from one database and import it into another database. The input parameters and the Loader configuration file can be used to generate the syntax of the Loader commands and to execute the requested transformation (transport, export, import).

· Examples for the transport:
Execute transport, repeat transport
Generate transport package, execute generated transport package
Execute transport in command mode
Execute transport in session mode

· Examples for the export
Execute exports, repeat export
Generate export package, execute generated export package
Execute export in command file mode

· Examples for the import
Execute import, repeat import

Examples for the Transport

Execute Transport

You want to transport the database catalog and the application data of the HOTEL schema of user MONA between databases DEMODB and TARGETDB.

loadercli -p

Step 1: What do you want to do
[1] Transport from a source database into a target database
[2] Export from a source database
[3] Import into a target database

Step 1: 1

Step 2: Enter the source database connection
Database computer:
Database name : demodb
Database user : mona
Password:
Database schema: hotel

Step 3: Enter the target database connection
Database computer:
Database name : targetdb
Database user : mona
Password:
Database schema: hotel

Step 4: Choose what you want include into the package

[1] The complete schema
[2] The complete schema, excluding some tables
[3] Some schema tables

Step 4: 1

Step 5: Choose the transformation streams
[1] Catalog and data
[2] Catalog
[3] Data

Step 5: 1

Step 6: The package can be generated or executed now.
[1] Generate package to execute it later
[2] Execute package to transport data now

Step 6: 2

Step 7: Continue
[1] OK
[2] CANCEL

Step 7: 1

Transformation package guid: 0100000073F993F8C00800006F710000B6ABE7A9F7DA0210
Transformation package timestamp: 20050512162910
Transport schema: HOTEL
Transformation package name: 20050512162910
Transformation package time: 11.748s

You can see the Loader commands that are processed when the transport package is executed in command file 20050512162910.prt.

The output of the Loader for this transport file is located in the log file between the keywords START PACKAGE and END PACKAGE.

START PACKAGE x'0100000073F993F8C00800006F710000B6ABE7A9F7DA0210’ WITH TIMESTAMP 20050512162910
...
END PACKAGE x'0100000073F993F8C00800006F710000B6ABE7A9F7DA0210’ WITH TIMESTAMP 20050512162910

Repeat Transport

If you want to repeat the transport you just executed in transport mode, proceed as follows:

loadercli –p 20050512162910

Step 1: Enter the source database connection
Database computer: genua
Database name : demodb
Database user : mona
Database schema: hotel

Password: red

Step 2 Enter the target database connection
Database computer: genua
Database name : targetdb
Database user : mona
Database schema: hotel

Password: red

Transformation package guid: 0100000073F993F8C00800006F710000B6ABE7A9F7DA0210
Transformation package timestamp: 20050512163000
Transport schema: HOTEL
Transformation package name: 20050512162910
Transformation package time: 17.265s

The output of the Loader for this transport file is located in the log file between the keywords START PACKAGE and END PACKAGE.

START PACKAGE x'0100000073F993F8C00800006F710000B6ABE7A9F7DA0210’ WITH TIMESTAMP 20050512163000
. ..
END PACKAGE x'0100000073F993F8C00800006F710000B6ABE7A9F7DA0210’ WITH TIMESTAMP 20050512163000

See also:

Transport Mode: Options

Generating a Transport Package

If you want to generate a transport package first and execute it later, proceed as follows:

loadercli -p

Step 1: What do you want to do
[1] Transport from a source database into a target database
[2] Export from a source database
[3] Import into a target database

Step 1: 1

Step 2: Enter the source database connection
Database computer:
Database name : demodb
Database user : mona
Password:
Database schema: hotel

Step 3: Enter the target database connection
Database computer:
Database name : targetdb
Database user : mona
Password:
Database schema: hotel

Step 4: Choose what you want include into the package
[1] The complete schema
[2] The complete schema, excluding some tables
[3] Some schema tables

Step 4: 1

Step 5: Choose the transformation streams
[1] Catalog and data
[2] Catalog
[3] Data

Step 5: 1

Step 6: The package can be generated or executed now.
[1] Generate package to execute it later
[2] Execute package to transport data now

Step 6: 1

Step 7: Continue
[1] OK
[2] CANCEL

Step 7: 1

Transformation packageguid: 01000000921794F8100900001E700000A81B709A3A4930F9
Transformation package timestamp: 20050512183812
Transport schema: HOTEL
Transformation package name: 20050512183812
Transformation package time: 6.138s

Executing a Generated Transport Package

You use the following call to execute a generated transport package in transport mode.

loadercli –p 20050512183812 –uSRC mona,red –uTRG mona,red

Executing a Transport in Command File Mode

If transport packages are to be generated or executed, the command file <package_name>.prt is generated. You can directly execute this file in command file mode. To do this, proceed as follows:

Go to package directory <loader_user_data>\packages\export\GENUA\DEMODB\20050512183812.

Start the Loader.

loadercli –b 20050512183812.prt –d demodb –u mona,red –s hotel –E 10

Go to package directory <loader_user_data>\packages\import\GENUA\TARGETDB\20050512183812.

Start the Loader.

loadercli –b 20050512183812.prt –d targetdb –u mona,red –s hotel –E 10

Executing a Transport in Session Mode

You can execute a transport in session mode . To do this, proceed as follows:

Start the Loader for the export:

loadercli -d demodb –u mona,red –s hotel –E 10 –cs //

Copy the content of command file 20050512183812.prt from the package directory into console input.

Start the Loader for the import:

loadercli –d targetdb –u mona,red –s hotel –E 10 –cs //

Copy the content of command file 20050512183812.prtfrom the package directory into console input.

Examples for the Export

Executing the Export

You want to export table HOTEL of schema HOTEL of user MONA from database DEMODB. The application files are to be exported as files in COMPRESSED Format (CSV format, comma separated values). The values of the column INFO of data type LONG of table HOTEL are to be exported to a separate file for each data record. The loader commands generated in this process are to be output on the console.

loadercli -p

Step 1: What do you want to do
[1] Transport from a source database into a target database
[2] Export from a source database
[3] Import into a target database

Step 1: 2

Step 2: Enter the source database connection
Database computer:
Database name : demodb
Database user : mona
Password:
Database schema: hotel

Step 3: Choose what you want include into the package
[1] The complete schema; one file per schema
[2] The complete schema; one file per schema, excluding some tables
[3] The complete schema; one file per table
[4] The complete schema; one file per table, excluding some tables
[5] Some schema tables ; one file per table

Step 3: 5

Step 4: Enter the table names you want include into the package

[1] hotel

[2]

Step 5: Choose the transformation streams
[1] Catalog and data
[2] Catalog
[3] Data

Step 5: 1

Step 6: Do you want to specify the data stream format
[1] Yes
[2] No

Step 6: 1

Step 7: How do you want to export the data stream
[1] Comma separated values; one file per lob column
[2] Comma separated values; one file per lob value
[3] Fixed width values; one file per lob column
[4] Fixed width values; one file per lob value
[5] Platform independent loader records format (with logging)
[6] Platform independent database page format (without logging, backup necessary)

Step 7: 2

Step 8: How do you want to import the data
[1] Row by page (without logging, backup necessary)
[2] Row by row (with logging)

Step 8: 2

Step 9: The package can be generated or executed now.
[1] Generate package to execute it later
[2] Execute package to transport data now

Step 9: 2

Step 10: Continue
[1] OK
[2] CANCEL

Step 10: 1

Transformation package guid: 0100000079FC93F89C0A0000E7500000A480931B9FC13891
Transformation package timestamp: 20050512170019
Export Table "HOTEL"."HOTEL"
Transformation package name: 20050512170019
Transformation package time: 9.513s

Repeating the Export

If you want to repeat the export you just executed in transport mode, proceed as follows:

loadercli –p 20050512170019

Generating an Export Package

Follow the procedure described in Executing the Export. However, in step 9 choose the option [1] Generate package to execute it later.

Executing a Generated Export Package

You use the following call to execute a generated export package in transport mode.

loadercli –p 20050512170019 –uSRC mona,red

Executing an Export in Command File Mode

If transport packages are to be generated or executed, the command file <package_name>.prt is generated. You can directly execute this file in command file mode. To do this, proceed as follows:

Go to package directory <loader_user_data>\packages\export\GENUA\DEMODB\20050512170019

Start the Loader.

loadercli –b 20050512170019.prt –d demodb –u mona,red –s hotel –E 10

Examples for the Import

Executing the Import

You want to import the generated data of the export package 20050512170019 into the HOTEL schema of database user MONA of database TARGETDB.

loadercli –p

Step 1: What do you want to do
[1] Transport from a source database into a target database
[2] Export from a source database
[3] Import into a target database

Step 1: 3

Step 2: Enter the computer and database name of the exported data
Database computer:
Database name: demodb

Step 3: Choose the package name of the exported data
[1]: 20050512165809
[2]: 20050512170019

Step 3: 2

Step 4: Enter the target database connection
Database computer:
Database name : targetdb
Database user : mona
Password:
Database schema : hotel

Step 5: Continue
[1] OK
[2] CANCEL

Step 5: 1

Transformation package guid: 01000000A40094F8DC09000057670000A01E3A9C05CB20A3
Transformation package timestamp: 20050512170109
Import Table HOTEL
Transformation package name: 20050512170109
Transformation package time: 6.249s

Repeating the Import

If you want to repeat the import you just executed in transport mode for another database (TARGETDB2), proceed as follows:

loadercli –p 20050512170019 –t import -dTRG targetdb2 -uTRG mona,red


Command File Mode (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Command File Mode

In command file mode, a command file written by the user is processed sequentially. The command file can contain any sequence of Loader commands and SQL statements.

Use

You can start Loader CLI in command file mode. To do so, enter the following command:

loadercli –b <command_file>

For example, if you want to transfer the connection information already at the time when the Loader CLI is called, use the corresponding options.

loadercli –b
<command_file>
[<connect_options>]
[<in_output_options]
[<version_options>]

Features

After option –b enter the name of the command file and optionally the requested options for establishing the connection, for input and output control and for version queries.

command_file

<command_file>

Command File

See also: Command File

connect_options

-d <database_name> | Name of database instance
-u <database_user>[,<password>] | Name and password of the database user
-n <database_computer>[:<port>] | Name of database computer Default value: local computer
-s <database_schema> | Name of the database schema Default value: schema of the current database user
-e <encryption> | Encryption method. Possible values: SSL (currently, only SSL/TLS encryption is supported in SAP systems)

See also: Options for Establishing a Connection

in_output_options

-o[w|a] <file_name> | Name of the output file
-cs <separator> | Specifies a command separator
-ps <number><string> | Specifies a substitution parameter
-E <number> | Maximum permitted number of errors

See also: Options for Input and Output

version_options

-V | Version of the Loader server
-v | Version of the Loader CLI
-R <dependent_path> | Directory that contains the programs that depend on the version of the database software

See also: Options for Determining Version Information

Example

loadercli -b command.dat -d demodb -u mona,red –E 20

The Loader establishes a connection to the database instance DEMOB for the user MONA. The Loader processes the commands and statements contained in the command file command.dat.

If errors occur (return code <> 0) in doing this, the processing of the command file is terminated as soon as 20 error messages have appeared.

Explanation

The Loader reads the commands and SQL statements from the specified <command_file> and transfers it to the Loader server.

A command file can also be generated by generating the design data in transport mode. This command file <package_name>.prt is stored in the package directory <loader_user_data>\packages in the subdirectories for the export and the import.

See also:

Call Options of the Loader CLI


Command File (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Command File

Definition

When you call the Loader with the Loader CLI, you can transfer the commands and SQL statements, which are to be evaluated, to the Loader. They are transferred in a special file, the command file.

Use

If you want to call the Loader in command file mode, you have to specify the name of the command file by means of option –b <command_file>.

loadercli -d demodb -u mona,red -n genua -b command.dat

The commands and SQL statements are in the command.dat file.

The commands and SQL statements that you specify in the command file are individually processed by the Loader in the specified order.

Structure

Note the following syntax rules for command files:

· General syntax rules

The same syntax rules apply as for calling the Loader.

· Delimiting Lines Between Commands

Individual commands in a command file are separated by a line, at the beginning of which there is a double forward slash //.

When calling the Loader CLI, you can use the option –cs to define an alternative command separator.

· Comments

You can enter comments after a double forward slash // at the start of the line. The comments are ignored by the Loader when the command file is processed.

Integration

A command file can also be generated by generating the design data in transport mode. This command file <package_name>.prt is stored in the package directory <loader_user_data>\packages in the subdirectories for the export and the import.

Example

The command file command.dat could have the following content:

//IMPORT TABLE DATA
IMPORT TABLE hotel.customer
CATALOG INSTREAM FILE 'customer.catalog' DDL
DATA INSTREAM FILE 'customer.data' COMPRESSED ASCII
SEPARATOR ','
DELIMITER '"'
NULL '? '
DECIMAL '//./'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO
cno 1 CHAR
title 2 CHAR DEFAULT NULL
firstname 3 CHAR DEFAULT NULL
name 4 CHAR
zip 5 CHAR DEFAULT NULL
address 6 CHAR
PAGE WITH 25 ROWS USAGE
//CREATE INDEX
CREATE INDEX customer_index ON hotel.customer(name ASC,firstname ASC)
//
EXPORT COLUMNS cno, title, name, firstname FROM hotel.customer WITH LOCK
MAP COLUMNS
cno 1
  title      2
  name       3
  firstname  4
DATA OUTSTREAM FILE 'newcustomer.data'

To execute the EXPORT/IMPORT commands and the SQL statement CREATE INDEX in command file mode enter the following Loader call:

loadercli -d demodb -u mona,red -n genua -b command.dat

The files are imported into the CUSTOMER table, an index is created and the column values CNO, TITLE, NAME and FIRSTNAME are exported.


Session Mode (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Session Mode

In session mode the user can transfer the Loader commands and SQL statements to the Loader directly via the console.

Use

You can start Loader CLI in session mode. To do so, enter the following command:

loadercli

For example, if you want to transfer the connection information already at the time when the Loader CLI is called, use the corresponding options.

loadercli
[<connect_options>]
[<in_output_options]
[<version_options>]

Features

Enter the requested options for establishing the connection, for input and output control and for version queries.

connect_options

-d <database_name> | Name of database instance
-u <database_user>[,<password>] | Name and password of the database user
-n <database_computer>[:<port>] | Name of database computer Default value: local computer
-s <database_schema> | Name of the database schema Default value: schema of the current database user
-e <encryption> | Encryption method. Possible values: SSL (currently, only SSL/TLS encryption is supported in SAP systems)

See also: Options for Establishing a Connection

in_output_options

-o[w|a] <file_name> | Name of the output file
-cs <separator> | Specifies a command separator
-ps <number><string> | Specifies a substitution parameter
-E <number> | Maximum permitted number of errors

See also: Options for Input and Output

version_options

-V | Version of the Loader server
-v | Version of the Loader CLI
-R <dependent_path> | Directory that contains the programs that depend on the version of the database software

See also: Options for Determining Version Information

Example

loadercli –d demodb -u mona,red

The Loader establishes a connection to the database instance DEMOB for the user MONA. The Loader then waits for the commands and SQL statements in the command line, and processes them.

Explanation

After starting the Loader CLI in session mode, you can interactively enter several commands and SQL statements.

If you enter a Loader command that runs over more than one line and you end one of these lines with a forward slash (‘/’), the Loader CLI recognizes that the command is not yet complete. It is not executed when a line feed is inserted.

Only when you enter a line without preceding it with a forward slash does the Loader CLI recognize that the command is complete. It then sends the command to the Loader Server, which executes it. After all the commands and SQL statements have been executed, the Loader CLI displays a message.

To end the session mode, enter release or exit.

See also:

Call Options of the Loader CLI


Options for Establishing a Connection (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Establishing a Connection

Use

You can specify options for establishing a connection for the command file , session or transport mode.

connect_options

-d[SRC|TRG] <database_name> | Name of database instance
-u[SRC|TRG] <database_user>[,<password>] | Name and password of the database user
-n[SRC|TRG] <database_computer>[:<port>] | Name of database computer Default value: local computer
-s[SRC|TRG] <database_schema> | Name of the database schema Default value: schema of the current database user
-e <encryption> | Encryption method. Possible values: SSL (currently, only SSL/TLS encryption is supported in SAP systems)

Explanation

You have to use the entries SRC and TRG in transport mode.

-d <database_name>

The Loader establishes a connection to the specified database instance database_name.When it does this, the Loader executes the Loader command USE SERVERDB implicitly, or the Loader command USE USER, if both database instance name and user data have been specified.

You can also specify the name of the database instance with the commands USE SERVERDB or USE USER. This enables you to change the name during the Loader session.

-u [<database_user>,<password>]

The prerequisite for using this option is that you use option -d for specifying a database instance at the same time.

If you use option –u without specifying the user data <user_name>,<password> , the Loader prompts you for a user name/password combination. In this way you can avoid the operator password being visible in the command line, command history, and the operating system process list.

A database session is created for the specified user. At the same time, the Loader executes the Loader command USE USER implicitly. The user name and password are automatically converted into uppercase letters by the database system.

You can also use the command USE USER to specify user data. This enables you to switch users during a Loader session.

-n <database_computer>[:<port>]

The prerequisite for using this option is that you use option –d or options –d and –u at the same time.

The Loader establishes a connection to the database instance on the specified computer database_computer .When it does this, the Loader executes the Loader command USE SERVERDB implicitly, or the Loader command USE USER, if both database instance name and user data have been specified.

You can also use the command USE SERVERDB or USE USER to specify the name of the database computer.

-s <database_schema>

The prerequisite for using this option is that you use options –d and –u at the same time.

The Loader establishes a connection to the specified schema.

You can also transfer the name of the schema using the commands USE SCHEMA, USE USER or SET CURRENT SCHEMA.

-e <encryption>

The prerequisite for using this option is that your SAP system is configured for the encryption.

You switch on the encryption function and select the encryption method for communication.

See also:

Concepts of the Database System, Data Encryption


Options for Input and Output (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Input and Output

Use

In command file or in session mode you can specify options for determining version information.

in_output_options

-o[w|a] <file_name> | Name of the output file
-cs <separator> | Specifies a command separator
-ps <number><string> | Specifies a substitution parameter
-E <number> | Maximum permitted number of errors

Explanation

-o[w|a] <file_name>

The output of the Loader is written to the specified filefile_name (the screen is the default value),

· Option –ow
The file is opened and any existing entries are deleted.

· Option –oa
The file is opened and the outputs are appended to the end of the file without any previous entries being deleted.

This option refers only to output from the Loader. Irrespective of this, the loader also writes a log file.

-cs <command_separator>

With this option you determine which characters of Loader CLI are supposed to be recognized as command_separator.

A command separator must contain at least one, at most two characters.

· In command file mode, the default command separator is a line that begins with a double forward slash // (see also Syntax Rules for Command Files).

· In session mode, the default value for a command separator is ENTER. To continue a command on the next line, the Loader CLI expects a simple slash (/) at the end of the line.

-ps <number> <substitution_value>

You use this option to specify values for placeholders in the command file. Value number defines the numbers of the placeholder to be substituted in the command file (1<=n<=9). You use substitution_value to specify the value the placeholder is to replace. These values can be any character strings.

You can specify nine different parameters (and placeholders) for each command file. In the command file, enter the placeholder in the form &<number>.

-E <number>

You use this option to specify after how many commands with errors <number> the Loader stops processing the command file.

Call the Loader in command mode

loadercli -b command.dat -d demodb -u mona,red –E 20

The Loader establishes a connection to the database instance DEMOB for the user MONA. The Loader processes the commands and statements contained in the command file command.dat. If errors occur (return code <> 0), the processing of the command file is terminated as soon as 20 error messages have occured.


Options for Determining Version Information (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Determining Version Information

Use

In command file or in session mode you can specify options for determining version information.

version_options

-V | Version of the Loader server
-v | Version of the Loader CLI
-R <dependent_path> | Directory that contains the programs that depend on the version of the database software

Explanation

-R <dependent_path>

If multiple versions of the Loader are installed on the computer, you can start a specific version of the Loader. To do so, specify the name of the directory <dependent_path> on the computer of the Loader that contains the programs dependent on the version of the database software. If you do not specify a directory name, the Loader for the newest version of the database software is started.

See also:

Concepts of the Database System, Directories


Call with the Java Interface of the Loader (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Call with the Java Interface of the Loader

You can call the Loader using Java.

Prerequisites

Java is installed on the computer.

Procedure

The following Java modules are delivered with the Loader program:

com.sap.dbtech.powertoys.Loader

com.sap.dbtech.powertoys.LoaderException

Use the following classes to call the Loader:

· Class Loader

· Exception Class

Class Loader

Java module: com.sap.dbtech.powertoys.Loader

public class Loader extends java.lang.Object

With the Loader class, you can create new Loader object instances and execute SQL statements or Loader commands.

Constructor: Loader

public Loader(java.util.Properties properties) throws RTEException

A new Loader object instance is created. The Loader class uses the following properties:

· host: the Loader is started on this computer.

· dbname: the Loader is started for the specified database instance.

· dbroot: the Loader is started for this version/in this directory.

Methods
cmd | public java.lang.String cmd(java.lang.String cmdString) throws RTEException, LoaderException | An SQL statement or a Loader command (cmdString) is executed.
dbLoader | public static Loader dbloader(java.lang.String host, java.lang.String dbname) throws RTEException | A new Loader object instance is created in which the computer name (host) and the name of the database instance (dbname) are specified.
dbroot Loader | public static Loader dbrootloader(java.lang.String host, java.lang.String dbroot) throws RTEException | A new Loader object instance is created in which the computer name (host) and the dbroot directory are specified.
finalize | public void finalize() throws RTEException | This method overwrites the finalize()method of the class java.lang.Object.
release | public void release() throws RTEException | The Loader session is ended.

Exception Class

Java module: com.sap.dbtech.powertoys.LoaderException

public class LoaderException extends java.lang

If a Loader command fails, the Loader exception is raised.

Methods

getErrorCode | public int getErrorCode() | The error code set by the Loader is returned.
getErrorID | public java.lang.String getErrorID() | The error number set by the Loader is returned.
toString | public java.lang.String toString() | The exception is output as a string object.


Commands and SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Commands and SQL Statements

Use

The Loader can execute commands and SQL statements.

Features

Creating a Database Session

You can execute the commands and SQL statements for importing and exporting data only after you have successfully started a database session. This ensures that only suitably authorized owners can import and export.

See also:

Creating a Database Session: Commands

Exporting and Importing

One of the main functions of the Loader is the exporting and importing of the database catalog, parts of the database catalog and application data. For this purpose, a range of commands and associated syntax elements are available.

See also:

Exporting: Commands

Importing: Commands

Exporting and Importing: Syntax Elements

SQL Statements

The Loader can execute the SQL statements required for exporting and importing. DDL statements, in particular, are vital for importing data (Reference Manual: SQL Statements: Overview).

Database queries, however, return only status messages.

COMMIT and ROLLBACK statements are only active in the mode AUTOCOMMIT OFF (AUTOCOMMIT Command).


Creating a Database Session: Commands (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Creating a Database Session: Commands

Use

The Loader can process a range of commands and SQL statements, including commands for creating a database session.

Features

· AUTOCOMMIT Command

· SET Command

· SQLMODE command

· USE SCHEMA Command

· USE SERVERDB command

· USE USER-Command

See also:

Syntax Rules: Overview

Options for Establishing a Connection


AUTOCOMMIT Command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation AUTOCOMMIT Command

You use the AUTOCOMMIT command for setting up a database session to activate/deactivate AUTOCOMMIT mode for a database session.

Syntax

<autocommit_command> :: = AUTOCOMMIT ON | AUTOCOMMIT OFF

Explanation

If this command is not used, the Loader implicitly works with AUTOCOMMIT mode switched on.

AUTOCOMMIT ON

The AUTOCOMMIT mode is activated (Loader default value).

With commands for importing data, a COMMIT is used to complete the insertion of a certain number of data records. The user can determine this number using the SET TRANSACTION SIZE command. This mode is not relevant when data is exported, since the table contents in the database are not modified.

If you execute COMMIT and ROLLBACK statements when AUTOCOMMIT mode is activated, the Loader ignores these statements.

The Loader terminates each SQL statement implicitly with a COMMIT.

AUTOCOMMIT OFF

AUTOCOMMIT mode is deactivated.

All transactions must be terminated explicitly using a COMMIT.

You can group commands in units so that they can be completed or reset together.

This mode is not valid for commands that are not processed as part of the transaction concept of the database and are always implicitly completed with COMMIT.

Large transactions (such as those involving a large number of data records to be loaded) require a correspondingly large log area.

See also:

Creating a Database Session: Commands


SET Command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation SET Command

This Loader command for creating a database session allows you to define many properties for a database session. You can adjust predefined values of the control parameters of the Loader to suit your own requirements.

The new values are only valid for the current database session and must be restored if they are needed in subsequent sessions.

Syntax

<set_commando> ::=
SET
| SET BACKUPTOOL (TSM | NETWORKER | BACKINT)
| SET <bool_spec>
| SET CODETYPE <standard_code_spec>
| SET <code_page_spec>
| SET COMPRESSED '/<s>/<d>/'
| SET CONFIGURATION (EXCLUDE | INCLUDE)
| SET CURRENT SCHEMA = <valSCHEMA_NAME>
| SET DATE <standard_date_mask>
| SET FORMAT <standard_date_mask>
| SET <isolation_level_spec>
| SET MAXERRORCOUNT <valMAXERRORCOUNT>
| SET <null_spec>
| SET <number_spec>
| SET TIME <standard_time_mask>
| SET TIMESTAMP <standard_timestamp_mask>
| SET TRANSACTION SIZE <valTRANSACTION_SIZE>

SET command without ad- Cditional specification | Display the following log files: - Name and complete path of the Loader log - Complete path to the directory in which the Loader saves the packages that were created in transport mode
BACKUPTOOL (TSM | NETWORKER | BACKINT) | Backup tool from other providor
TSM NETWORKER BACKINT | Backup tool TSM (IBM/Tivoli) Backup tool NetWorker (Legato) Backup tools, that support Backint for MaxDB and Backint for Oracle
<bool_spec> | BOOLEAN '<valVALUE_FOR_TRUE>/<valVALUE_FOR_FALSE>'
<valVALUE_FOR_TRUE>/ <valVALUE_FOR_FALSE> | Defines the character string for values that are true/false Character strings can have a maximum of 10 characters Default value: TRUE/FALSE.
CODETYPE <standard_code_spec> | Specification of the code type Possible values: ASCII | UCS2 | UTF8
<standard_code_spec> | Code Specification
<code_page_spec> | CODEPAGE [<valCODEPAGE_NAME>]
<valCODEPAGE_NAME> | Name of code page Default value: ISO-8859-1 If you specify an empty value, the code page is reset to the default value.
COMPRESSED '/<s>/<d>/' | Specification of characters for separating and marking data fields
<s> | Character used to separate data fields Default value: comma Value must be exactly one character long and cannot be blank
<d> | Character used to select data Default value: double quotation marks Value can be exactly one character long or blank. No delimiter is defined if it is blank.
CONFIGURATION (EXCLUDE | INCLUDE) | Defines the interpretation of the content of the configuration file for Loader commands
EXCLUDE | Negative list The tables listed in the configuration file are not to be processed.
INCLUDE | Positive list The tables listed in the configuration file are to be processed.
CURRENT_SCHEMA = <valSCHEMA_NAME> | Definition of current schema.
<valSCHEMA_NAME> | Schema valSCHEMA_NAME is specified as the current schema Default value: Schema that is assigned to the user who is logged on
DATE <standard_date_mask> | Specification of the date mask
<standard_date_mask> | Date Specifications Possible values: EUR | INTERNAL| ISO| JIS | USA Default value: INTERNAL
FORMAT <standard_date_mask> | Sets the format for date and time values of the database
<standard_date_mask> | In this format the Loader transfers date and time values in SQL statements to the kernel Possible values: EUR | INTERNAL| ISO| JIS | USA Default value: INTERNAL
<isolation_level_spec> | ISOLATION LEVEL <valISOLATION_LEVEL>
<valISOLATION_LEVEL> | Value of the isolation level to be set Default value: 3
MAXERRORCOUNT <valMAXERRORCOUNT> | Number of errors that the Loader accepts before the command is cancelled.
<valMAXERRORCOUNT> | Number of errors
<null_spec> | NULL '<valLITERAL>'
<valLITERAL> | Null value representation; maximum length of 20 characters Default value: ? (a question mark and 19 spaces)
<number_spec> | DECIMAL '/[<t>]/<d>/'
<t> | Defines the character for structuring thousands Default value: no character
<d> | Defines the character for separating whole numbers from decimal places; Default value: decimal point
TIME <standard_time_mask> | Specifies the time mask
<standard_time_mask> | Time Specifications Possible values: EUR | INTERNAL| ISO| JIS | USA Default value: INTERNAL
TIMESTAMP <standard_timestamp_mask> | Specifies the time stamp mask
<standard_timestamp_mask> | Time Stamp Specifications Possible values: EUR | INTERNAL| ISO| JIS | USA Default value: INTERNAL
TRANSACTION SIZE <valTRANSACTION_SIZE> | Defines when a COMMIT is executed
<valTRANSACTION_SIZE> | Number of data records after which a COMMIT is carried out.

Explanation

Some of the options of the SET command are explained in more detail below.

SET BACKUPTOOL (TSM|NETWORKER|BACKINT)

You use the syntax rule SET BACKUPTOOL (TSM | NETWORKER | BACKINT) to define which third-party backup tool is to be used.

See also:

Medium

SET <bool_spec>

You use the syntax rule SET <bool_spec> to define the character string that is used to represent BOOLEAN values that are either unloaded from the database instance or are to be loaded to a database instance in data streams.

You can change the current value for individual commands by using the syntax element <bool_spec> <stream_format_spec>.

SET CODETYPE <standard_code_spec>

In the code specification standard_code_spec, you define the default value for interpreting data streams that contain plain text values. The default value in the Loader is ASCII. The default value in the Loader is ASCII.

When you export or import data, you can transform it between various code types. If you export/import ASCII data into an ASCII database or UCS2 data into a UNICODE database, the data does not have to be converted.

You can change the current value for individual commands by using the syntax element <code_spec> <stream_format_spec>. When you export /import LONG data, you determine the default values by using the syntax rule longfile_code_spec.

SET <code_page_spec>

If you want to use a particular code page for converting CHAR data from ASCII to UCS2, you can specify the page using the SET command SET <code_page_spec>.

SET CODEPAGE "8859-14"
SET CODEPAGE WINDOS-1252

Case 1: The code page for the conversion is a user-defined code page and is not yet contained in the system table CODEPAGE.

To make user-defined code pages accessible to the Loader for conversions, you first have to load these code pages into the system table CODEPAGE. To do this, proceed as follows:

...

1. In the user-specific configuration directory of the Loader (Microsoft Windows: <drive>:\Documents and Settings\<user_id>\Application Data\sdb\loader\config, UNIX: $HOME/sdb/loader/config) create a file called <valCODEPAGE_NAME>.txt. This file has to be formatted in the same way as the files that are provided by the Unicode consortium at ftp://ftp.unicode.org/Public/MAPPINGS/.

...
# Format: Three ab-separated columns
# Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX)
# Column #2 is the Unicode (in hex as 0xXXXX)
# Column #3 the Unicode name (follows a comment sign, '#')
…

0x00
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
0x02 0x0002 # START OF TEXT
0x03 0x0003 # END OF TEXT
0x04 0x0004 # END OF TRANSMISSION
0x05 0x0005 # ENQUIRY
0x06 0x0006 # ACKNOWLEDGE
0x07 0x0007 # BELL
0x08 0x0008 # BACKSPACE
0x09 0x0009 # HORIZONTAL TABULATION
0x0A 0x000A # LINE FEED

2. Load the code page into the system table CODEPAGE.
To do this, use the SET command. When processing the SET command SET CODEPAGE <valCODEPAGE_NAME>, the Loader first tries to find the specified code page in the system table CODEPAGE. If the table does not contain the code page, the SAP DB Loader tries to find the corresponding file <valCODEPAGE_NAME>.txt If this file exists, it is read, and the conversion table is entered in the system table CODEPAGE.

If the file is not found, and if the code page is not contained in the system table, the Loader stops processing the SET commands and displays an error message.

If the SET command is processed successfully, the user-defined code page is available in the system table CODEPAGE.

Case 2: The code page for the conversion is already contained in the system table CODEPAGE.

The Loader reads the required conversion table from the system table CODEPAGE. All subsequent conversions of the CHAR data from ASCII to UCS2 are performed using this conversion table.

SET COMPRESSED '/<s>/<d>/'

You use the syntax rule SET COMPRESSED '/<s>/<d>/' to define the characters that are to be used in the COMPRESSED format for the following purposes.

· To separate data: s

· To select data: d

The current value can also be changed in individual commands.

SET CURRENT SCHEMA = <valSCHEMA_NAME>

The specified schema is defined as the current schema. You can override this value using a USE USER command or USE SCHEMA command .

SET DATE <standard_date_mask>

You use the standard_date_mask to specify the format for plain text values in which DATE columns are entered and displayed.

You can change the current value for individual commands by using the syntax element <date_spec> <stream_format_spec>.

SET FORMAT <standard_date_mask>

You use this command to specify in which format the Loader transfers date and time values in SQL statements to the database. During the processing of Loader commands, the Loader generally transfers date and time values in INTERNAL format. If the date and time values embedded in SQL statements are to be transferred in another format, these have to be explicitly set with this command.

INSERT INTO <table_name> values ('2005-01-01', 1)

As the date is to be transferred in ISO format here, the format must be set using SET FORMAT ISO.

SET ISOLATION LEVEL <valISOLATION_LEVEL>

You use the syntax rule SET ISOLATION LEVEL <valISOLATION_LEVEL> to define the value of the isolation level (permitted values: 0, 1, 10, 15, 2, 20, 3, 30). If you do not set an isolation level, isolation level 3 is assumed implicitly.

This setting applies to the entire Loader session provided that the isolation level is not changed by another SET ISOLATION LEVEL command.

You can use the USE USER command to set the isolation level for a user and override the value set by the SET command.

The current value can also be changed in an EXPORT COLUMNS command .

SET MAXERRORCOUNT <valMAXERRORCOUNT>

You use the syntax rule SET MAXERRORCOUNT <valMAXERRORCOUNT> to define how many errors the Loader should accept when a specific command is executed before it cancels processing of the command.

This value applies throughout a database session or until it is overwritten by another SET MAXERRORCOUNT command.

SET <null_spec>

You use the syntax rule SET <null_spec> to specify the character string used to represent null values that have been loaded from the database instance in data streams.

You can change the current value for individual commands by using the syntax element <null_spec> <stream_format_spec>.

SET <number_spec>

You use the syntax rule SET <number_spec> to specify which characters are to be used in decimal numbers to group thousands and separate integers from decimal places.

If no digit or character is specified for t or d, the Loader uses the default.

If you use this data format definition in the SET command, you also specify the number format for all subsequent commands. In a single Loader session, this applies until a new SET command is executed.

SET DECIMAL '/ /,/'
Specifies the following number format: 1 999 987,98

SET DECIMAL '///'
Specifies the following number format (Loader default): 1999987.98

The current value can also be changed in individual commands.

SET TIME <standard_time_mask>

You use the standard_time_mask to specify the format for plain text values in which TIME columns are entered and displayed.

You can change the current value for individual commands by using the syntax element <<time_spec> <stream_format_spec> .

SET TIMESTAMP <standard_timestamp_mask>

You use the standard_timestamp_mask to specify the format for plain text values in which TIMESTAMP columns are entered and displayed.

You can change the current value for individual commands by using the syntax element <timestamp_spec> <stream_format_spec>.

See also:

Starting a Database Session: Commands


SQLMODE Command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation SQLMODE Command

You can use the Loader’s SQLMODE command when starting a database session to specify the SQL mode of the database instance.

Syntax

<sql_mode_command> ::= SQLMODE <sql_mode>

<sql_mode> | INTERNAL | ANSI | DB2 | ORACLE
INTERNAL | Internal SQL mode (system default value) in the database system
ANSI | SQL dialect in accordance with the ANSI standard (ANSI X3.135-1992, Entry SQL)
DB2 | SQL dialect in accordance with the definition for DB2 Version 4
ORACLE | SQL dialect in accordance with the ORACLE7 definition

Explanation

The commands for exporting and importing data executed by the Loader and the SQL statements are interpreted in accordance with the SQL mode that has been set if the data stream does not have the PAGES format.

The defined SQL mode remains active until it is changed again using this command.

· If you do not specify an SQL mode, the SQL mode INTERNAL is used.

· You can change the SQL mode within a command file or a script using the SQLMODE command.

See also:

Starting a Database Session: Commands


USE SCHEMA Command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation USE SCHEMA Command

You can use the Loader’s USE SCHEMA command for starting a database session to specify which schema the current user is to use.

Syntax

<use_schema_command> ::= USE <schema_spec>

<schema_spec> | SCHEMA <valSCHEMA_NAME>
<valSCHEMA_NAME> | Name of the database schema the user is supposed to use If the name of the schema is identical to a keyword or if the upper- and lowercase notation is relevant, the name must be placed in quotation marks.

Examples

USE SCHEMA hotel

The current user is to use the HOTEL schema.

Explanation

You can specify which schema the current user is to use. This setting applies as long as no other schema is specified using a USE SCHEMA, USE USER or SET CURRENT SCHEMA command.

See also:

Creating a Database Session: Commands

Options for Establishing a Connection


USE SERVERDB Command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation USE SERVERDB Command

You can use the Loader’s USER SERVERDB command for starting a database to establish a connection to another database instance.

Syntax

<use_serverdb_command> ::= USE <database_name_statement>

<database_name_statement>

SERVERDB <valDBNAME> [ON <valDBNODE> [ENCRYPTION <valPROTOCOL_NAME>]]

<valDBNAME>

Name of database instance

Valid for the entire database session with this database instance

If the name of the database instance is identical to a keyword or if the upper- and lowercase notation is relevant, the name must be placed in quotation marks.

ON <valDBNODE>

Name of the computer on which the database instance is installed for which a database session is to be started.

If this is not specified, the Loader assumes that the specified database instance was created on the computer to which the user of the Loader is logged on.

ON <valDBNODE> ENCRYPTION <valPROTOCOL_NAME>

In addition, you can specify the name of the requested encryption protocol valPROTOCOL_NAME to ensure the data transfer is encrypted. This option is currently only supported for SAP systems and SSL.

Examples

USE USER mona red SERVERDB demodb ON genua

//

USE SERVERDB demodb ON parma

User MONA is logged on to database instance DEMODB on computer GENUA. You use the USE SERVERDB command to switch to database instance DEMODB on computer PARMA.

Explanation

A database user with the same name and password must exist on the new database instance.

You switch to another database instance without having to exit the Loader. It terminates the connection to the current database instance and sets up the new connection to the database instance.

All subsequent commands are referred to this database instance by the Loader.

See also:

Starting a Database Session: Commands

Options for Establishing a Connection


USE USER Command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation USE USER Command

You can use the USE USER Loader command for starting a database session to create a connection with the specified information.

Syntax

<use_user_command> ::= USE USER <valUSERNAME> <valPASSWORD> [<schema_spec>] [<database_name_statement>] [<isolation_level_spec>]

<valUSERNAME>

Name of the database user

The name of the database user is automatically converted by the database system into uppercase letters. If you want to suppress the conversion, you must place the name in quotation marks.

<valPASSWORD>

Password

The password for the database user is automatically converted by the database system into uppercase letters. If you want to suppress the conversion, you must place the name in quotation marks.

<schema_spec>

SCHEMA <valSCHEMA_NAME>

Specification of the schema for the database user
If the name of the schema is identical to a keyword or if the upper- and lowercase notation is relevant, the name must be placed in quotation marks.

<database_name_statement>

SERVERDB <valDBNAME> [ON <valDBNODE> [ENCRYPTION <valPROTOCOL_NAME>]]

<valDBNAME>

Name of database instance

Valid for the entire database session with this database instance

If the name of the database instance is identical to a keyword or if the upper- and lowercase notation is relevant, the name must be placed in quotation marks.

ON <valDBNODE>

Name of the computer on which the database instance is installed for which a database session is to be started.

If this is not specified, the Loader assumes that the specified database instance was created on the computer to which the user of the Loader is logged on.

ON <valDBNODE> ENCRYPTION <valPROTOCOL_NAME>

In addition, you can specify the name of the requested encryption protocol valPROTOCOL_NAME to ensure the data transfer is encrypted. This option is currently only supported for SAP systems and SSL.

<isolation_level_spec>

ISOLATION LEVEL <valISOLATION_LEVEL>

<valISOLATION_LEVEL>

Value of the isolation level to be set
Default value: 3

Examples

USE USER mona red SERVERDB demodb ON genua

Use user MONA to log on to database instance DEMODB on computer GENUA

USE USER mona red SCHEMA hotel SERVERDB demodb ON genua

Use user MONA to log on to database instance DEMODB in the schema HOTEL on computer GENUA

USE USER mona red SERVERDB demodb ON genua ISOLATION LEVEL 0

Set isolation level 0

Explanation

This command terminates the current connection of the Loader to the database instance and creates a new connection with the specified parameters.

<schema_spec>

You can specify in which schema the user is to be logged on. If you do not specify a schema, the user uses the schema that is assigned to him. This setting applies as long as no other schema is specified using a USE USER, USE SCHEMA or SET CURRENT SCHEMA command.

<database_name_statement>

If you do not specify a database instance name in the USE USER command, the new connection is created to the database instance that was used prior to the USE USER command or set using option –u.

<isolation_level_spec>

You can use the USE USER command to set the isolation level for a user and override the value set by the SET ISOLATION LEVEL command. If you do not specify an isolation level, the value set for the database session is used.

The current isolation level value can also be changed using an EXPORT COLUMNS command by specifying the appropriate LOCK option in the SELECT statement.

See also:

Starting a Database Session: Commands

Options for Establishing a Connection


Exporting: Commands (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Exporting: Commands

Use

The Loader can process a range of commands and SQL statements, including Loader-specific commands for exporting data.

Prerequisites

Creating a Database Session: Commands

Syntax

<export_command> ::= EXPORT<part_spec>
[<configuration_instream_spec>]
[<order_clause>]
(<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec> [<longfile_spec>...])
[<package_outstream_spec>]
[<restart>]

Features

The range of commands of the Loader makes it possible to export, with increasing granularity, a complete database, the objects of a user, the objects of a schema or individual tables.

You can use the syntax rule

<part_spec> ::= DB | USER | SCHEMA <schema_name> | TABLE <table_name>

to specify the required granularity. That is, you can specify whether you want to export all data, the data of a user, schema or a table.

You can export a set of columns of a table using the EXPORT COLUMNS command.

Under consideration of the granularity, the export commands can be classified as follows:

What is to be exported? | Loader command (abbreviated)
 | <part_spec> ::= DB
Entire database catalog and all application data | EXPORT DB CATALOG <outstream_spec> DATA <outstream_spec> PACKAGE <outstream_spec>
Entire database catalog | EXPORT DB CATALOG <outstream_spec> PACKAGE <outstream_spec>
All application data of the database | EXPORT DB DATA <outstream_spec> PACKAGE <outstream_spec>
 | See also: EXPORT DB Commands
 | <part_spec> ::= USER
Database catalog and all the application data of a user | EXPORT USER CATALOG <outstream_spec> DATA <outstream_spec> PACKAGE <outstream_spec>
Database catalog of a user | EXPORT USER CATALOG <outstream_spec> PACKAGE <outstream_spec>
All application data of a user | EXPORT USER DATA <outstream_spec> PACKAGE <outstream_spec>
 | See also: EXPORT USER Commands
 | <part_spec> ::= SCHEMA <schema_name>
Database catalog and all the application data of a schema | EXPORT SCHEMA <schema_name> CATALOG <outstream_spec> DATA <outstream_spec> PACKAGE <outstream_spec>
Database catalog of a schema | EXPORT SCHEMA <schema_name> CATALOG <outstream_spec> PACKAGE <outstream_spec>
All application data of a schema | EXPORT SCHEMA <schema_name> DATA <outstream_spec> PACKAGE <outstream_spec>
 | See also: EXPORT SCHEMA Commands
 | <part_spec> ::= TABLE <table_name>
Database catalog and all the application data of a table | EXPORT TABLE <table_name> CATALOG <outstream_spec> DATA <outstream_spec> PACKAGE <outstream_spec>
Database catalog of a table | EXPORT TABLE <table_name> CATALOG <outstream_spec> PACKAGE <outstream_spec>
All application data of a table | EXPORT TABLE <table_name> DATA <outstream_spec> PACKAGE <outstream_spec>
 | See also: EXPORT TABLE Commands

Other Commands

Export set of qualified columns of a table

EXPORT COLUMNS
<select_expression>
DATA <outstream_spec>

See also: EXPORT COLUMNS Commands

See also:

Exporting and Importing: Syntax Elements

Importing: Commands

Exporting and Importing LONG Values

Exporting and Importing Using Third-Party Backup Tools

Syntax Rules: Overview


EXPORT DB Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation EXPORT DB Commands

You can use the Loader's EXPORT DB command to control the export of application data and/or the corresponding database catalog information of the entire database.

Prerequisites

The EXPORT DB command can only be executed by the database system administrator (SYSDBA user).

Syntax

<export_db_command> ::= EXPORT DB
[<configuration_instream_spec>]
(<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec>)
[<package_outstream_spec>]
[<restart>]

EXPORT DB [<configuration_instream_spec>] <catalog_outstream_spec> <data_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of the entire database catalog and all application data
EXPORT DB <catalog_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of the entire database catalog
EXPORT DB [<configuration_instream_spec>] <data_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of all the application data of the database
<configuration_instream_spec> | CONFIGURATION <instream_spec>
<catalog_outstream_spec> | CATALOG <outstream_spec>
<data_outstream_spec> | DATA <outstream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<restart> | RESTART <valPACKAGEGUID>
<valPACKAGEGUID> | ID that is created for the commands that span more than one table

Examples

EXPORT DB
CATALOG OUTSTREAM FILE 'demodb.catalog' DDL
PACKAGE OUTSTREAM FILE 'demodb_export.package' COMPRESSED

The entire database catalog is exported.

EXPORT DB
CATALOG OUTSTREAM FILE 'demodb.catalog' DDL
DATA OUTSTREAM FILE 'demodb.data' RECORDS
PACKAGE OUTSTREAM FILE 'demodb_export.package' COMPRESSED

The entire database catalog and all application data are exported.

Explanation

<catalog_outstream_spec>, <data_outstream_spec>

Depending on whether database catalog and/or application data is exported, the following data streams are generated during the export:

· Data stream for the database catalog definitions: CATALOG <outstream_spec>

· Data stream for the application data: DATA <outstream_spec>

System table SYSLOADER.TRANSFORMATIONMODEL and additional system tables are filled.

<configuration_instream_spec>

You can exclude tables from the export.

· If you do not specify data stream CONFIGURATION <instream_spec> all the application data is exported.

· By specifying a data stream CONFIGURATION <instream_spec>, you can exclude the application data of selected tables from the export DATA <outstream_spec>. The tables must be identified in the data stream by specifying their owner and the table name.
The information about which tables are not exported is stored in the system tables. One way of displaying this information is to display the system table SYSLOADER.TRANSFORMATIONMODEL. The tables excluded from the export of the application data have the value TRUE in the EXCLUDE column.

The database catalog entries CATALOG <outstream_spec> of all tables are always exported, regardless of the restrictions set in CONFIGURATION <instream_spec>.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to create a log of the export process.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

<restart>

You can restart the export.

The PACKAGEGUID and the host name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file.

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

Result

The application data and/or the database catalog are exported to the data_outstream_spec and catalog_outstream_spec data streams.

If necessary, all entries in the table TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

You can use the corresponding IMPORT command to restore the database catalog and the application data.

Errors

The export cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the export.

See also:

Exporting: Commands

IMPORT DB Commands

Log File

System Tables


EXPORT USER Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation EXPORT USER Commands

You can use the Loader’s EXPORT USER command to control the export of application data and/or the corresponding database catalog information of the objects of a user.

Prerequisites

You can use the EXPORT USER command to export objects that are owned by the user that is logged on to the database instance.

Syntax

<export_user_command> ::= EXPORT USER
[<configuration_instream_spec>]
(<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec>)
[<package_outstream_spec>]
[<restart>]

EXPORT USER [<configuration_instream_spec>] <catalog_outstream_spec> <data_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of the database catalog and all application data of a user
EXPORT USER <catalog_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of the database catalog of a user
EXPORT USER [<configuration_instream_spec>] <data_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of all the application data of a user
<configuration_instream_spec> | CONFIGURATION <instream_spec>
<catalog_outstream_spec> | CATALOG <outstream_spec>
<data_outstream_spec> | DATA <outstream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<restart> | RESTART <valPACKAGEGUID>
<valPACKAGEGUID> | ID that is created for the commands that span more than one table

Example

EXPORT USER
CATALOG OUTSTREAM FILE 'mona.catalog' DDL
PACKAGE OUTSTREAM FILE 'mona_export.package' COMPRESSED

The database catalog of the user that is currently logged on is exported.

EXPORT USER
CATALOG OUTSTREAM FILE 'mona.catalog' DDL
DATA OUTSTREAM FILE 'mona.catalog' RECORDS
PACKAGE OUTSTREAM FILE 'mona_export.package' COMPRESSED

The database catalog and the application data of the user that is currently logged on are exported.

Explanation

<catalog_outstream_spec>, <data_outstream_spec>

Depending on whether database catalog and/or application data is exported, the following data streams are generated during the export:

· Data stream for the database catalog definitions: CATALOG <outstream_spec>

· Data stream for the application data: DATA <outstream_spec>

System table SYSLOADER.TRANSFORMATIONMODEL and additional system tables are filled.

<configuration_instream_spec>

You can exclude tables from the export.

· If you do not specify data stream CONFIGURATION <instream_spec> all the application data is exported.

· By specifying a data stream CONFIGURATION <instream_spec>, you can exclude the application data of selected tables from the export DATA <outstream_spec>. The tables must be identified in the data stream by specifying their owner and the table name.
The information about which tables are not exported is stored in the system tables. One way of displaying this information is to display the system table SYSLOADER.TRANSFORMATIONMODEL. The tables excluded from the export of the application data have the value TRUE in the EXCLUDE column.

The database catalog entries CATALOG <outstream_spec> of all tables are always loaded, regardless of the restrictions set in CONFIGURATION <instream_spec>.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to create a log of the export process.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

<restart>

You can restart the export.

The PACKAGEGUID and the computer name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file.

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

Result

The application data and/or the database catalog are exported to the data_outstream_spec and catalog_outstream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

You can use the corresponding IMPORT command to restore the database catalog and the application data.

Errors

The export cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the export.

See also:

Exporting: Commands

IMPORT USER Command

Log File

System Tables


EXPORT SCHEMA Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation EXPORT SCHEMA Commands

You can use the Loader’s EXPORT SCHEMA command to control the export of application data and/or the corresponding database catalog information of the objects of a user.

Prerequisites

Only the owner of the schema may execute the EXPORT SCHEMA command.

Syntax

<export_schema_command> ::= EXPORT SCHEMA <schema_name>
[<configuration_instream_spec>]
(<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec>)
[<package_outstream_spec>]
[<restart>]

EXPORT SCHEMA <schema_name> [<configuration_instream_spec>] <catalog_outstream_spec> <data_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of the database catalog and all application data of a schema
EXPORT SCHEMA <schema_name> <catalog_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of the database catalog of a schema
EXPORT SCHEMA <schema_name> [<configuration_instream_spec>] <data_outstream_spec> [<package_outstream_spec>] [<restart>] | Export of all application data of a schema
<schema_name> | Schema name If the name of the schema is identical to a keyword or if the upper- and lowercase notation is relevant, the name must be placed in quotation marks.
<configuration_instream_spec> | CONFIGURATION <instream_spec>
<catalog_outstream_spec> | CATALOG <outstream_spec>
<data_outstream_spec> | DATA <outstream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<restart> | RESTART <valPACKAGEGUID>
<valPACKAGEGUID> | ID that is created for the commands that span more than one table

Examples

EXPORT SCHEMA hotel
CATALOG OUTSTREAM FILE 'hotel.catalog' DDL
PACKAGE OUTSTREAM FILE 'hotel_export.package' COMPRESSED

The database catalog of the HOTEL schema is exported.

EXPORT SCHEMA hotel
CATALOG OUTSTREAM FILE 'hotel.catalog' DDL
DATA OUTSTREAM FILE 'hotel.data' RECORDS
PACKAGE OUTSTREAM FILE 'hotel_export.package' COMPRESSED

The database catalog and application data of HOTEL schema are exported.

Explanation

<catalog_outstream_spec>, <data_outstream_spec>

Depending on whether database catalog and/or application data is exported, the following data streams are generated during the export:

· Data stream for the database catalog definitions: CATALOG <outstream_spec>

· Data stream for the application data: DATA <outstream_spec>

System table SYSLOADER.TRANSFORMATIONMODEL and additional system tables are filled.

<configuration_instream_spec>

You can exclude tables from the export.

· If you do not specify data stream CONFIGURATION <instream_spec> all the application data is exported.

· By specifying a data stream CONFIGURATION <instream_spec>, you can exclude the application data of selected tables from the export DATA <outstream_spec>. The tables must be identified in the data stream by specifying their owner and the table name.
The information about which tables are not exported is stored in the system tables. One way of displaying this information is to display the system table SYSLOADER.TRANSFORMATIONMODEL. The tables excluded from the export of the application data have the value TRUE in the EXCLUDE column.

The database catalog entries CATALOG <outstream_spec> of all tables are always loaded, regardless of the restrictions set in CONFIGURATION <instream_spec>.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to create a log of the export process.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

<restart>

You can restart the export.

The PACKAGEGUID and the host name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file.

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

Result

The application data and/or the database catalog are exported to the data_outstream_spec and catalog_outstream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

You can use the corresponding IMPORT command to restore the database catalog and the application data.

Errors

The export cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the export.

See also:

Exporting: Commands

Import SCHEMA Command

Log File

System Tables


EXPORT TABLE Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation EXPORT TABLE Commands

You can use this Loader command to control the process for exporting database tables.

Prerequisites

The requested tables must be available in the database instance.

Only the owner of the table may execute the EXPORT TABLE…PAGES command. In all other cases you must have access authorization for the tables you want to export.

Syntax

<export_table_command> ::= EXPORT TABLE <table_name>
  [<order_clause>]
 (<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec> [<longfile_spec>...])
[<package_outstream_spec>]

EXPORT TABLE <table_name> [<order_clause>] <catalog_outstream_spec> <data_outstream_spec> [<package_outstream_spec>] | Export of the entire database catalog and all application data of a table
EXPORT TABLE <table_name> <catalog_outstream_spec> [<package_outstream_spec>] | Export of the database catalog of a table
EXPORT TABLE <table_name> [<order_clause>] <data_outstream_spec> [<longfile_spec>...] [<package_outstream_spec>] | Export of all application data of a table
<table_name> | Table Description
<order_clause> | ORDER BY <column_names>
<column_names> | <valCOLUMN_NAME> | <valCOLUMN_NAME>,<column_names>
<valCOLUMN_NAME> | Name of Column
<catalog_outstream_spec> | CATALOG <outstream_spec>
<data_outstream_spec> | DATA <outstream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<outstream_spec> | Data Stream
<longfile_spec> | Exporting and Importing LONG Values

Examples

EXPORT TABLE hotel.room
DATA OUTSTREAM FILE 'room.data' RECORDS
PACKAGE OUTSTREAM FILE 'room_export.package' COMPRESSED

The application data of table ROOM is exported.

EXPORT TABLE hotel.room
CATALOG OUTSTREAM FILE 'room.catalog' DDL
DATA OUTSTREAM FILE 'room.data' PAGES
PACKAGE OUTSTREAM FILE 'room_export.package' COMPRESSED

The database catalog and application data of table ROOM are exported.

EXPORT TABLE hotel.customer
CATALOG OUTSTREAM FILE 'customer.catalog' DDL
DATA OUTSTREAM FILE 'room.data' COMPRESSED
SEPARATOR ','
DELIMITER '"'
NULL '? '
DECIMAL '///'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO
PACKAGE OUTSTREAM FILE 'customer_export.package' DTL PAGE WITH 25 ROWS USAGE

The database catalog and application data of table CUSTOMER are exported.

Explanation

<catalog_outstream_spec>, <data_outstream_spec>

Depending on whether database catalog and/or application data is exported, the following data streams are generated during the export:

· Data stream for the database catalog definitions: CATALOG <outstream_spec>

· Data stream for the application data: DATA <outstream_spec>

System table SYSLOADER.TRANSFORMATIONMODEL and additional system tables are filled.

A table is only read-only during the export in data format PAGES.

Depending on the size of the table to be exported, the Loader generates one or more data streams for this, each of which can contain the application data of one or more tables. The Loader specifies the maximum size of a single data stream as 1 GB.

The media names for the data streams are created using the name specified in the command, by adding a four digit extension of the form 0001 to the name. The maximum number of media for each export is set at 9999.

<order_clause>

You use the syntax rule order_clause to specify the sorting order for the values of the specified columns.

<package_outstream_spec>

You can unload system table SYSLOADER.TRANSFORMATIONMODEL.

· When you specify a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are unloaded to this data stream. We recommend you use this option to log the export.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

Result

The application data and/or the database catalog of the table are exported to the data_outstream_spec and catalog_outstream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

You can use the corresponding IMPORT TABLE command to restore the database catalog and the application data.

Errors

The export cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the unload process.

See also:

Exporting: Commands

IMPORT TABLE Command

Log File

System Tables


EXPORT COLUMNS Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation EXPORT COLUMNS Commands

You can use this Loader command to control the process for exporting application data from database tables. You can export the values of individual columns of a table.

Prerequisites

You must have access authorization for the table(s) from which you want to export data.

Syntax

<export_columns_command> ::= EXPORT COLUMNS
<select_expression>
[MAP COLUMNS <output_column_list>]
<data_outstream_spec> [<longfile_spec>...]

<select_expression> | SELECT Statement
MAP COLUMNS <output_column_list> | Description of the columns to be exported
<output_column_list> | <output_column> |<output_column> <output_column_list>
<output_column> | Output Column
<data_outstream_spec> | DATA <outstream_spec>
<outstream_spec> | Data Stream
<longfile_spec> | Exporting and Importing LONG Values

Examples

EXPORT COLUMNS cno, title, name, firstname
FROM hotel.customer ORDER BY name
MAP COLUMNS
name 1
firstname 2
title 3
cno 4
DATA OUTSTREAM FILE 'customer.data' COMPRESSED

The specified columns of the CUSTOMER table are exported.

EXPORT COLUMNS cno, title, name, firstname
FROM hotel.customer WITH LOCK ISOLATION LEVEL 0
MAP COLUMNS
cno 1
title 2
name 3
firstname 4
DATA OUTSTREAM FILE 'customer.data' COMPRESSED

The specified columns of the CUSTOMER table are exported. In doing so the LOCK option and isolation level 0 are set.

EXPORT COLUMNS * FROM hotel.hotel
DATA OUTSTREAM FILE 'hotel.data' FORMATTED
LONG OUTSTREAM FILE info 'hotel_info.data'

All columns of the CUSTOMER table are exported. This is done using the FORMATTED data format.

EXPORT COLUMNS * FROM hotel.room
MAP COLUMNS
hno 1-5
type 6-11
free 12-31
price 32-39 REAL IF NULL SET '0'
DATA OUTSTREAM FILE 'room.data' FORMATTED BINARY
NULL '? '
DECIMAL '///'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO

The specified columns of the ROOM table are exported. This is done using the FORMATTED BINARY data format.

Explanation

You can use the EXPORT COLUMNS command to specify the columns of the table from which you wish to export the application data (DATA). When you do this, you can link several tables and specify a sort order for the exported data.

<select_expression>

You use the syntax rule select_expression to specify which columns in a table are to be exported. The database query is formulated in the same way as a SELECT statement, except the SELECT keyword is not used. All options of a SELECT statement are permitted:

· Select the result columns and determine their order in the result table

· Join multiple tables

· Use qualifications to select result rows

· Specify sort order

· Specify locks and isolation level (WITH LOCK, see LOCK Option (lock_option))

<output_column_list>

If you specify the syntax element output_column_list, you describe the columns in a source table that are to be exported (output columns) and how the data records are represented in the data stream.

· The columns can be in any order in the column description.

· The column list can only contain columns from the SELECT statement or a subset of them.

· Values are output only for those columns in the column list. If the column list contains more columns than the SELECT statement, the Loader generates an error and terminates the command.

· If you want to assign the columns of the source table to fields of the data stream you have to use the keyword MAP COLUMNS.

· If you have defined the COMPRESSED format for the data stream, the values of the columns to be exported are output in the order in the SELECT statement, and separated with separators.

· If you have defined the format FORMATTED for the data stream, the values of the columns to be extracted are formatted and output in the order in the SELECT statement. The length of the individual output values depends on the defined sizes of the individual columns in the source table.

· If the SELECT statement does not contain any column names (EXPORT COLUMNS * FROM ...), the columns are formatted according to the format of the data stream. They are output in the order specified by the database for processing the command.

Result

The application data is exported to the data stream data_outstream_spec and, if appropriate stating the long specification longfile_spec.

The application data can be reconstructed with the corresponding IMPORT command.

Errors

The export cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

See also:

Exporting: Commands

IMPORT TABLE Commands

IMPORT COLUMN Commands

Log File


Importing: Commands (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Importing: Commands

Use

The Loader can process a range of commands and SQL statements, including Loader-specific commands for importing data.

Prerequisites

Creating a Database Session: Commands

Syntax

<import_command> ::= IMPORT <part_spec>
[<duplicates_clause>]
[<configuration_instream_spec>]
(<catalog_instream_spec> <data_instream_spec>
|<catalog_instream_spec>
|<data_instream_spec>)
[<package_outstream_spec>]
[<restart>]

Features

The Loader’s range of commands makes it possible to import, with increasing granularity, a complete database, the objects of a user, the objects of a schema, individual tables or a set of columns of a table.

You can use the syntax rule

<part_spec> ::= DB | USER | SCHEMA <schema_name> | TABLE <table_name>

to specify the required granularity. That is, you can specify whether you want to import all data, the data of a user, schema or a table.

You can export a set of columns of a table using the IMPORT COLUMNS or IMPORT TABLE command. You can use UPDATE COLUMNS to update columns.

Under consideration of the granularity, the import commands can be classified as follows:

What is to be imported? | Loader command (abbreviated)
 | <part_spec> ::= DB
Entire database catalog and all application data | IMPORT DB CATALOG <instream_spec> DATA <instream_spec> PACKAGE <outstream_spec>
Entire database catalog | IMPORT DB CATALOG <instream_spec> PACKAGE <outstream_spec>
All application data of the database | IMPORT DB DATA <instream_spec> PACKAGE <outstream_spec>
 | See also: IMPORT DB Commands
 | <part_spec> ::= USER
Database catalog and all application data of a user | IMPORT USER CATALOG <instream_spec> DATA <instream_spec> PACKAGE <outstream_spec>
Database catalog of a user | IMPORT USER CATALOG <instream_spec> PACKAGE <outstream_spec>
All application data of a user | IMPORT USER DATA <instream_spec> PACKAGE <outstream_spec>
 | See also: IMPORT USER Commands
 | <part_spec> ::= SCHEMA <schema_name>
Database catalog and all the application data of a schema | IMPORT SCHEMA <schema_name> CATALOG <instream_spec> DATA <instream_spec> PACKAGE <outstream_spec>
Database catalog of a schema | IMPORT SCHEMA <schema_name> CATALOG <instream_spec> PACKAGE <outstream_spec>
All application data of a schema | IMPORT SCHEMA <schema_name> DATA <imstream_spec> PACKAGE <outstream_spec>
 | See also: IMPORT SCHEMA Commands
 | <part_spec> ::= TABLE <table_name>
Database catalog and all the application data of a table | IMPORT TABLE <table_name> CATALOG <instream_spec> DATA <instream_spec> PACKAGE <outstream_spec>
Database catalog of a table | IMPORT TABLE <table_name> CATALOG <instream_spec> PACKAGE <outstream_spec>
All application data of a table | IMPORT TABLE <table_name> DATA <instream_spec> PACKAGE <outstream_spec>
 | See also: IMPORT TABLE Commands

Other Commands

Import set of qualified columns of a table

IMPORT TABLE <table_spec>
<load_column_spec>...
  <data_instream_spec>

See also: IMPORT TABLE Commands

IMPORT COLUMNS TABLE <table_spec>
<load_column_spec>...
<data_instream_spec>

See also: IMPORT COLUMNS Commands

Change set of qualified columns of a table

UPDATE COLUMNS TABLE <table_spec>
<simple_column_spec>
SET <load_column_spec>
<instream_spec>

See also: UPDATE COLUMNS Commands

See also:

Exporting and Importing: Syntax Elements

Exporting: Commands

Exporting and Importing LONG Values

Exporting and Importing using Third-Party Backup Tools

Syntax Rules: Overview


IMPORT DB Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation IMPORT DB Commands

You can use the Loader's IMPORT DB command to control the import of application data and/or the corresponding database catalog information of the entire database.

Prerequisites

The IMPORT DB command can only be executed by the database system administrator (SYSDBA user).

You have exported the required data using the corresponding EXPORT command.

Syntax

<import_db_command> ::= IMPORT DB
[<configuration_instream_spec>]
(<catalog_instream_spec> <data_instream_spec>
|<catalog_instream_spec>
|<data_instream_spec>)
[<package_outstream_spec>]
[<restart>]

IMPORT DB [<configuration_instream_spec>] <catalog_instream_spec> <data_instream_spec> [<package_outstream_spec>] [<restart>] | Import of the entire database catalog and all application data
IMPORT DB <catalog_instream_spec> [<package_outstream_spec>] [<restart>] | Import of the entire database catalog
IMPORT DB [<configuration_instream_spec>] <data_instream_spec> [<package_outstream_spec>] [<restart>] | Import of all the application data of the database
<configuration_instream_spec> | CONFIGURATION <instream_spec>
<catalog_instream_spec> | CATALOG <instream_spec>
<data_instream_spec> | DATA <instream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<restart> | RESTART <valPACKAGEGUID>
<valPACKAGEGUID> | ID that is created for the commands that span more than one table

Examples

IMPORT DB
CATALOG INSTREAM FILE 'demodb.catalog' DDL
PACKAGE OUTSTREAM FILE 'demodb_import.package' COMPRESSED

The entire database catalog is imported.

IMPORT DB
CATALOG INSTREAM FILE 'demodb.catalog' DDL
DATA INSTREAM FILE 'demodb.data' RECORDS
PACKAGE OUTSTREAM FILE 'demodb.import' COMPRESSED

The entire database catalog and all application data are imported.

Explanation

<catalog_instream_spec>, <data_instream_spec>

Depending on whether database catalog and/or application data is imported, the following data streams are required for the import:

· Data stream with database catalog information: CATALOG <instream_spec>

· Data stream with application data: DATA <instream_spec>

<configuration_instream_spec>

You can exclude tables from the import.

· If you do not specify data stream CONFIGURATION <instream_spec> all the application data is imported.

· By specifying a data stream CONFIGURATION <instream_spec>, you can exclude the application data of selected tables from the import DATA <instream_spec>. The tables must be identified in the data stream by specifying their owner and the table name.
The information about which tables are not imported is stored in the system tables. One way of displaying this information is to display the system table SYSLOADER.TRANSFORMATIONMODEL. The tables excluded from the import of the application data have the value TRUE in the EXCLUDE column.

The database catalog entries CATALOG <instream_spec> of all tables are always imported, regardless of the restrictions set in CONFIGURATION <instream_spec>.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to log the import process well.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

<restart>

You can restart the import.

The PACKAGEGUID and the host name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file.

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

Result

The application data and/or the database catalog are imported into the data_instream_spec and catalog_instream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

Errors

The import cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the import.

See also:

Importing: Commands

EXPORT DB Commands

Log File

System Tables


IMPORT USER Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation IMPORT USER Commands

You can use the Loader’s IMPORT USER command to control the import of application data and/or the corresponding database catalog information of a user’s objects.

Prerequisites

The objects imported with an IMPORT USER command belong to the user who is logged on to the database instance at the time of the import.

You have exported the required data using the corresponding EXPORT command.

Syntax

<import_user_command> ::= IMPORT USER
[<configuration_instream_spec>]
(<catalog_instream_spec> <data_instream_spec>
|<catalog_instream_spec>
|<data_instream_spec>)
[<package_outstream_spec>]
[<restart>]

IMPORT USER [<configuration_instream_spec>] <catalog_instream_spec> <data_instream_spec> [<package_outstream_spec>] [<restart>] | Import of the database catalog and all the application data of a user
IMPORT USER <catalog_instream_spec> [<package_outstream_spec>] [<restart>] | Import of the database catalog of a user
IMPORT USER [<configuration_instream_spec>] <data_instream_spec> [<package_outstream_spec>] [<restart>] | Import of all application data of a user
<configuration_instream_spec> | CONFIGURATION <instream_spec>
<catalog_instream_spec> | CATALOG <instream_spec>
<data_instream_spec> | DATA <instream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<restart> | RESTART <valPACKAGEGUID>
<valPACKAGEGUID> | ID that is created for the commands that span more than one table

Examples

IMPORT USER
CATALOG INSTREAM FILE 'mona.catalog' DDL
PACKAGE OUTSTREAM FILE 'mona_import.package' COMPRESSED

The database catalog of the current user is imported.

IMPORT USER
CATALOG INSTREAM FILE 'mona.catalog' DDL
DATA INSTREAM FILE 'mona.data' RECORDS
PACKAGE OUTSTREAM FILE 'mona_import.package' COMPRESSED

The database catalog and the application data for the current user are imported.

Explanation

<catalog_instream_spec>, <data_instream_spec>

Depending on whether database catalog and/or application data is imported, the following data streams are required for the import:

· Data stream with database catalog information: CATALOG <instream_spec>

· Data stream with application data: DATA <instream_spec>

<configuration_instream_spec>

You can exclude tables from the import.

· If you do not specify data stream CONFIGURATION <instream_spec> all the application data is imported.

· By specifying a data stream CONFIGURATION <instream_spec>, you can exclude the application data of selected tables from the import DATA <instream_spec>. The tables must be identified in the data stream by specifying their owner and the table name.
The information about which tables are not imported is stored in the system tables. You can display this information by displaying the system table SYSLOADERTRANSFORMATIONMODEL. The tables excluded from the import of the application data have the value TRUE in the EXCLUDE column.

The database catalog entries CATALOG <instream_spec> of all tables are always imported, regardless of the restrictions set in CONFIGURATION <instream_spec>.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to log the import process well.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

<restart>

You can restart the import.

The PACKAGEGUID and the computer name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file.

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

Result

The application data and/or the database catalog are imported into the data_instream_spec and catalog_instream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

Errors

The import cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the import.

See also:

Importing: Commands

EXPORT USER Commands

Log File

System Tables


IMPORT SCHEMA Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation IMPORT SCHEMA Commands

You can use the Loader’s IMPORT SCHEMA command to control the import of application data and/or the corresponding database catalog information of a schema.

Prerequisites

Only the owner of the schema may execute the IMPORT SCHEMA command.

You have exported the required data using the corresponding EXPORT command.

Syntax

<import_schema_command> ::= IMPORT SCHEMA <schema_name>
  [<configuration_instream_spec>]
  (<catalog_instream_spec> <data_instream_spec>
  |<catalog_instream_spec>
  |<data_instream_spec>)
  [<package_outstream_spec>]
  [<restart>]

IMPORT SCHEMA <schema_name> [<configuration_instream_spec>] <catalog_instream_spec> <data_instream_spec> [<package_outstream_spec>] [<restart>] | Import of the database catalog and all the application data of a schema
IMPORT SCHEMA <schema_name> <catalog_instream_spec> [<package_outstream_spec>] [<restart>] | Import of the database catalog of a schema
IMPORT SCHEMA <schema_name> [<configuration_instream_spec>] <data_instream_spec> [<package_outstream_spec>] [<restart>] | Import of all the application data of a schema
<schema_name> | Schema name If the name of the schema is identical to a keyword or if the upper- and lowercase notation is relevant, the name must be placed in quotation marks.
<configuration_instream_spec> | CONFIGURATION <instream_spec>
<catalog_instream_spec> | CATALOG <instream_spec>
<data_instream_spec> | DATA <instream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<restart> | RESTART <valPACKAGEGUID>
<valPACKAGEGUID> | ID that is created for the commands that span more than one table

Examples

IMPORT SCHEMA hotel
CATALOG INSTREAM FILE 'hotel.catalog' DDL
PACKAGE OUTSTREAM FILE 'hotel_import.package' COMPRESSED

The database catalog is imported into the HOTEL schema.

IMPORT SCHEMA hotel
CATALOG INSTREAM FILE 'hotel.catalog' DDL
DATA INSTREAM FILE 'hotel.data' RECORDS
PACKAGE OUTSTREAM FILE 'hotel_import.package' COMPRESSED

The database catalog and application data are imported into the HOTEL schema.

Explanation

<catalog_instream_spec>, <data_instream_spec>

Depending on whether database catalog and/or application data is imported, the following data streams are required for the import:

· Data stream with database catalog information: CATALOG <instream_spec>

· Data stream with application data: DATA <instream_spec>

<configuration_instream_spec>

You can exclude tables from the import.

· If you do not specify data stream CONFIGURATION <instream_spec> all the application data is imported.

· By specifying a data stream CONFIGURATION <instream_spec>, you can exclude the application data of selected tables from the import DATA <instream_spec>. The tables must be identified in the data stream by specifying their owner and the table name.
The information about which tables are not imported is stored in the system tables. One way of displaying this information is to display the system table SYSLOADER.TRANSFORMATIONMODEL. The tables excluded from the import of the application data have the value TRUE in the EXCLUDE column.

The database catalog entries CATALOG <instream_spec> of all tables are always imported, regardless of the restrictions set in CONFIGURATION <instream_spec>.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to log the import process well.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

<restart>

You can restart the import.

The PACKAGEGUID and the computer name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file.

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

Result

The application data and/or the database catalog are imported into the data_instream_spec and catalog_instream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

Errors

The import cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the import.

See also:

Importing: Commands

EXPORT SCHEMA Commands

Log File

System Tables


IMPORT TABLE Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation IMPORT TABLE Commands

You can use the Loader’s IMPORT TABLE command to control the import of application data and/or the corresponding database catalog information of the objects of a user.

You can use another instance of the IMPORT TABLE command and specify the syntax element usage_spec to speed up the import.

Prerequisites

The objects imported with an IMPORT TABLE command belong to the user who is logged on to the database instance at the time of the import.

You have either exported the required data with the corresponding EXPORT command or the data is available in the specified data format.

Syntax

<import_table_command> ::= IMPORT TABLE <table_name>
[<duplicates_clause>]
(<catalog_instream_spec> <data_instream_spec>
|<catalog_instream_spec>
|<data_instream_spec>)
[<package_outstream_spec>]

IMPORT TABLE <table_name> [<duplicates_clause>] <catalog_instream_spec> <data_instream_spec> [<package_outstream_spec>] | Import of the database catalog and all the application data of a table
IMPORT TABLE <table_name> <catalog_instream_spec> [<package_outstream_spec>] | Import of the database catalog of a table
IMPORT TABLE <table_name> [<duplicates_clause>] <data_instream_spec> [<package_outstream_spec>] | Import of all the application data of a table

Another option of the IMPORT TABLE command for the data formats COMPRESSED and FORMATTED is as follows:

<import_table_spec_command> ::=
IMPORT TABLE <table_spec>
[<duplicates_clause>]
[<catalog_instream_spec>]
<data_instream_spec> <load_column_spec>...
[<longfile_spec>...]
[<usage_spec>]
[<package_outstream_spec>]

<table_name> | Table Description
<table_spec> | Table Description
<duplicates_clause> | This syntax element cannot be selected if the data is imported as table pages (PAGE). Possible values REJECT DUPLICATES | IGNORE DUPLICATES | UPDATE DUPLICATES Default value: REJECT DUPLICATES
<catalog_instream_spec> | CATALOG <instream_spec>
<data_instream_spec> | DATA <instream_spec>
<package_outstream_spec> | PACKAGE <outstream_spec>
<instream_spec> <outstream_spec> | Data Stream
<load_column_spec> | Column Description
<longfile_spec> | Exporting and Importing LONG Values This syntax element cannot be selected if the data is imported as table pages (PAGE).
<usage_spec> | PAGE WITH <valUSAGE> % USAGE | PAGE WITH <valUSAGE> ROWS USAGE | ROW USAGE Default value: ROW USAGE
<valUSAGE> | Positive integer If a percentage rate is specified this number has to be between 50 and 100. Default value: 80 When specifying the number of rows, the length of individual table records is important.

Examples

IMPORT TABLE hotel.reservation
UPDATE DUPLICATES
CATALOG INSTREAM FILE 'reservation.catalog' DDL
DATA INSTREAM FILE 'reservation.data' RECORDS
PACKAGE OUTSTREAM FILE 'reservation_import.package' COMPRESSED

The application data of table RESERVATION is imported and an existing row is overwritten with the imported data record.

IMPORT TABLE hotel.room
CATALOG INSTREAM FILE ′room.catalog′ DDL
DATA INSTREAM FILE ′room.data′ PAGES
PACKAGE OUTSTREAM FILE ′room_import.package′ COMPRESSED

The database catalog and application data are imported into the blank table ROOM. The application data is read from the data stream in the PAGES data format and imported into the table in the PAGES format.

IMPORT TABLE hotel.room
CATALOG INSTREAM FILE 'room.catalog' DDL
DATA INSTREAM FILE 'room.data' COMPRESSSED
SEPARATOR ','
DELIMITER '"'
NULL '? '
DECIMAL '//./'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO
PAGE WITH 80 % USAGE
PACKAGE OUTSTREAM FILE 'room_import.data' COMPRESSED

The database catalog and application data are imported into the blank table ROOM. The application data is read from the data stream in the COMPRESSED data format and imported into the database in the PAGES format with a fill level of 80 %.

Explanation

<catalog_instream_spec>, <data_instream_spec>

Depending on whether database catalog and/or application data is imported, the following data streams are required for the import:

· Data stream with database catalog information: CATALOG <instream_spec>

· Data stream with application data: DATA <instream_spec>

<duplicates_clause>

You use the DUPLICATES rule to specify how to proceed when importing data from a data stream if a row with the same key as the new row already exists in the table. This rule is only evaluated if the data is not imported into the database in the PAGES data format.

REJECT DUPLICATES | The new line is rejected with an error message.
IGNORE DUPLICATES | The new line is not inserted.
UPDATE DUPLICATES | The new line overwrites the existing line.

<usage_spec>

You can use the syntax rule usage_spec to specify whether data that is available in the COMPRESSED or FORMATTED format is to be imported via table pages (PAGE) or a mass INSERT (ROW). For more information see the Explanations of the Data Formats.

The performance of the import of sorted application data into a table can be controlled using usage_spec , if the table definition of the target table meets certain prerequisites. If you select PAGE WITH ... the data is entered directly into the table pages of the database instance and no log entries are written. This enables an additional performance improvement compared to the selection of ROW USAGE.

<package_outstream_spec>

You can export system table SYSLOADER.TRANSFORMATIONMODEL.

· By specifying a data stream PACKAGE <outstream_spec> all entries of the table SYSLOADER.TRANSFORMATIONMODEL are exported to this data stream. We recommend you use this option to log the import process well.

· If you do not specify data stream PACKAGE <outstream_spec> the system table SYSLOADER.TRANSFORMATIONMODEL is not exported.

Result

The application data and/or the database catalog are imported into the data_instream_spec and catalog_instream_spec data streams.

If necessary, all entries in the table SYSLOADER.TRANSFORMATIONMODEL are exported to the package_outstream_spec data stream.

Errors

The import cannot be completed successfully. In this case, the Loader logs the cause of the error in the log file.

The values PACKAGEGUID and CLIENTNODE are also written to the log file. The PACKAGEGUID is required if you want to restart the import.

See also:

Importing: Commands

EXPORT TABLE Commands

Log File

System Tables


IMPORT COLUMNS Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation IMPORT COLUMNS Commands

You can use the Loader’s IMPORT COLUMNS command to control the import of application data into a table.

Prerequisites

The table exists in the database. Otherwise, it must be created before the IMPORT COLUMNS command is executed.

Syntax

<import_columns_command > ::= IMPORT COLUMNS
TABLE <table_spec> [<duplicates_clause>]
<load_column_spec>...
<data_instream_spec> [<longfile_spec>...]

<table_spec> | Table Description
<duplicates_clause> | Possible values REJECT DUPLICATES | IGNORE DUPLICATES | UPDATE DUPLICATES Default value: REJECT DUPLICATES
<load_column_spec> | Table Description
<data_instream_spec> | DATA <instream_spec>
<instream_spec> | Data Stream
<longfile_spec> | Exporting and Importing LONG Values

Examples

IMPORT COLUMNS TABLE hotel.customer
UPDATE DUPLICATES
cno 1-5 CHAR
title 6-25 CHAR DEFAULT NULL
firstname 26-45 CHAR DEFAULT NULL
name 46-55 CHAR
zip 56-75 CHAR DEFAULT NULL
address 76-100 CHAR
DATA INSTREAM FILE 'customer.data' FORMATTED
NULL '? '
DECIMAL '//./'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO

The specified column values are imported.

IMPORT COLUMNS TABLE hotel.room
UPDATE DUPLICATES
hno 1 CHAR
type 2 CHAR
free 3 CHAR DEFAULT NULL
price 4 CHAR DEFAULT NULL
DATA INSTREAM FILE 'room.data' COMPRESSED
SEPARATOR ','
DELIMITER '"'
NULL '? '
DECIMAL '//./'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO

The specified column values are imported.

Explanation

The Loader generates an internal mass INSERT statement from the IMPORT COLUMNS command and then executes it.

During the import operation, all of the tables modified by this IMPORT COLUMNS command can also be read and changed by other users.

<duplicates_clause>

You use the DUPLICATES rule to specify how to proceed when importing data from a data stream if a row with the same key as the new row already exists in the table. This rule is only evaluated if the data is not imported into the database as table pages (PAGES).

REJECT DUPLICATES | The new row is rejected with an error message.
IGNORE DUPLICATES | The new row is not inserted.
UPDATE DUPLICATES | The new row overwrites the existing line.

Result

The data in the data stream has been loaded to the target table(s). All of the changes made to the target table(s) as a result have also been written to the log area of the database instance.

Errors

If the import operation cannot be completed successfully, the Loader logs the last row that was successfully inserted in the table, the number of rows inserted, and the number of rows rejected in the log file.

See also:

Importing: Commands

EXPORT COLUMNS Commands

Log File


UPDATE COLUMNS Commands (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation UPDATE COLUMNS Commands

You can use this Loader command to update individual column values in tables.

Prerequisites

The target table exists in the database instance.

Syntax

<update_columns_command> ::= UPDATE COLUMNS
TABLE <table_spec>
<simple_column_spec>... <set_column_spec>...
<data_instream_spec> [<longfile_spec>…]

<table_spec> | Table Description
<simple_column_spec> | <column_descriptor> | <column_assignment>
<column_descriptor> | Column Description
<column_assignment> | Column Description
<set_column_spec> | SET <load_column_spec>
<load_column_spec> | Column Description
<data_instream_spec> | DATA <instream_spec>
<instream_spec> | Data Stream
<longfile_spec> | Exporting and Importing LONG Values

Examples

UPDATE COLUMNS TABLE hotel.customer
cno 1-5
SET address 76-100
DATA INSTREAM FILE 'customer.data' FORMATTED
NULL '?'
DECIMAL '///'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO

UPDATE COLUMNS TABLE hotel.customer
cno 1-5
SET zip 56-75
SET address 76-100
DATA INSTREAM FILE 'customer.data' FORMATTED
NULL '?'
DECIMAL '///'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO

The column definition of the target columns occurs using the keyword SET.

Explanation

The Loader generates an internal UPDATE statement from the UPDATE COLUMNS command and then executes it.

<simple_column_spec>, <set_column_spec>

You use the syntax rule simple_column_spec to define the qualification columns.

The qualification columns must be listed before the target columns set_column_spec in an UPDATE COLUMNS command.

If you use qualification columns simple_column_spec, for each data record in the data stream each row in the target table is updated that is identified using the value(s) of the qualification column(s) of this data record. You therefore use the syntax rule simple_column_spec to assign the data fields of the qualification columns in the data stream to the columns in the target table and can thus specify the external data types.

Result

The individual row values in the specified table columns are updated. All of the changes made to the target table(s) as a result have also been written to the log area of the database instance.

Errors

If errors occur while a UPDATE COLUMNS command is being executed, the Loader terminates the process and displays an error message. A log file is written.

See also:

Importing: Commands

Log File


Exporting and Importing: Syntax Elements (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Exporting and Importing: Syntax Elements

<code_spec> | Code Specifications apurl_link_0007_0001_0029
<column_assignment> | Importing Constants and Special Constants
<condition> | Selecting Data Records
<date_spec> | Date Specifications
<duplicates_clause> | IMPORT TABLE Commands
<field_format> | Data Types
<field_pos> | Position Description
<format_spec> | Column Description
<generate_spec> | Importing Constants and Special Constants
<if_condition> | Table Description
<instream_spec> | Data Stream
<load_column_spec> | Column Description
<longfile_code_spec> | Code Specification
<longfile_spec> | Exporting and Importing LONG Values
<mediumtype_spec> | Medium
<order_clause> | EXPORT TABLE Commands
<output_column> | Output Column
<outstream_spec> | Data Stream
<restart> | Restart
<stream_format_spec> | Data Format
<table_spec> | Table Description
<time_spec> | Time Specifications
<timestamp_spec> | Time Stamp Specifications
<usage_spec> | Data Format

Additional Information

Exporting and Importing Backup Tools from Other Providers

Transformation

See also:

Exporting: Commands

Importing: Commands

Syntax Rules: Overview


Transformation (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Transformation

Definition

The action related to exporting/importing/transporting is known as a transformation and is described using entries in the Loader-specific system tables.

Use

A transformation is identified using Loader and database instance details (connection information), a transformation type (export, import, transport), a transformation package (specification of the data to be transported), and the specification of the data streams.

The Loader uses metadata, which can be in different formats, for the logical description of data and its transformation. When the system tables of the Loader are filled, this can, among other things, be used for restarting a transformation.

The range of language of the Loader allows for the transformation of the data of the entire database, of a database instance, of a table of a user, or of a set of qualified columns of a table or multiple tables. That is, the data is summarized in transformation packages. Using the corresponding Loader commands you can process the transformation packages.

See also:

Exporting: Commands

Importing: Commands

Additional Information

A transformation of all the application data or the entire database catalog can also be carried out using third-party backup tools.

See also:

Exporting and Importing using Third-Party Backup Tools


Data (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Data

Definition

The Loader provides you with functions for exporting, importing, transporting and formatting data between different data sources and data targets in different granularities.

Structure

The Loader distinguishes between application data and metadata.

· Application Data

Application data is the data that is stored in the database tables.
The Loader writes the application data to a data stream when exporting from the database system and to the database system when importing from a data stream.

· Metadata

The database system manages its own metadata in the database catalog.
For the Loader, the metadata is the metadata of the database system and additionally the data that describes the application data, database catalog information and transformations according to the Loader’s requirements.

Metadata of the Loader

The Loader distinguishes between the metadata of the application data, the database catalog and the transformation.

Metadata of the Application Data

The metadata of the application data (transport type DATA) is defined in the data streams using commands and SQL statements.

If the transformation spans multiple tables, the Loader stores this information in the system tables.

The corresponding data is stored in the database instance in the form of pages or rows, and in a data stream in the non-readable formats PAGES and RECORDS or in the readable formats COMPRESSED, FORMATTED and FORMATTED BINARY .

If the data is transformed in form of rows, then columns of the external data type CHAR with the code attribute ASCII can be transformed to values of data fields with the code attribute ASCII, UCS-2, or UTF-8.

Metadata of the Database Catalog

Metadata of the database catalog (transport type CATALOG) describes the structure of the data in the database catalog.

If the transformation spans multiple tables, the Loader stores this information in its system tables.

The corresponding data is stored in the database instance in the form of rows in the system tables and in a data stream in the form of SQL statements for data definition.

Metadata of the Transformation

The metadata of the transformations (transport types CONFIGURATION and PACKAGE) is declared in the form of commands or in the form of Loader-specific system tables.

This metadata describes the configuration and the runtime behavior of the transformations that span multiple tables.

The corresponding data, such as user names and table names, is stored, sorted by referential constraint conditions.

In the database instance, the data is stored in the form of rows in the system tables in a data stream in the readable format COMPRESSED.

See also:

Transformation

Data

Data Stream

Exporting: Commands

Importing: Commands


Data Stream (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Data Stream

The Loader exports the data from databases into data streams or imports data from data streams into databases. The data can be transformed in this process.

A range of syntax elements are available for describing the data stream. These syntax elements can be used in the export and import commands.

Syntax

<outstream_spec> ::= OUTSTREAM [<mediumtype_spec>] '<valSTREAM_NAME>' [<stream_format_spec>] [<stream_extract>]

<instream_spec> ::= INSTREAM [<mediumtype_spec>] '<valSTREAM_NAME>' [<stream_format_spec>] [<stream_extract>] [<noheader_spec>]

· You enter the keyword OUTSTREAM in the syntax rule outstream_spec to specify that the data is to be exported from a MaxDB database instance to a data stream.

· You enter the keyword INSTREAM in the syntax rule instream_spec to specify that the data is to be imported from a data stream to a MaxDB database instance.

<mediumtype_spec> | Type of medium The data is exported to the specified medium or imported from this medium. If no medium is specified, a file (FILE) is selected as the medium.
<valSTREAM_NAME> | Name and path of the medium
<stream_format_spec> | Specification of the data format The formats specified in the syntax rule stream_format_spec apply to the data.
<stream_extract> | START <valSTART_POS> (MAXROWS | MAXRECORDS) | START <valSTART_POS> <valEND_POS> The syntax rule stream_extract is only evaluated for EXPORT TABLE and IMPORT TABLE commands, if the data format is RECORDS, COMPRESSED or FORMATTED. If you use this rule in other commands, it is ignored.
<valSTART_POS> | Number of the first data record to be imported
<valEND_POS> | Number of the last data record to be imported
<noheader_spec> | NOHEADER <valRECORD_LENGTH> The syntax rule noheader_spec is only evaluated for IMPORT TABLE commands if the data format is FORMATTED BINARY. If you use this rule in other commands, it is ignored.
<valRECORD_LENGTH> | Length of an individual data record in the data stream

Examples

IMPORT TABLE hotel.room
DATA INSTREAM FILE 'room.data'

Data stream room.data is imported into table room. It contains application data.

Explanation

<stream_extract>

Syntax rule stream_extract is only evaluated for EXPORT TABLE and IMPORT TABLE-commands if the data format is RECORDS, COMPRESSED or FORMATTED.

The meaning varies for EXPORT and IMPORT commands: In the case of an import you can specify from which data record from a data file how many data records are to be loaded. In the case of an export you can specify from data record of a table how many data records are to be exported.

<noheader_spec>

The syntax rule noheader_spec is only evaluated for IMPORT TABLE commands if the data format is FORMATTED BINARY.

For data streams with binary values (FORMATTED BINARY) you can use noheader_spec to specify that the data stream does not have a special header containing the sizes of a data record. At the same time, you specify the length of an individual data record in the data stream.

If the data stream was generated with the EXPORT TABLE, it contains a special header with the length of an individual data record in the data stream.

If this header is missing, the Loader can use noheader_spec to specify the length of an individual data record. If this rule is missing, the Loader calculates the length of an individual data record using the information on the column positions in the load command.

Classification of the Data Streams

The keywords CATALOG, DATA, CONFIGURATION and PACKAGE are used in the commands for exporting and importing to differentiate by the type of data that is exported or imported.

<catalog_outstream_spec> | CATALOG <outstream_spec>
<catalog_instream_spec> | CATALOG <instream_spec> Data streams for the database catalog definitions
<data_outstream_spec> | DATA <outstream_spec>
<data_instream_spec> | DATA <instream_spec> Data streams for the application data
<configuration_instream_spec> | CONFIGURATION <instream_spec> The application data of selected tables can be excluded from the export or import
<package_outstream_spec> | PACKAGE <outstream_spec> Data streams with entries of system table TRANSFORMATIONMODEL

See also:

Exporting: Commands

Importing: Commands

Files

Data Types


Data Types (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Data Types

With most Loader commands for exporting and importing data, you can specify the data type that the relevant field values in the data stream have or should have.

A distinction is made between database-internal and external data types.

· Internal database data types

Internal data types are the data types defined for the columns in the database table.
For an explanation of all internal database data types, see Data Type (data_type) in the Reference Manual.

· External data types

External data types are the data types into which the Loader can convert internal database data types when it exports application data, or they are the data types that the Loader converts into internal database data types when it imports data.
You can specify the external data type for each field value to be exported or imported in the commands for exporting or importing using syntax element field_format.

The specification of the data types tells the Loader how to interpret the data in the data stream.

· When application data is exported from a table, the internal database data types are converted to the specified external data types and the corresponding column values are exported.

· When application data is imported into a table, the specified external data types are converted to internal database data types and the corresponding column values of a table are imported.

The external data type and the corresponding internal database data type of the column value in the target table do not have to be identical.

See also:

Column Description

Output Column

Selecting Data Records

Syntax

<field_format> ::= /* empty */ | CHAR | DECIMAL [(<valFRACTION>)]
| INTEGER | REAL | ZONED [(<valFRACTION>)]

/* empty */ | The data field is read or output as data type CHAR. Every internal database column format in the database can be read and output in CHAR format.
CHAR (plain text value) | ASCII, UCS2, or UTF8-coded, depending on the computer, max. 254 bytes long
DECIMAL (Binary value) | Packed decimal: one digit per half byte, sign in extreme right half byte, 1 to 10 bytes long, maximum of 18 digits, the position of the decimal point is derived from the table column type
DECIMAL(<valFRACTION>) (Binary value) | <valFRACTION> specifies the number of digits on the right of the decimal point
INTEGER (Binary value) | Binary coded (computer-specific), 1, 2, or 4 bytes long, sign in bit 0, negative values in two's complement notation
REAL (Binary value) | Floating point notation with mantissa and exponent, 4 or 8 bytes long, in computer-specific notation
ZONED (Binary value) | Zoned decimal: /370 zoned data format is permitted, the position of the decimal point is derived from the table column type
ZONED(<valFRACTION>) (Binary value) | <valFRACTION> specifies the number of digits on the right of the decimal point

Examples

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data' FORMATTED BINARY
rno 01-04 INTEGER
cno 05-08 INTEGER
hno 09-12 INTEGER
type 13-18 CHAR
arrival 19-28 CHAR
departure 29-38 CHAR

For the values in the columns rno, cno and hno, the database table reservation requires the internal database data type FIXED.

The IMPORT TABLE command defines the external data type INTEGER for these columns. The data in the columns rno, cno and hno is converted to the internal database data type FIXED when it is imported.

IMPORT TABLE room
DATA INSTREAM FILE 'room.data' FORMATTED BINARY
hno 01-05
type 06-11
free 12-19 INTEGER HEX
price 20-27 INTEGER HEX

The IMPORT TABLE command defines hexadecimal values free and price as the external data type. This is achieved using the additional HEX specification.

Explanation

If no external data type is specified for a field value, the Loader selects the CHAR data type as the default for this field value. Therefore, if the field value does not have the data type CHAR or the data type CHAR is not desired, you must specify the data type.

Binary Values

All numeric, external data types (INTEGER, REAL, DECIMAL, ZONED) are interpreted as binary values. These can be converted to any of the internal data types (FIXED, SMALLINT, INTEGER, FLOAT) used by the database.

· The Loader always interprets data of the data type INTEGER as signed values. The way in which this data is represented in a data stream can be adjusted using the syntax element int_spec.

· Data of the data type REAL is coded in a computer-specific format and cannot be transported between different operating systems and computer platforms without being converted again.

Plain Text Values

Field values with the external data type CHAR are plain text values, that is, these values consist of readable characters.

· Plain text values can conform to different specifications: ASCII, UCS2, or UTF8 (code specification).

· You can specify the data formats for plain text values that represent the date, time, or a timestamp (date, time and time stamp specification).

You can specify these data formats in import and export commands as a processing specification for the data stream.

Plain text values can be used as inputs for columns of any internal data type used by the database and converted to them. If you want to import plain text values into numerical columns, the values must be able to be interpreted as numbers.

HEX Values

You can use an external data type with the additional specification HEX (for this, see: Column Description, Output Column) as a hexadecimal value.

This enables you to import or export all data types in hexadecimal form. Every byte of data in the result is then represented by two hexadecimal numbers. Every value in the data stream then occupies twice as much space as the value of the same data type without the specification as a HEX value.

Converting the Data Types

The Loader can convert between numeric data types, if necessary. You can use the external data type CHAR to read or output any internal database data type.

· When data is exported from a table, the internal database data types are converted to the specified external data types and the corresponding column values are exported.
The database-internal data types INT[EGER], FIXED and SMALLINT can be transported to the external data types DECIMAL, INTEGER, REAL or ZONED.
The database-internal data type FLOAT can be transferred to the external data types CHAR(ACTER) or REAL.

· When data is imported into a table, the specified external data types are converted to internal database data types and the corresponding column values of a table are imported.
The external data types DECIMAL, INTEGER, REAL and ZONED can be transferred to the database-internal data types INTEGER, FIXED, FLOAT or SMALLINT.

See also:

Data Stream

Data Format


Data Formats (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Data Formats

With most Loader commands for importing and exporting data, you can specify the external data type and the data format that the relevant field values in the data stream have or should have. The specified data format applies to the columns that have the corresponding internal database data type.

You can also define which separators and delimiters are to be used.

You can specify the data format in import and export commands for the data stream in the syntax element stream_format_spec. This data format then overrides the corresponding value that was set using the SET command.

Syntax

<stream_format_spec> ::=
<bool_spec> <stream_format_spec>
| <code_spec> <stream_format_spec>
| <date_spec> <stream_format_spec>
| <delimiter_spec> <stream_format_spec>
| <int_spec> <stream_format_spec>
| <null_spec> <stream_format_spec>
| <number_spec> <stream_format_spec>
| <separator_spec> <stream_format_spec>
| <time_spec> <stream_format_spec>
| <timestamp_spec> <stream_format_spec>
| COMPRESSED <stream_format_spec> <usage_spec>
| DDL
| DTL <usage_spec>
| FORMATTED <stream_format_spec> <usage_spec>
| FORMATTED BINARY <stream_format_spec> <usage_spec>
| PAGES <stream_format_spec>
| RECORDS <stream_format_spec>

<bool_spec> | BOOLEAN '<valVALUE_FOR_TRUE>/<valVALUE_FOR_FALSE>'
<valVALUE_FOR_TRUE>/ <valVALUE_FOR_FALSE> | Defines the character string for values that are true/false The character strings may have a maximum length of 10 characters. Default value: TRUE/FALSE.
<code_spec> | Code Specification
<date_spec> | Date Specifications
<delimiter_spec> | DELIMITER '<valDELIMITER>'
'<valDELIMITER>' | DELIMITER display You can specify no character or exactly one character that originates from the 7 bit ASCII character set (only 1 byte long). A blank DELIMITER is represented by entering blank single quotation marks (‘ ‘). Default value: double quotation marks (“)
<int_spec> | INTEGER HILO | INTEGER LOHI
INTEGER HILO | The current data stream stores integers so that the byte with the lowest valency is stored first, that is, is furthest right in the binary number (the big endian).
INTEGER LOHI | The current data stream stores integers so that the byte with the highest valency is stored first, that is, the furthest right in the binary number (little endian, byte swap).
<null_spec> | NULL '<valLITERAL>'
<valLITERAL> | Null value representation; maximum length of 20 characters Default value: ? (a question mark and 19 spaces).
<number_spec> | DECIMAL '/[<t>]/<d>/'
<t> | Defines the character for structuring thousands Default value: no characters
<d> | Defines the character for separating integers from decimal places Default value: decimal point
<separator_spec> | SEPARATOR '<valSEPARATOR>'
<valSEPARATOR> | Separator for data fields You have to specify exactly one character that originates from the 7 bit ASCII character set (only 1 byte long). Default value: comma (,)
<time_spec> | Time Specifications
<timestamp_spec> | Time Stamp Specifications
COMPRESSED | COMPRESSED (CSV, Comma Separated Values) is a format for CHAR data in which a data line must at least be long enough to represent the data. The assignment of a data field of the data stream to a column in the table is determined by the position specification.
<usage_spec> | PAGE WITH <valUSAGE> % USAGE | PAGE WITH <valUSAGE> ROWS USAGE | ROW USAGE Default value: ROW USAGE
<valUSAGE> | Positive integer If a percentage rate is specified this number has to be between 50 and 100. Default value: 80 When specifying the number of rows, the length of individual table records is important.
DDL | DATA DEFINITION LANGUAGE is a format that can be specified for a data stream with database catalog data.
DTL | DATA TRANSFORMATION LANGUAGE is a format that can be specified in the case of an export of an individual table PACKAGE <outstream_spec>.
FORMATTED | FORMATTED (FWV, Fixed Width, Columnar Values) is a format for plain text values in which a data line in the data stream corresponds to a data record. The assignment between data fields in the data stream and table columns is determined by the position specification.
FORMATTED BINARY | FORMATTED BINARY (FWV, Fixed Width, Columnar Values) is a format for binary values in which the data fields all have the same fixed length. The assignment between data fields in the data stream and table columns is determined by the position specification. Unlike the FORMATTED format, a data record does not end with an additional line break.
PAGES | Format that specifies that the application data is stored in pages
RECORDS | Database format

Examples

EXPORT TABLE hotel.room
CATALOG OUTSTREAM FILE ′room.catalog′ DDL
DATA OUTSTREAM FILE ′room.data′ COMPRESSED
SEPARATOR ′,′
 DELIMITER ′"′
 NULL ′? ′
 DECIMAL ′/./,/′
 BOOLEAN ′TRUE/FALSE′
 TIMESTAMP ISO
DATE ISO
 TIME ISO
PACKAGE OUTSTREAM FILE ′room.package′ DTL ROW USAGE

This command generates a package file with the following content:

//
IMPORT TABLE "ROOM" REJECT DUPLICATES
CATALOG INSTREAM FILE 'room.catalog' DDL
DATA INSTREAM FILE 'room.data' COMPRESSED ASCII
SEPARATOR ′,′
 DELIMITER ′"′
 NULL ′? ′
 DECIMAL ′/./,/′
 BOOLEAN ′TRUE/FALSE′
 TIMESTAMP ISO
DATE ISO
 TIME ISO
"HNO" 1 CHAR
"TYPE" 2 CHAR
"FREE" 3 CHAR DEFAULT NULL
"PRICE" 4 CHAR DEFAULT NULL
ROW USAGE
//

The generated data file has the following content (section):

"10","double","45","200.00"
"10","single","20","135.00"
"20","double","13","100.00"

Explanation

You can use the syntax rule stream_format_spec within a command for exporting and importing data to specify a range of data formats: Some of these formats shall be explained in more detail at this point. If the formats are not specified, the Loader uses the respective default values, which are specified further up in the table.

<bool_spec>

You use the syntax rule bool_spec to specify the character string that represents the BOOLEAN values in data streams to be unloaded from a database instance or to be loaded into a database instance.

<delimiter_spec>

You use the syntax rule delimiter_spec to specify which character is to be used to select application data in data streams with the COMPRESSED format.

If you want to load unselected data, enter a blank DELIMITER in the command.

<int_spec>

You use the syntax rule int_spec to define the representation of integers in data streams.

You can only do this for data streams with the FORMATTED BINARY format. This specification is ignored during the export into data streams of the import from data streams in the COMPRESSED format.

If the representation specified for a data stream does not match the current computer, the values are adjusted before being exported to the data stream or imported into the database.

<null_spec>

You use the syntax rule null_spec to specify the character string used to represent null values that were loaded from the database instance in data streams.

<number_spec>

You use the syntax rule number_spec to specify which characters are to be used in decimal numbers to group thousands and to separate integers from decimal places.

<separator_spec>

You use the syntax rule separator_spec to specify which character is used to separate data fields in data streams that have the COMPRESSED format.

COMPRESSED, DDL, DTL, FORMATTED, FORMATTED BINARY, PAGES, RECORDS,

These are formats of the data stream.

For more explanations and examples for the formats COMPRESSED, FORMATTED, and FORMATTED BINARY, see COMPRESSED, FORMATTED, FORMATTED BINARY.

The database format DTL is only relevant for a package data stream PACKAGE <outstream_spec> . When you export a table you specify that the Loader is to generate an IMPORT command in the package data stream with which the specified table can be imported. You use syntax element usage_spec to specify whether the data is to be formatted as pages during the import or whether it is to be processed as lines with a mass IMPORT. This enables you, for example, to generate an IMPORT command for external data, which imports this data into a correctly defined table.

<usage_spec>

  • The syntax rule usage_spec in the DATA data stream specifies whether data is to be imported in data format COMPRESSED or FORMATTED using table pages (PAGE) or by means of a mass INSERT (ROW).
  • The syntax rule usage_spec in the PACKAGE data stream of an EXPORT TABLE commands specifies that an IMPORT command is to be generated via which the exported DATA data stream can be imported again using database pages (PAGE) or as a mass INSERT (ROW).
Improved Performance of the Import Transactions when Specifying PAGE WITH… Compared to ROW USAGE:

If you specify the syntax rule PAGE WITH ... for the import the data is entered directly into the table pages of the database and no log entries are written. This enables an additional performance improvement compared to the specification of the syntax rule ROW USAGE.

When you specify the rule ROW USAGE the data is entered into the database as a mass INSERT and log entries are written so that entries can be cancelled if errors occurred.

· You can only use the rule PAGE WITH… if the following prerequisites are met:

· The target table exists in the database instance.

· You have logged on to the Loader with the user who is the owner of the target table.

· The target table does not have an index.

· The target table does not have a LONG column.

· The application data in the data stream to be imported is sorted in ascending order in the sequence of the primary key of the target table.

· If the target table already contains application data, only those data records whose key values are greater than the largest key value in the target table can be inserted.

· You can use the rule PAGE WITH to define to what extent a page in a table is to be filled with data records. To do so, you can specify a percentage between 50 and 100 or define the number of rows (data records) that you want to load to each table page. If you specify a number of rows that exceeds the actual number possible, the Loader displays an error message during the import operation, indicating the maximum number of rows permitted for each table page.

If the table is not modified at all, or only slightly, it is a good idea to utilize the occupied memory by more than 80%.

· If considerable dynamic growth is anticipated for the table, it is a good idea to utilize the occupied memory by less than 80%.

If you use syntax rule PAGE WITH … please consider the following:

· When PAGE WITH is specified no log entries are written, so you must back up the new data after you have imported it. You can either back up the appropriate pages (incremental data backup) or all the data (complete data backup).

· The table is write-protected until you back up the new application data.

See also:

SET Command

Exporting: Commands

Importing: Commands

Concepts of the Database System, Backing Up Data


COMPRESSED, FORMATTED, FORMATTED BINARY (SAP Library - MaxDB Library)

 Entering content frame

Object documentation COMPRESSED, FORMATTED, FORMATTED BINARY

Definition

The data formats COMPRESSED, FORMATTED and FORMATTED BINARY are explained in more detail below.

Use

The Loader requires that data streams with clear text values have the format COMPRESSED. Hence, you do not have to specify the format COMPRESSED. If the COMPRESSED format is not desired, you must explicitly specify the FORMATTED format or (in the case of binary coded data streams) the FORMATTED BINARY format in a command for exporting and importing data.

The required format can be specified as the syntax rule stream_format_spec in commands for exporting and importing data.

See also:

Data Format

COMPRESSED

COMPRESSED (CSV, Comma Separated Values) is a data stream format that can only be used for source data streams with plain text values. If you do not specify a format in a command for exporting or importing data and the data is not in plain text, the Loader generates an error message.

customer.data

Position No. | 1 2 3 4 ....
 | "3000","Mrs","Jenny","Porter",... "3100","Mr","Peter","Brown",... "3200","Company","?","Datasoft",...

The data fields do not have a uniform format but are separated by commas:

IMPORT TABLE command:

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'
 cno 1
title 2
firstname 3
name 4
zip 5
address 6
PAGE WITH 80% USAGE

Data Lines

In COMPRESSED format, a data line must at least be long enough to map the data. The length of the individual data fields and the total length of the data lines can vary. Each data line ends with a line break.

When data is exported, a data line in a source table with this format corresponds to exactly one data record in the target data stream.

When data is imported, a data line in a source data stream with this format corresponds to exactly one data record in the target table.

Data Fields

Data fields in the data streams must always have the external data type CHAR.

The individual data fields are separated by a freely selectable character (default value of the Loader for <valSEPARATOR>: comma). They can also be encapsulated in freely selectable characters (default value of the Loader for <valDELIMITER>: double quotation marks).

If delimiters follow each other directly in a data line, then the value is the empty character string. If the relative position is larger than the number of values in the line, the value is also the empty character string.

Position Specification

The assignment of a data field of the data stream to a column in the table is determined by the position specification in a command for exporting or importing data. This specifies a relative position within the data record. It therefore specifies which value in a data record is to be loaded into or unloaded from a specific column.

When you export data from the database to a data stream, assign the position 1 to the first column in your list. The position numbers of the following columns rise by 1 each time. This also means that each position number can only be assigned once.

When you import data from a source table, the data fields in the target table in the database must be sorted in ascending order. You can also assign the same input values to different columns or even omit positions. If consecutive delimiters are detected or if the relative position is greater than the number of values in the line, the value is the empty character string.

FORMATTED

FORMATTED (FWV, Fixed Width, Columnar Values) is a data stream format that can only be used for source data streams with plain text values. As this format is not the default value of the Loader, it must be explicitly specified in an export or import command.

customer.data

Position No. | 1 2 3 4 5 6 7 8 9 ....
 | - 3 0 0 0 M r s - - - - J e n n y - - - - - P o r t e r - 3 1 0 0 M r - - - - - P e t e r - - - - - B r o w n - - 3 2 0 0 C o m p a n y ? - - - - - - - - - D a t a s o

The data fields have a uniform format.

IMPORT TABLE command:

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data' FORMATTED
 cno 01-05
title 06-12
firstname 13-22
name 23-32
zip 33-37
address 38-62
PAGE WITH 80% USAGE

Data Lines

A data line in a data stream corresponds to a data record that you want to export or import.

All data lines have the same fixed length. Each line in the data stream contains the individual data fields at the same position with a fixed length. Each data line ends with a line break.

Data Fields

The data fields in the data stream are assigned to the table columns using the position specification in a command for exporting or importing data.

Position Specification

The data fields in the data stream are described using their byte start and end position. The first possible byte start position is 1. Specifying an end position is optional. If an end position is not specified for a data field, it has a length of 1.

The data fields in the data stream can be assigned to table columns in any order. The order does not affect the processing speed.

FORMATTED BINARY

FORMATTED BINARY (FWV, Fixed Width, Columnar Values) is a data stream format that enables binary values to be exported and imported. As this format is not the default value of the Loader, it must be explicitly specified in an export or import command.

Data Lines

The FORMATTED BINARY format is largely the same as the FORMATTED format. The only difference is that the length of a data record is only determined by the total length of the individual data fields.

Unlike the FORMATTED format, a data record does not end with an additional line break.

Data Fields

The data fields can contain special characters and all have the same fixed length. This also applies to the individual data records.

The data fields in the data stream are assigned to the table columns in accordance with the position specification in the command for exporting or importing data.

Position Specifications

Data fields are described by their byte start and end positions. The first possible byte start position of a data record is 1. Specifying an end position is optional. If you do not specify an end position, the corresponding data field has a length of 1.

The data fields of the data stream can be assigned in any order to the table columns. The order does not affect the processing speed.

The positions do not need to follow each other directly when you export or import data. When it exports data, the Loader fills any gaps with blank characters.


Medium (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Medium

The Loader uses a medium to physically store the data stream outside the database instance.

If you use the Loader to transform data, the data source and data target are database instances and media, depending on the type of transformation. You can specify the type of the medium in import and export commands for the data stream in the syntax element mediumtype_spec.

Syntax

<mediumtype_spec> ::= FILE | PIPE | TAPE [<ebid_spec>]

FILE | The medium for the data stream is the file system.
PIPE | The medium for the data stream is a pipe.
TAPE | (Relevant for exporting data only): The medium for the data stream is a tape that is addressed by a third-party backup tool.
TAPE <ebid_spec> | (Relevant for importing data only): The medium for the data stream is a tape that is addressed by a third-party backup tool.
<ebid_spec> | EBID '<valEBID>' You have to specify the external backup ID valEBID of the data stream to be loaded.

Explanation

You can use the syntax rule mediumtype_spec to assign a medium to the data stream. The Loader differentiates between the media types specified in mediumtype_spec. If you do not specify a media type, the Loader uses the file system (FILE) as the medium for the data stream.

Using Backup Tools from Other Providers

Media type TAPE is supported for exporting/importing the entire database and/or the entire database catalog. In this case a backup tool from other providers is used for exporting/importing.

You must perform the following steps when you use backup tools from other providers:

...

1. Connecting Backup Tools from Other Providers

2. Specify the backup tool
To do so, use the Loader command SET BACKUPTOOL.

After you have finished exporting data with a backup tool from another provider the external backup ID valEBID is written to the log file and the transformation table of the Loader (see Log Functions). If necessary, you must use this log information to determine the external backup ID.

When you import data using backup tools from other providers, the external backup ID must be specified after the keyword TAPE.

See also:

Exporting: Commands

Importing: Commands


Table Description (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Table Description

The syntax rules listed here are components of the table description in the commands for importing and exporting application data.

If you want to use keywords as table or user names, you must place them in double quotation marks.

Syntax

<table_spec> ::= <table_name> <if_condition>

<table_name> | <valTABLE_NAME> | <valTABLE_SCHEMA>.<valTABLE_NAME>
<valTABLE_NAME> | Name of the table Specify the table name in accordance with the SQL conventions. You can also define a user name as a prefix.
<valTABLE_SCHEMA> | Name of the schema
<if_condition> | IF <condition>
<condition> | Selecting Data Records

Examples

IMPORT TABLE hotel.room
DATA INSTREAM FILE 'room.data'
PAGE WITH 80% USAGE

The application data from the room.data file is to be imported into the ROOM table.

EXPORT TABLE hotel.hotel
DATA OUTSTREAM FILE 'hotel.data'
LONGFILE INFO 'hotel_info.long'

The application data of HOTEL table is to be exported.

IMPORT TABLE hotel.room
DATA INSTREAM FILE 'room.data'
hno 1
type 2
free 3
price 4

The application data from the room.data file is to be imported into the specified files of the ROOM table.

IMPORT TABLE hotel.room
 IF POS 06-11 = 'double'
DATA INSTREAM FILE 'room.data'
hno 01-05
type 06-11
free 12-15
price 16-22

You only want to import those data records from the room.data data stream into the ROOM table in which double is specified as the room type.

Explanation

<table_spec>, <table_name>

You use the syntax rules table_spec or table_name to specify the name(s) of the target table(s) in commands for exporting or importing data.

You can use the syntax rule if_condition to define the selection criteria used to determine which records from the data stream are imported.

This syntax rule allows you to select data records when importing them from a data stream into a target table.

See also:

EXPORT TABLE Commands

IMPORT TABLE Commands

IMPORT COLUMN Commands

UPDATE COLUMNS Commands


Column Description (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Column Description

The syntax rules listed here are part of the column description in the commands for importing and exporting application data.

If you want to use keywords as column names, you must place them in double quotation marks.

Syntax

<load_column_spec> ::=
<column_descriptor> [<null_condition>]
| <column_assignment>

<column_descriptor> | <valCOLUMN_NAME> <field_pos> <format_spec>
<valCOLUMN_NAME> | Name of Column
<field_pos> | Position Description
<format_spec> | <field_format> [HEX] [<numerical_functions>]
<null_condition> | NULL [IF] <condition> | DEFAULT NULL
<condition> | Selecting Data Records
<column_assignment> | <valCOLUMN_NAME> '<valLITERAL>' | <valCOLUMN_NAME> <generate_spec>
<valCOLUMN_NAME> | Name of Column
<valLITERAL> | Constant
<generate_spec> | Importing Constants and Special Constants

<format_spec> ::= <field_format> [HEX] [<numerical_functions>]

<field_format> | Data Types
HEX | You can define HEX values.
<numerical_functions> | <scale_spec> | <round_or_trunc_spec> | <scale_spec> <round_or_trunc_spec>
<scale_spec> | SCALE <valSCALE_FACTOR>
<valSCALE_FACTOR> | The scaling factor valSCALE_FACTOR can be positive or negative. The value to which the syntax rule refers is multiplied by the corresponding power of ten.
<round_or_trunc_spec> | ROUND <valFRACTION> | TRUNC <valFRACTION>
<valFRACTION> | Number of decimal places The value must be between 0 and 18. This function does not have any effect if the number does not have any decimal places.

Explanation

In a command for importing application data, you use the syntax rule load_column_spec to specify the data records in the data stream which are to be loaded. You assign the data fields in the data stream to the columns in the target table and specify the external data types as well as the conditions for importing the data.

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'
cno 1
title 2
firstname 3
name 4
zip 5
address 6

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data' FORMATTED BINARY
rno 01-04 INTEGER
cno 05-08 INTEGER
hno 09-12 INTEGER
type 13-18 CHAR
arrival 19-28 CHAR
departure 29-38 CHAR

Data must exist in the data stream for every column that you specify in the import command.

If you do not specify columns in the target table in the command, the entire column is populated with the default value defined for this column during the import operation. The NULL value is imported if no specific default value is defined for the column.

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'
cno 1
name 4
address 6

title, firstname, and zip are filled with the default value when the data is loaded.

Key columns and mandatory columns (columns that are defined as NOT NULL without a default value) must be specified in the import command. Otherwise, processing terminates with an SQL error.

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'
name 4
zip 5
address 6

The command is terminated with an SQL error, as the column cno is missing.

If you do not specify any columns for the target table in the import command, the table is imported as if all columns in the target table were specified in the command. If this is the case, data must exist in the data stream for all of the columns in the target table.

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'

Data must exist in the source file for all of the columns in the data stream.

<column_descriptor>

In a command for importing application data, you can use this syntax rule to assign a data field in the data stream to a column in the target table.

To do so, you specify the column name, the position, and the external data type of the data in the data stream.

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data' FORMATTED BINARY
 rno 01-04 INTEGER
 cno 05-08 INTEGER
hno 09-12 INTEGER
type 13-18 INTEGER
arrival 19-28 CHAR
departure 29-38 CHAR

<format_spec>

In a command for importing or exporting application data, use the format_spec syntax rule to specify the data fields in the data stream (external data type, position, and so on).

You can use the syntax rule numerical_function to scale (scale_spec), round, or truncate (round_or_trunc_spec) numeric data values when you import data from the data stream to the target table or export data from the source table to the data stream.

Note that you must always specify scale_spec before round_or_trunc_spec.

EXPORT COLUMNS * FROM hotel.room
MAP COLUMNS
hno 1
 type 2
free 3
price 4 SCALE -1 TRUNC 2
DATA OUTSTREAM FILE 'room.data'

You use the syntax rule round_or_trunc_spec to specify the number of decimal places for a number.

· ROUND <valFRACTION>
The value is rounded off at the (<valFRACTION>+1) th decimal place. If this number is >= 5, the value is rounded up. If it is < 5, the value is rounded down. The result is a number in which the (<valFRACTION>+1)th and all subsequent decimal places are equal to 0. However, the first digits in the number may have been changed by rounding.

· TRUNC <valFRACTION>
The (<valFRACTION>+1)th and all subsequent decimal places of the value are set to 0. The first <valFRACTION> decimal places remain unchanged.

<null_condition>

In a command for importing data, you use the syntax rule null_condition to specify the conditions under which the NULL value should be imported into a column of the target table.

When the condition is evaluated, the shorter of the comparison values (value in the data stream or the NULL value representation) is filled with blank characters.

A check is made before each line in the data stream is imported to see whether the condition formulated for the columns applies. If it does, the NULL value is inserted in this column. If not, the value from the assigned field in the data stream is inserted.

You can use the DEFAULT-NULL condition if the NULL value in the data stream is represented in the same way for all columns that you want to import from the target table. The character string that you need to specify after NULL IF POS is only entered once as a NULL specification in the DEFAULT-NULL condition.

You cannot import columns defined as key columns (KEY) or NOT NULL with the NULL value. If you do, the table import action terminates and the appropriate error message is displayed.

If you defined a default other than NULL for columns when you created the table in the database instance, you cannot import NULL values into the columns. In this case, the Loader uses the default value defined for the column instead of the NULL value.

You want to load the data from the data stream room.datainto the database instance, and you want to load the NULL value into certain columns of the target table. Define a separate condition for each of these columns. The NULL value is entered if this condition is met.

IMPORT TABLE hotel.room
DATA INSTREAM FILE 'room.data'
hno 1
type 2
free 3 NULL IF POS 3 = '0'
price 4 NULL IF POS 4 <> 'XXXX'

You want to load the data from the data stream room.datainto the database instance, and you want to load the NULL value into certain columns of the target table. The same '?' representation of the NULL value applies to all columns in the command where DEFAULT NULL is specified.

IMPORT TABLE hotel.room
DATA INSTREAM FILE 'room.data'
NULL '?'
 hno 1
type 2
free 3 DEFAULT NULL
price 4 DEFAULT NULL

<column_assignment>

You can use the syntax rule column_assignment to specify that a constant value is loaded into the specified column for each loaded data record, and which value this constant is to have.

In the command, enter the constant or the special constant generate_spec instead of a position specification. Now, data will not be loaded from the data stream for the appropriate column.

If the data stream is empty, the constants specified in the command are not loaded.

See also:

Importing Constants and Special Constants

Output Column

EXPORT COLUMNS Commands

IMPORT COLUMN Commands

IMPORT TABLE Commands

UPDATE COLUMNS Commands


Output Column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Output Column

The syntax elements used for the Loader output columns are described below.

Syntax

<output_column> := <column_id_spec> | <lit_column_spec>

<column_id_spec> | <column_id> <field_pos> <format_spec> <null_assign>
<lit_column_spec> | '<valLITERAL>' <field_pos>
<valLITERAL> | Text constant

<column_id_spec> ::= <column_id> <field_pos> <format_spec> <null_assign>

<column_id> | <valCOLUMN_NAME> | <valCOLUMN_ID>
<valCOLUMN_NAME> | Name of Column
<valCOLUMN_ID> | Column ID
<field_pos> | Position Description
<format_spec> | <field_format> [HEX] [<numerical_functions>] Specification of the data fields in the data stream (external data type etc.)
<field_format> | Data Types
HEX | You can define HEX values.
<numerical_functions> | <scale_spec> | <round_or_trunc_spec> | <scale_spec> <round_or_trunc_spec> See also: Column Description
<null_assign> | [IF] NULL SET '<valLITERAL>'
<valLITERAL> | Null value Representation

Explanation

These syntax elements are used in the EXPORT COLUMNS command.

<column_id_spec>

You use the syntax element column_id_spec in export commands to assign the data fields of the data stream to the columns of the source table. You specify the external data types and the conditions for exporting the application data.

<column_id>

You use the syntax rule column_id to specify the column name or column number.

EXPORT COLUMNS cno, name, zip, address FROM hotel.customer
MAP COLUMNS
cno 01-05
name 06-15
zip 16-20
address 21-45
DATA OUTSTREAM FILE 'customer.data' FORMATTED

The column number valCOLUMN_ID indicates the position of the column in the SELECT statement.

EXPORT COLUMNS cno, name, zip, address FROM hotel.customer
MAP COLUMNS
1 01-05
2 06-15
3 16-20
4 21-45
DATA OUTSTREAM FILE 'customer.data' FORMATTED

<field_pos>

Decide whether you want your column descriptions to contain field_pos field descriptions. However, you must specify position descriptions for all or none of the described columns. Otherwise, the Loader generates an error and terminates the command.

Format of the Data Stream: COMPRESSED

Enter position descriptions field_pos as relative positions only.

If you enter position descriptions with start and end positions for single columns or all columns, the Loader generates an error and terminates the command.

EXPORT COLUMNS * from hotel.reservation
MAP COLUMNS
rno 1
cno 2
hno 3
type 4
arrival 5
departure 6-15 ERROR
DATA OUTSTREAM FILE 'reservation.data' COMPRESSED

Assign position 1 to the first column in your list. The position numbers of the following columns increase by 1 each time. This also means that each position number can only be assigned once.

If you do not observe these rules, the Loader generates an error and terminates the command.

EXPORT COLUMNS * from hotel.reservation
MAP COLUMNS
rno 1
cno 2
hno 3
type 4
arrival 5 ERROR
departure 6
DATA OUTSTREAM FILE 'reservation.data' COMPRESSED

You can assign a column to multiple different positions.

EXPORT COLUMNS * from hotel.reservation
MAP COLUMNS
rno 1
cno 2
hno 3
type 4
arrival 5
departure 6
 type 7
DATA OUTSTREAM FILE 'reservation.data' COMPRESSED

Format of the Data Stream: FORMATTED

Specify all position descriptions with exact start and end positions.

Specify only ascending, non-overlapping values for position descriptions.
If the positions entered are not consecutive, the Loader fills the gaps with blank characters. This also applies to binary data.

EXPORT COLUMNS * from hotel.reservation
MAP COLUMNS
rno 01-05
cno 06-10
hno 11-15
 type 16-21
arrival 25-34
depature 36-45
DATA OUTSTREAM FILE 'reservation.data' FORMATTED

Define the positions for the data stream so that they are at least as long as the length of the values in the database.

If you define a position for the data stream that is longer than the length of the value in the database, the following occurs:

· Character strings are aligned left and blank characters entered to make them the correct length.

· Numeric values are aligned right and blank characters entered to make them the correct length.

If you define a position for the data stream that is shorter than the length of the value in the database, the Loader generates an error and terminates the command.

<null_assign>

You use the syntax element null_assign in a command for exporting data to specify which value for the data field of the source table is written to the data stream if the value in the source table is a NULL value.

Place the value for the NULL value representation in single quotation marks. This is a plain text value that the Loader represents as a character string or binary numeric value. This depends on the external data type of the column for which you want to generate the null value representation.

If you want to display the null value representation in one of the external data types for binary values, it must have a valid numeric format. This means either a floating decimal number in mantissa/exponent representation or a fixed point number with the currently agreed or standard decimal setting.

The generated null value representation is written to the same place in the data stream as the actual column value.

· If the null value representation is shorter than the length of the value specified by the position, the value is filled with blank characters. If the null value representation is longer, it is shortened to the specified length, and the Loader generates a warning.

· If columns in the target table permit NULL values and you have not specified a NULL value representation, the Loader default is used for exported NULL values (SET <null_spec>). This has the external data type CHAR.

· If you define a null value representation for exporting NOT-NULL columns, it does not cause an error.

You want to export the source table room from the database instance into the room.data data stream. Some of the columns in the table contain NULL values.
Define a separate condition for each of these columns. If this condition is met, the corresponding null value representation is entered in the data stream.

EXPORT COLUMNS * FROM hotel.room
MAP COLUMNS
hno 1
type 2
free 3 IF NULL SET '0'
price 4 IF NULL SET 'X'
DATA OUTSTREAM FILE 'room.data'

You want to export the source table room from the database instance into the room.data data stream. Some of the columns in the table contain NULL values.
Because there is no null value representation defined for the column in the command, but all values have the external data type CHAR, the Loader default null value representation '?' is used.

EXPORT COLUMNS * FROM hotel.room
MAP COLUMNS
hno 1
type 2
free 3
price 4
DATA OUTSTREAM FILE 'room.data'

You want to export the source table room from the database instance into the room data stream. Some of the columns in the table contain NULL values.
Because no null value representation is defined for the column in the command, the Loader attempts to use the null value representation defined as a default (data type CHAR). This causes an error if a numeric external data type has been defined for the columns. The command terminates with an error message.

EXPORT COLUMNS * FROM hotel.room
MAP COLUMNS
hno 01-05
type 06-11
free 12-15 INTEGER
price 16-19 INTEGER
DATA OUTSTREAM FILE 'room.data' FORMATTED BINARY

<lit_column_spec>

You use the syntax element lit_column_spec to define text constants for output in addition to the output values in the export command.

The text constant is specified in single quotation marks instead of the column name or column ID (column_id).

EXPORT COLUMNS * from hotel.customer
MAP COLUMNS
 'customer number:' 01-16
 cno 17-21
title 22-28
firstname 29-38
name 39-48
zip 49-53
address 54-78
DATA OUTSTREAM FILE 'customer.data' FORMATTED

See also:

EXPORT COLUMNS Commands


Importing Constants and Special Constants (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Importing Constants and Special Constants

For column descriptions, you can use the syntax rule column_assignment to specify that a constant value is imported into the specified column for each imported data record, and which value this constant is to have.

In the command, enter any constant valLITERAL or the special constant generate_spec instead of a position specification. Now, data will not be imported from the data stream for the appropriate column.

If the data stream is empty, the constants specified in the command are not imported.

Syntax

<column_assignment> ::= <valCOLUMN_NAME> '<valLITERAL>'
| <valCOLUMN_NAME> <generate_spec>

<valCOLUMN_NAME> | Name of column
<valLITERAL> | Constant
<generate_spec> | DATE | FALSE | <sequence_number> | STAMP | TIME | TIMESTAMP | TRUE | USER | USERGROUP
DATE | Current date The column into which you want to import one of these values must have the type DATE.
FALSE | Boolean value FALSE
<sequence_number> | SEQNO | SEQNO <valSTART> | SEQNO <valSTART> <valINCREMENT>
<valSTART> | Start value and first value to be imported
<valINCREMENT> | Increment between values to be imported
STAMP | A unique value generated by the database system that can only be imported into columns of the type CHAR (n) BYTE where n >= 8.
TIME | Current time The column into which you want to import one of these values must have the type TIME.
TIMESTAMP | Current timestamp The column into which you want to import one of these values must have the type TIMESTAMP.
TRUE | Boolean value TRUE
USER | The name of the current user is imported.
USERGROUP | Name of the group of the current user is imported. If this user is not assigned to a user group, the name of the current user is imported. The column into which you want to import one of these values must have the type CHAR (n) where n >= 32.

Examples

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data'
rno 1
cno 2
hno 3
type 4
 arrival '20040207'
departure '20040220'

Constants '20040207 and 20040220 (date in format INTERNAL) are imported.

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data'
rno 1
cno 2
hno 3
type 4
 arrival DATE
 departure 5

The special constant DATE is imported.

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'
cno SEQNO 3000 100
title 2
firstname 3
name 4
zip 5
address 6

The specifications for the sequence (start position 3000, interval 100) are imported.

Explanation

<valCOLUMN_NAME> '<valLITERAL>'

To import general constant, enter the required constant instead of a position. Place the value in single quotation marks.

The Loader treats the constant like a plain text value and converts it into the data type of the target column.

If you want to import the constant into a numeric column, it must have a valid numeric format.

<valCOLUMN_NAME> <generate_spec>

You can import the special values USER, USERGROUP, DATE, TIME, TIMESTAMP, STAMP, TRUE, FALSE and sequence_number.

<sequence_number>

You can use the syntax rule sequence_number to import automatically generated number generators with a freely definable start value and increment.

The set of calculable numbers is cyclical. This means that the value that comes after the largest possible value is the smallest possible value. In this way, you can generate as many numbers as you want, including repeated sequential numbers.

SEQNO: sequential numbers are to be generated. Both the start value and the increment can be negative.

If you only enter the keyword SEQNO in the command, the start value is 0 and the increment between values is 1.

If you only enter the start value in the command after SEQNO, the increment between the values is 1.

A column of the type FIXED(10) is enough for storing the sequential numbers.


Selecting Data Records (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Selecting Data Records

When you import application data, you can select the data records to be imported according to their content.

The conditions defined here can be negated with NOT, linked with AND and OR, or encapsulated as required. The Loader evaluates the operators accordingly.

Syntax

<condition> ::= <simple_condition>
| (<condition>)
| <condition> AND <condition>
| <condition> OR <condition>
| NOT <condition>

<simple_condition> | POS <field_pos> <field_format> [HEX] <compare_operator> '<valLITERAL>'
<field_pos> | Position Description
<field_format> | Data Types The data type only has to be specified if the affected data field is to be read or output with a data type other than CHAR. Every internal database column format in the database can be read and output in CHAR format.
HEX | You can define HEX values.
<compare_operator> | < | > | = | <= | >= | !=
<valLITERAL> | Constant

Examples

IMPORT TABLE hotel.room
IF POS 06-11 = 'double'
DATA INSTREAM FILE 'room.data' FORMATTED
hno 01-05
type 06-11
free 12-15
price 16-22

You only import those data records from the room.data source data stream into the ROOM table in which double is specified as the room type.

Explanation

The Loader distinguishes between simple conditions (simple_condition) and compound conditions. Simple conditions can be negated with NOT, combined with AND and OR to form compound conditions, or encapsulated as required.

Operators in parentheses are evaluated before those that are not in parentheses.

If no operators are in parentheses, the Loader weights them as follows:

· NOT takes precedence over AND and OR

· AND takes precedence over OR

· If the weighting is identical, the operators are evaluated from left to right.

Only those records to which the simple or compound condition applies are imported.

<simple_condition>

You use the syntax rule simple_condition to define the selection criterion that determines which records from the data stream are imported to which target table. The data records that you want to import are selected by comparing them to a constant.

As with the other fields in a data record, you use the position of a value that you want to compare to describe it. You only need to specify the external data type of this value if the data type is not CHAR.

You specify a constant as a plain text value and place it in quotation marks. The constant is converted to the data type of the value that you want to compare in the data record.

If the constant you want to use as a comparison value is a number, it must have a valid number format. That is, it must be a floating point number in mantissa/exponent notation or a fixed-point number with the currently defined decimal representation or the default decimal representation in the Loader.

See also:

Table Description

IMPORT TABLE Commands

IMPORT COLUMN Commands

UPDATE COLUMNS Commands


Position Description (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Position Description

You use the syntax rule field_pos to describe:

· The position of the input field in the data stream when importing application data

· The position of an output field in the data stream when exporting application data

· The position of a comparison value for importing application data selectively (Selecting Data Records).

Syntax

<field_pos> ::= <valSTART_POS> | <valSTART_POS> - <valEND_POS>

valSTART_POS | Start position of a data field
valEND_POS | End position of a data field

Explanation

The position description depends on the format.

Format FORMATTED

If the data stream has the FORMATTED format, enter only absolute start and end positions for the data fields in the data stream.

The data stream customer.data has the FORMATTED format. The data fields have a standard format and end with a line break.

Position No. | 1 2 3 4 5 6 7 8 9 ....
 | - 3 0 0 0 M r s - - - - J e n n y - - - - - P o r t e r - 3 1 0 0 M r - - - - - P e t e r - - - - - B r o w n - - 3 2 0 0 C o m p a n y ? - - - - - - - - - D a t a s o

IMPORT command

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data' FORMATTED
cno 01-05
title 06-12
firstname 13-22
name 23-32
zip 33-37
address 38-62
PAGE WITH 80% USAGE

Format COMPRESSED

If the data stream has the COMPRESSED format, enter only relative positions for the data fields in the data stream.

The data stream customer.data has the COMPRESSED format. The data fields do not have a uniform format but are separated by commas and end with a line break.

Position No. | 1 2 3 4 ....
 | "3000","Mrs","Jenny","Porter",... "3100","Mr","Peter","Brown",... "3200","Company","?","Datasoft",...

IMPORT command

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data'
 cno 1
title 2
firstname 3
name 4
zip 5
address 6
PAGE WITH 80% USAGE

COMPRESSED is the default used by the Loader.

Format FORMATTED BINARY

The data stream customer.data has the FORMATTED BINARY format.

The data fields have a standard format but do not end with a line break.

IMPORT command

IMPORT TABLE hotel.customer
DATA INSTREAM FILE 'customer.data' FORMATTED BINARY
cno 01-05
title 06-12
firstname 13-22
name 23-32
zip 33-37
address 38-62
PAGE WITH 80% USAGE


Code Specification (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Code Specification

In the code specification, you can define the default value for the interpretation of data streams that contain plain text values. The default value in the Loader is ASCII.

Syntax

<code_spec> ::= <standard_code_spec> | CODESET <valCODESET_NAME>

<standard_code_spec> | Possible values: ASCII | UCS2 | UTF8
CODESET <valCODESET_NAME> | Specification of the code attribute valCODESET_NAME

Code specification when using LONG data

<longfile_code_spec> ::= <code_spec> | BINARY

BINARY

Data is exported/imported without conversion
Specifying BINARY is only useful for columns of data type LONG BYTE

Explanation

If no code is specified in the code_spec command, the Loader uses a default value for the code specification of the data stream. This is derived from the internal database data type of the column to be loaded. If the external code attribute and the internal database data type are different, the Loader converts the data. If the types are incompatible, the Loader generates an error message and stops processing the command.

<code_spec>

When you export or import data, you can transform it between various code types. If you export/import ASCII data into an ASCII database or UCS2 data into a UNICODE database, the data does not have to be converted.

The following combinations are possible (internal database data types and external data types):

Internal database data Type | Possible code specifications for data streams with clear text values when exporting data
(VAR)CHAR ASCII | ASCII, UCS2, UTF8
(VAR)CHAR UNICODE | UCS2, UTF8
(VAR)CHAR BYTE | BINARY, ASCII (HEX), UCS2 (HEX), UTF8 (HEX)
Numeric Data Types | ASCII, UCS2, UTF8

Internal Database Data Type | Possible code specifications for data streams with clear text values when importing data
(VAR)CHAR ASCII | ASCII
(VAR)CHAR UNICODE | ASCII, UCS2, UTF8
(VAR)CHAR BYTE | BINARY, ASCII, UCS2 (HEX), UTF8 (HEX)
Numeric Data Types | ASCII, UCS2, UTF8

See also:

SET Command

Data Format

<longfile_code_spec>

When you export /import LONG data, you determine the default values by using the syntax rule longfile_code_spec. This also enables you to transform LONG data between various code types.

If you are exporting/importing ASCII LONG data into an ASCII database or UCS2 LONG data into a UNICODE database, the data does not have to be converted.

The following combinations are possible (internal and external database data types):

Internal Database Data Type | Possible Code Specifications of the LONG Data Stream for Exporting Data
LONG ASCII | ASCII, UCS2, UTF8
LONG UNICODE | UCS2, UTF8
LONG BYTE | BINARY, ASCII (HEX), UCS2 (HEX), UTF8 (HEX)

Internal Database Data Type | Possible Code Specifications of the LONG Data Stream for Importing Data
LONG ASCII | ASCII
LONG UNICODE | ASCII, UCS2, UTF8
LONG BYTE | BINARY, ASCII, UCS2 (HEX), UTF8 (HEX)

See also:

Exporting and Importing LONG Values


Dates (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Dates

You use this syntax rule to specify the data format of the plain text values in which DATE columns are entered and output.

This format only applies to the import or export command in which it is specified. If no date format is specified in a command, either the Loader default is used, or a value specified with the SET DATE command. You use the SET DATE command to specify the date format for all subsequent commands. In a single Loader session, this applies until a new SET command is executed.

Syntax

<date_spec> ::= DATE <standard_date_mask> | DATE '<valFREE_MASK>'

DATE <standard_date_mask> | Specification of a standardized date mask
<standard_date_mask> | Possible values: EUR | INTERNAL| ISO| JIS | USA Default value: INTERNAL
<valFREE_MASK> | Freely definable date mask Use Y for the year, M for the month, D for the day. The year must have two or four characters, days must have two characters, and months must have two or three characters. If you enter three characters for the month, that is MMM, the name of the month is displayed as the standard English abbreviation, for example, Oct for October.

Examples

EXPORT TABLE hotel.reservation
DATA OUTSTREAM FILE 'reservation.data'
DATE ISO

Standard date mask ISO is specified.

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data'
DATE ′YYYY-MMM-DD′

Example of the content of the target data stream
"100","3000","80","single","2004-Nov-13","2004-Nov-15"

Mask YYYY-MMM-DD is specified for dates.

Explanation

DATE <standard_date_mask>

You use the standard_date_mask to specify the format for plain text values in which DATE columns are entered and displayed.

'YYYY' | Four-digit year format
'MM' | Two-digit month format (01-12)
'DD' | Two-digit day format (01-31)

Format | General Format | Example
EUR | 'DD.MM.YYYY' | '23.01.2005'
INTERNAL | 'YYYYMMDD' | '20050123'
ISO/JIS | 'YYYY-MM-DD' | '2005-01-23'
USA | 'MM/DD/YYYY' | '01/23/2005'

Day and month entries must have two digits. In all formats except INTERNAL, the year must have two or four digits. In the INTERNAL format, the year must have four digits.

DATE '<valFREE_MASK>'

You use the free mask valFREEMASK to specify the format for plain text values in which DATE columns are entered and displayed.


Times (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Times

You use this syntax rule to specify the data format of the plain text values in which TIME columns are entered and output.

This format only applies to the export or import command in which it is specified. If a time format is not specified in a command, then either the Loader default is used or a value specified with the SET TIME command. You use the SET TIME command to specify the time format for all subsequent commands. In a single Loader session, this applies until a new SET command is executed.

Syntax

<time_spec> ::= TIME <standard_time_mask> | TIME '<valFREE_MASK>'

TIME <standard_time_mask> | Specification of a standardized time mask
<standard_time_mask> | Possible values: EUR | INTERNAL| ISO| JIS | USA Default value: INTERNAL
TIME '<valFREE_MASK>' | Freely definable time mask Use H for hours, M for minutes, and S for seconds. Minutes and seconds must have two digits. Hours must have two or four digits.

Examples

EXPORT COLUMNS * FROM hotel.reservation
OUTSTREAM 'reservation.data'
TIME ISO

Standard time mask ISO is specified.

EXPORT COLUMNS * from hotel.reservation
OUTSTREAM 'reservation.data'
TIME ′HH:MM:SS′

Example content of the data stream
"14:30:08"

Mask HH:MM:SS is specified for times.

Explanation

TIME <standard_time_mask>

You use the standard_time_mask to specify the format for plain text values in which TIME columns are entered and displayed.

'HHHH' | Four-digit hour format
'HH' | Two-digit hour format
'MM' | Two-digit minute format (00-59)
'SS' | Two-digit second format (00-59)

Format | General Format | Example
EUR | 'HH.MM.SS' | '14.30.08'
INTERNAL | 'HHHHMMSS' | '00143008'
ISO/JIS | 'HH:MM:SS' | '14:30:08'
USA | 'HH:MM AM (PM)' | '2:30 PM'

Minutes and seconds must have two digits. Except in the format INTERNAL, the hours must have two digits. In the format INTERNAL, the hours must have two or four digits.

When data is loaded, hours with numbers greater than 24 cause errors, except in the format INTERNAL. When data is unloaded, hours are displayed modulo 24, except in the format INTERNAL. In the format INTERNAL, you can specify hours up to 9999.

TIME '<valFREE_MASK>'

You use the output format valFREEMASK to specify the format for plain text values in which TIME columns are entered and displayed.


Time Stamp Specifications (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Time Stamp Specifications

You use this syntax rule to specify the data format of the plain text values in which TIMESTAMP columns are entered and displayed. A timestamp consists of a date and time value and a microsecond specification.

This format only applies to the import or export command in which it is specified. If a time stamp format is not specified in a command, then either the Loader default is used or a value specified with the SET TIMESTAMP command. You use the SET TIMESTAMP command to specify the time stamp format for all subsequent commands. In a single Loader session, this applies until a new SET command is executed.

Syntax

<timestamp_spec> ::= TIMESTAMP <standard_timestamp_mask>
| TIMESTAMP '<valFREE_MASK>'

TIMESTAMP <standard_timestamp_mask>

Specification of a standardized time stamp mask

<standard_timestamp_mask>

Possible values: EUR | INTERNAL| ISO| JIS | USA
Default value: INTERNAL

TIMESTAMP '<valFREE_MASK>'

Freely definable time stamp mask

Use Y for the year, M for the month, D for the day, H for the hours, M for the minutes, S for the seconds, and N for the microseconds.

The year must have two or four characters, days must have two characters, and months must have two or three characters. If you enter three characters for the month, that is MMM, the name of the month is displayed as the standard English abbreviation, for example, Oct for October.

Minutes and seconds must have two digits. Hours must have two or four digits. For microseconds, you can choose any number of digits from 0 to 6.

Examples

EXPORT COLUMNS * FROM hotel.reservation
OUTSTREAM ′reservation.data′
TIMESTAMP ISO

Standard time stamp mask ISO is specified.

EXPORT COLUMNS * FROM hotel.reservation
OUTSTREAM ′reservation.data′
TIMESTAMP ′YYYY-MM-DD-HH-MM-SS-NNNNNN′

Example of the content of the data stream: “2005-11-15-13-14-12-987654”

Mask YYYY-MM-DD-HH-MM-SS-NNNNNN is specified for time stamp information.

Explanation

TIMESTAMP <standard_timestamp_mask>

You use the standard_timestamp_mask to specify the format for plain text values in which TIMESTAMP columns are entered and displayed.

'YYYY' | Four-digit year format
'MM' | Two-digit month format (01-12)
'DD' | Two-digit day format (01-31)
'HH' | Two-digit hour format (0-24)
'MM' | Two-digit minute format (00-59)
'SS' | Two-digit second format (00-59)
'NNNNNN' | Six-digit microsecond format

Format | General Format | Example
EUR/JIS/USA | 'YYYY-MM-DD-HH.MM.SS.NNNNNN' | '2005-01-23-14.30.08.456234'
INTERNAL | 'YYYYMMDDHHMMSSNNNNNN' | '20050123143008456234'
ISO | 'YYYY-MM-DD HH:MM:SS.NNNNNN' | '2005-01-23 14:30:08.456234'

Years must have four digits. Months and days must have two digits.

Hours, minutes, and seconds must have two digits.

For microseconds, you can choose any number of digits from 0 to 6.

TIMESTAMP '<valFREE_MASK>'

You use the output format valFREEMASK to specify the format for plain text values in which TIMESTAMP columns are entered and displayed.


Exporting and Importing Using Backup Tools from Other Providers (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Exporting and Importing Using Backup Tools from Other Providers

If you use export/import Loader commands to export the entire application and/or database catalog data, you can use backup tools from other providers.

Prerequisite

Connecting Backup Tools from Other Providers

The backup tool for the Loader session is determined using the loader command SET BACKUPTOOL.

Procedure

You start to export and import the data directly from the Loader.

· Export: The Loader implicitly creates the pipes for transferring the backup data during transport. They must not be available beforehand. Enter TAPE as the media type.

· Import: Specify the external backup ID (TAPE <ebid_spec>) as the medium type.


Importing and Exporting LONG Values (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Importing and Exporting LONG Values

You can use IMPORT/EXPORT TABLE and EXPORT/UPDATE COLUMNS commands to import LONG values to a target table, export them from a data stream or modify the LONG values in a table. Use the syntax rule longfile_spec to define the columns in a target table to which you want to import LONG values, or to specify from which data source you want to export them.

Syntax

<longfile_spec> ::=
LONGFILE (<valCOLUMN_ID> | <valCOLUMN_NAME>) <longfile_code_spec>
| LONGFILE (<valCOLUMN_ID> | <valCOLUMN_NAME>) '<valFILE_NAME>' [<longfile_code_spec>]

<valCOLUMN_ID> | Column ID
<valCOLUMN_NAME> | Name of Column
<longfile_code_spec> | Code Specification
<valFILE_NAME> | Name and path of the data stream

Examples

EXPORT TABLE hotel.hotel
  DATA OUTSTREAM FILE 'hotel.data'
  LONGFILE info 'hotel_info.data'

The information of the LONG columns is exported to the data stream hotel_info.data .

Explanation

The data for LONG values is stored separately from the other data in LONG data streams. These data streams are specified with the syntax rule longfile_spec. No media name can be used after the keyword LONGFILE.

If, when you are exporting LONG values, you specify more LONG data streams than there are LONG output columns in the column list, the Loader ignores the surplus LONG data streams.

· The first syntax rule relates to exporting/importing in cases where each LONG value of a column is in a separate LONG data stream.

· The other rule relates to exporting/importing in cases where all LONG values of a column are in one LONG data stream.

Exporting LONG Values

You can use all variants of the syntax rule to export the data.

· Always use a column ID for the LONG column that you want to export even if a column ID is specified in the column list for this column.

· Use the column name if the column name is specified in the column list.

When you export LONG values, you must distinguish between the following cases:

...

1. Each LONG value to be exported to a column is in a separate LONG data stream.

2. All LONG values to be exported to a column are in one LONG data stream.

1. Each LONG Value to Be Exported Is in a Separate LONG Data Stream.

In the command for exporting data, you specify the name of the LONG data stream with a number of placeholders for sequential numbering of the generated LONG data streams for each LONG column that you want to export.

If the LONG column you want to export has no value in a data record (the value is an empty character string), an empty LONG data stream is generated for this LONG value.

Using the unique media name generated in this way, the individual LONG data streams are assigned to the corresponding data record in the target table.

Use a sufficient number of numeric characters at the end of the media name as a placeholder. If the upper limit is reached while the data is being exported, but there are still values left to be unloaded, the Loader generates an error message and terminates the command.

EXPORT TABLE hotel.hotel
  DATA OUTSTREAM FILE 'hotel.data'
  LONGFILE info 'hotel_info.data###'

The Loader generates the data stream with the name hotel_info.data.001 for the first LONG value to be exported, the data stream hotel_info.data.002 for the second, and so on.
Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","hotel_info.data001"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","hotel_info.data002"

2. All Long Values to Be Exported Are in One Long Data Stream

In the command for exporting data, you specify the name of a data stream for each LONG column, into which each of the LONG values of this LONG column to be exported are entered.

If the LONG column you want to export has no value in a data record (the value is an empty character string), the position specification for this LONG value is generated as follows: the start position is the end position of the preceding LONG value in the column plus 1; the end position is the end position of the preceding LONG value in the column. This means that the start position is always one value larger than the end position.

The start and end position of the generated LONG value in the data stream enable the LONG values to be assigned to data records.

EXPORT TABLE hotel.hotel
  DATA OUTSTREAM FILE 'hotel.data'
  LONGFILE info 'hotel_info.data'

Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","1-994"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","995-1157"

Importing LONG Values

When you import LONG values, you can only use the LONGFILE <valCOLUMN_NAME> '<valFILE_NAME>' syntax rule, since you can only use column names in the import command, and not column IDs.

When you import LONG values, you must distinguish between the following cases:

3. Each LONG value to be imported is in a separate LONG data stream.

4. All LONG values to be exported are in one LONG data stream.

1. Each LONG Value to Be Imported Is in a Separate LONG Data Stream

In the data stream, you specify the names of the data streams that contain the LONG values instead of the column values (if necessary, also entering position specifications). The entire data streams or parts of them are loaded as LONG values.

The complete data stream is loaded as a LONG value.

IMPORT TABLE hotel.hotel
  UPDATE DUPLICATES
  DATA INSTREAM FILE 'hotel.data'
    hno      1
    name     2
    zip      3
    address  4
    info     5 CHAR DEFAULT NULL

Content of the data stream:

10","Congress","20005","155 Beechwood Str.","hotel_info.data001"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","hotel_info.data002"

Example Parts of the data stream are imported as LONG values.

IMPORT TABLE hotel.hotel
  UPDATE DUPLICATES
  DATA INSTREAM FILE 'hotel.data'
    hno      1
    name     2
    zip      3
    address  4
    info     5 CHAR DEFAULT NULL

Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","'hotel_info.data001' 1-915"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","'hotel_info.data002' 1-159"

2. All LONG Values to Be Imported Are in One LONG Data Stream

Variant 1

In the data stream, you specify the name of the data stream containing the LONG values with the start and end position of the LONG value to be imported, instead of a column value.

Example IMPORT TABLE hotel.hotel
  UPDATE DUPLICATES
  DATA INSTREAM FILE 'hotel.data'
    hno      1
    name     2
    zip      3
    address  4
    info     5 CHAR DEFAULT NULL

Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","'hotel_info.data' 1-915"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","'hotel_info.data' 916-1074"

Variant 2

You specify the name of the data stream that contains the LONG values after the keyword LONGFILE. In the data stream itself, specify only the position specifications. Do not enter the data stream name as a prefix.

Example IMPORT TABLE hotel.hotel
  UPDATE DUPLICATES
  DATA INSTREAM FILE 'hotel.data'
    hno      1
    name     2
    zip      3
    address  4
    info     5 CHAR DEFAULT NULL
 LONGFILE info 'hotel_info.data'

Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","1-915"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","916-1074"

<longfile_code_spec>

You can also specify a code attribute in the IMPORT command for all data streams that contain LONG values that are to be loaded by specifying the syntax rule longfile_code_spec . You can only enter a single code attribute for all data streams. You cannot specify a code attribute for each individual data stream that is specified.

Example Specifying the code attribute ASCII

IMPORT TABLE hotel.hotel
  UPDATE DUPLICATES
  DATA INSTREAM FILE 'hotel.data'
    hno      1
    name     2
    zip      3
    address  4
    info     5 CHAR DEFAULT NULL
 LONGFILE info ASCII

Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","'hotel_info.data001'"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","'hotel_info.data002'"

Example Specifying the code attribute ASCII

IMPORT TABLE hotel.hotel
  UPDATE DUPLICATES
  DATA INSTREAM FILE 'hotel.data'
    hno      1
    name     2
    zip      3
    address  4
    info     5 CHAR DEFAULT NULL
 LONGFILE info 'hotel_info.data' ASCII

Content of the data stream:

"10","Congress","20005","155 Beechwood Str.","1-915"
"20","Long Island","11788","1499 Grove Street","?"
"30","Regency","20037","477 17th Avenue","916-1074"


Restart (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation Restart

You can use the syntax rule restart to fulfill the prerequisite for restarting the export or import.

Syntax

<restart> ::= RESTART <valPACKAGEGUID>

<valPACKAGEGUID>

ID that is created for the commands that span more than one table

Explanation

When you use the syntax element restart the PACKAGEGUID and the computer name of the client of the Loader are entered in the table SYSLOADER.TRANSFORMATIONMODEL and logged in the log file .

The user can determine the PACKAGEGUID from the table SYSLOADER.TRANSFORMATIONMODEL or from the log file to restart the command with the corresponding PACKAGEGUID.

See also:

Exporting: Commands

Importing: Commands

TRANSFORMATIONPACKAGES


Log Functions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Log Functions

Use

The Loader logs its actions in log files and in system tables.

Features

· Log file
The Loader logs its export and import actions in the log file loader.prt.

· System tables
Depending on the data volume, the transporting of data takes some time. The Loader can restart the action if it is interrupted. To do this, the information in the system tables is evaluated.


Log File (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Log File

Definition

One important log function of the Loader is to create and manage a log file. The name of this log file is loader.prt.

Use

When you start the Loader the log file loader.prt is created or updated.

  • Server profile: The Loader log file is in the directory <independent_data_path>\wrk of the database instance.
  • Client profile: The Loader log file is in the directory <loader_application_data>\log.

Structure

Amongst other things, the following information is stored in the log file:

· Database instance and user name

· Start and end of a export or import

· All executed SQL statements

· All executed EXPORT commands
For each EXPORT command, specification of the accumulated counts (number of extracted lines, and the number of lines extracted with errors)

· All executed IMPORT commands
– For each IMPORT command, specification of the position of the rejected input records in the medium and the cause of error
- For each IMPORT command, specification of the accumulated counts (inserted/modified lines and rejected lines)

· Sequence of Loader commands, that were processed in transport mode (marked with the key words START PACKAGE and END PACKAGE)

· A message if the action was terminated

All comments start in a new record with // * or // <letter> and are ignored by the Loader.

Special comment lines:

// M | Line with messages These are informative system messages, such as the number of lines inserted and rejected, last completed transaction, and so on.
// E | Line with error messages This is used to introduce the two lines with the table and position values as well as the error number or error text for rejected lines.
// R | Line with REMARK comment These are comments that the user specified using the REMARK command.

Integration

The log file is structured in such a way that parts of it can be easily used to create a command file.

REMARK Command

You can use this Loader command to write comments in the log file.

<remark_command> ::= REMARK ″<valREMARK>″

valREMARK

Remark

See also:

Concepts of the Database System, Directories, Log Files


System Tables (SAP Library - MaxDB Library)

 Entering content frame

Object documentation System Tables

Definition

One important log function of the Loader is storing Loader-relevant information in system tables.

Use

When you install the database system, the following system tables are created for the Loader:

· CODEPAGE

· TRANSFORMATIONMODEL

· TRANSFORMATIONMONITOR

· TRANSFORMATIONPACKAGES

· TRANSFORMATIONRESOURCES

· TRANSFORMATIONSTATISTICS

· TRANSFORMATIONSTEPS

Structure

The database administrator is the owner of these system tables. The tables are generated in the SYSLOADER schema. You need to specify the schema to access these tables.

SELECT * FROM sysloader.transformationmodel
WHERE PACKAGEGUID = <valPACKAGEGUID>

The Loader logs information on the runtime responses of export and import processes in the TRANSFORMATION system tables. If you perform an export or import that spans multiple tables, the system tables are filled with the corresponding information.

You can also configure a transformation using the system tables.

The Loader uses the entries in the system tables to restart commands. You can use this ability to restart by using the RESTART option of the command.


CODEPAGE (SAP Library - MaxDB Library)

 Entering content frame

Object documentation CODEPAGE

Definition

The system table CODEPAGE contains the conversion tables that the Loader uses for the conversion.

Structure

CODEPAGE

CODEPAGEID | CHAR(32) | Names of code page (for example, ISO-8859-2)
CODEPAGETABLE | CHAR(512) BYTE | Conversion table from ASCII to UCS2 for each code page

The system table CODEPAGE is preconfigured. When it is delivered, the CODEPAGE column contains 27 entries:

ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, WINDOWS-874, WINDOWS-932, WINDOWS-936, WINDOWS-949, WINDOWS-950, WINDOWS-1250, WINDOWS-1251, WINDOWS-1252, WINDOWS-1253, WINDOWS-1254, WINDOWS-1255, WINDOWS-1256, WINDOWS-1257.

The default value of the Loader, code page ISO-8859-1, is not included in the table.

See also:

SET Command

Additional System Tables


TRANSFORMATIONMODEL (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSFORMATIONMODEL

Definition

The system table TRANSFORMATIONMODEL contains all entries about transformations of the Loader that span more than one table. After a successful transformation, these entries are exported to a data stream or deleted.

Structure

TRANSFORMATIONMODEL

PACKAGEGUID | CHAR(24) BYTE | Unique ID of the transformation package
TASKID | FIXED(6,0) | ID of the transformation task
SERVERNODE | CHAR(32) | Computer node on which the database instance to be transformed is installed
SERVERDB | CHAR(32) | Name of the database instance that is to be transformed
USERNAME | CHAR(32) | User name:
CODETYPE | CHAR(32) | Code type of the database instance (ASCII | UNICODE)
CODEPAGEID | CHAR(32) | ID of the ASCII code page that is to be used
STORAGEDEVICE | CHAR(32) | External storage medium that is to be used
TRANSACTIONSIZE | FIXED(6.0) | Minimum number of rows that are to be transformed before the status of the transformation step is logged
TRANSFORMATION | CHAR(32) | Transformation type (EXPORT | IMPORT | UPDATE)
PART | CHAR(32) | Parts of the database catalog (ALL | USER | SCHEMA | TABLE)
STEPID | FIXED(6,0) | ID of the transformation step
OWNER | CHAR(32) | Table owner
SCHEMANAME | CHAR(32) | Schema name
TABLENAME | CHAR(32) | Table name
TABLETYPE | CHAR(8) | Table type (TABLE | VIEW | SYNONYM)
CATALOGSTREAMNAME | CHAR(254) | Name of the CATALOG data stream
CATALOGSTREAMTYPE | CHAR(32) | Medium of the CATALOG data stream (FILE | PIPE | TAPE)
CATALOGSTREAMEBID | CHAR(32) | External backup ID of the CATALOG data stream
CATALOGSTREAMFORMAT | CHAR(32) | Format of the CATALOG data stream (DDL | XML)
DATASTREAMNAME | CHAR(254) | Name of the DATA data stream
DATASTREAMTYPE | CHAR(32) | Medium of the DATA data stream (FILE | PIPE | TAPE)
DATASTREAMEBID | CHAR(32) | External backup ID of the DATA data stream
DATASTREAMFORMAT | CHAR(32) | Format of the DATA data stream (COMPRESSED | DDL | DTL | FORMATTED | PAGES | RECORDS)
DATASTREAMHEADERBLOCK | FIXED(6,0) | Start position of the header of the DATA data stream (in 2 GB blocks)
DATASTREAMHEADERPOS | FIXED(10,0) | Start position of the header of the DATA data stream (in bytes, less than 2 GB)
DATASTREAMDATABLOCK | FIXED(6.0) | Start position of the data of the DATA data stream (in 2 GB blocks)
DATASTREAMDATAPOS | FIXED(10,0) | Start position of the data of the DATA data stream (in bytes, less than 2 GB)
DATASTREAMTRAILEBLOCK | FIXED(6,0) | Start position of the trailer of the DATA data stream (in 2 GB blocks)
DATASTREAMTRAILERPOS | FIXED(10,0) | Start position of the trailer of the DATA data stream (in bytes, less than 2 GB)
EXCLUDE | BOOLEAN | Transformation step was excluded (TRUE) or not (FALSE)
RESTART | BOOLEAN | Transformation step was executed (TRUE) or not (FALSE)
RESTORE | BOOLEAN | Transformation command was generated (TRUE) or not (FALSE)
PAGECOUNT | FIXED(10,0) | Number of pages that were transformed during a transformation step
ROWCOUNT | FIXED(10,0) | Number of rows that were transformed during a transformation step
STARTTIME | TIMESTAMP | Start of the transformation step
ENDTIME | TIMESTAMP | End of the transformation step
REQUESTTIME | FIXED(15,10) | Total execution time of a kernel request within a transformation step
RECEIVETIME | FIXED(15,10) | Total execution time of a kernel reply within a transformation step
IOTIME | FIXED(15,10) | Total I/O time within a transformation step
LOGTIME | FIXED(15,10) | Total time required for the management of actions within a transformation step
SEQ_NO | FIXED(6,0) | Sequence number with which split GRANT statements can be assigned to each other
CMD | CHAR(254) | Authorization statement

See also:

Additional System Tables


TRANSFORMATIONMONITOR (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSFORMATIONMONITOR

Definition

The system table TRANSFORMATIONMONITOR describes the resource consumption of a Loader transformation.

Structure

TRANSFORMATIONMONITOR

PACKAGEGUID | CHAR(24) | Unique ID of the transformation package
ROWCOUNT | FLOAT(38) | Number of transformed rows
TRANSACTIONSIZE | FIXED(6,0) | Minimum number of rows that are to be transformed before the status of the transformation step is logged
SYSTEMDURATION | FLOAT(38) | System performance
KERNELDURATION | FLOAT(38) | Kernel performance
LOADERDURATION | FLOAT(38) | Loader performance
DATADURATION | FLOAT(38) | Pager performance
LOGDURATION | FLOAT(38) | Total time required for the management of actions within a transformation step
IODURATION | FLOAT(38) | Total I/O time within a transformation step

See also:

Additional System Tables


TRANSFORMATIONPACKAGES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSFORMATIONPACKAGES

Definition

The system table TRANSFORMATIONPACKAGES contains all steps of a Loader transformation for a transformation package.

Structure

TRANSFORMATIONPACKAGES

PACKAGEGUID | CHAR(24) BYTE | Unique ID of the transformation package
TASKID | FIXED(6.0) | ID of the transformation task
STEPID | FIXED(6.0) | ID of the transformation step
OWNER | CHAR(32) | Table owner
SCHEMANAME | CHAR(32) | Schema name
TABLENAME | CHAR(32) | Table name
EXCLUDE | BOOLEAN | Transformation step was excluded (TRUE) or not (FALSE)
RESTART | BOOLEAN | Transformation step was executed (TRUE) or not (FALSE)

See also:

Additional System Tables


TRANSFORMATIONRESOURCES (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSFORMATIONRESOURCES

Definition

The system table TRANSFORMATIONRESOURCES describes the data sources and data targets involved in a Loader transformation.

Structure

TRANSFORMATIONRESOURCES

PACKAGEGUID | CHAR(24) BYTE | Unique ID of the transformation package
SERVERNODE | CHAR(32) | Computer node on which the database instance to be transformed is installed
SERVERDB | CHAR(32) | Name of the database instance that is to be transformed
USERNAME | CHAR(32) | User name
CODEPAGEID | CHAR(32) | ID of the ASCII code page that is to be used
STORAGEDEVICE | CHAR(32) | External storage medium that is to be used
CATALOGSTREAMNAME | CHAR(254) | Name of the CATALOG data stream
CATALOGSTREAMTYPE | CHAR(32) | Medium of the CATALOG data stream (FILE | PIPE | TAPE)
CATALOGSTREAMEBID | CHAR(32) | External backup ID of the CATALOG data stream
DATASTREAMNAME | CHAR(254) | Name of the DATA data stream
DATASTREAMTYPE | CHAR(32) | Medium of the DATA data stream (FILE | PIPE | TAPE)
DATASTREAMEBID | CHAR(32) | External backup ID of the DATA data stream

See also:

Additional System Tables


TRANSFORMATIONSTATISTICS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSFORMATIONSTATISTICS

Definition

The system table TRANSFORMATIONSTATISTICS describes the resource consumption of a step of a Loader transformation.

Structure

TRANSFORMATIONSTATISTICS

PACKAGEGUID | CHAR(24) BYTE | Unique ID of the transformation package
STEPID | FIXED(6,0) | Ascending number for each transformation package
OWNER | CHAR(32) | Table owner
SCHEMANAME | CHAR(32) | Schema name
TABLENAME | CHAR(32) | Table name
BYTECOUNT | FIXED(11,0) | Size of the DATA data stream in bytes
ROWCOUNT | FIXED(10,0) | Number of table rows in the DATA data stream
TRANSACTIONSSIZE | FIXED(6,0) | Minimum number of rows that are to be transformed before the status of the transformation step is logged
SYSTEMTIME | FLOAT(38) | Transformation performance
KERNELTIME | FIXED(20,10) | Kernel performance
LOADERTIME | FLOAT(38) | Loader performance
DATATIME | FLOAT(38) | Pager performance
LOGTIME | FIXED(15,10) | Total time required for the management of actions within a transformation step
IOTIME | FIXED(15,10) | Total I/O time within a transformation step

See also:

Additional System Tables


TRANSFORMATIONSTEPS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation TRANSFORMATIONSTEPS

Definition

The system table TRANSFORMATIONSTEPS describes a Loader transformation at table level.

Structure

TRANSFORMATIONSTEPS

PACKAGEGUID | CHAR(24) BYTE | Unique ID of the transformation package
TRANSFORMATION | FIXED(6.0) | Transformation type (EXPORT | IMPORT | UPDATE)
OWNER | CHAR(32) | Table owner
SCHEMANAME | CHAR(32) | Schema name
TABLENAME | CHAR(32) | Table name
CATALOGSTREAMNAME | CHAR(254) | Name of the CATALOG data stream
CATALOGSTREAMFORMAT | CHAR(32) | Format of the CATALOG data stream (DDL | XML)
DATASTREAMNAME | CHAR(254) | Name of the DATA data stream
DATASTREAMFORMAT | CHAR(32) | Format of the DATA data stream (COMPRESSED | DDL | DTL | FORMATTED | PAGES | RECORDS)
DATASTREAMHEADERBLOCK | FIXED(6.0) | Start position of the header of the DATA data stream (in 2 GB blocks)
DATASTREAMHEADERPOS | FIXED(10.0) | Start position of the header of the DATA data stream (in bytes, less than 2 GB)
DATASTREAMDATABLOCK | FIXED(6.0) | Start position of the data of the DATA data stream (in 2 GB blocks)
DATASTREAMDATAPOS | FIXED(10.0) | Start position of the data of the DATA data stream (in bytes, less than 2 GB)
DATASTREAMTRAILERBLOCK | FIXED(6.0) | Start position of the trailer of the DATA data stream (in 2 GB blocks)
DATASTREAMTRAILERPOS | FIXED(10.0) | Start position of the trailer of the DATA data stream (in bytes, less than 2 GB)
RESTART | BOOLEAN | Transformation step was executed (TRUE) or not (FALSE)
START | FIXED(10.0) | Number of transformed rows

See also:

Additional System Tables


Syntax Rules: Overview (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Syntax Rules: Overview

Each Loader command comprises one or more keywords, arguments and syntax rules.

The syntax used for Loader commands is the Backus Naur Form (BNF) with the following conventions:

<rule_name> ::= <rule_section>

The terms in angle brackets represent syntactical units. Each rule name must be resolved by a rule section.

A rule section is any combination of rules and end symbols.

End symbols are numbers, literals, or keywords and are not resolved further.

End symbols that start with val stand for values that must be specified by the user. Note that you might have to place these values in single quotation marks, if the syntax rule requires this.

· [<rule_section>]: Rule sections set in angle brackets indicate an optional user input. Do not enter square brackets when specifying a command.

· (<Rule section> | <Rule section> | ...): Rule sections in round brackets refer to the option of selecting one of the proposed user entries. Do not enter round brackets when specifying a command.

· <rule_section>...: The rule section can be repeated as often as required. The individual repetitions must be written one immediately after the other and separated by spaces.

The keywords used in the commands are written in uppercase for the sake of clarity. They can be specified by the user in upper or lower-case letters.

If you use keywords as names of columns, tables, or database users, you must place them in double quotation marks.

Blank characters are allowed in commands. These are not interpreted by the Loader.

<autocommit_command> ::=
AUTOCOMMIT ON
| AUTOCOMMIT OFF

<bool_spec> ::=
BOOLEAN '<valVALUE_FOR_TRUE>/<valVALUE_FOR_FALSE>'

<catalog_instream_spec> ::=
CATALOG <instream_spec>

<catalog_outstream_spec> ::=
CATALOG <outstream_spec>

<code_page_spec> ::=
CODEPAGE [<valCODEPAGE_NAME>]

<code_spec> ::=
<standard_code_spec>
| CODESET <valCODESET_NAME>

<column_assignment> ::=
<valCOLUMN_NAME> '<valLITERAL>'
| <valCOLUMN_NAME> <generate_spec>

<column_descriptor> ::=
<valCOLUMN_NAME> <field_pos> <format_spec>

<column_id> ::=
<valCOLUMN_NAME>
| <valCOLUMN_ID>

<column_id_spec> ::=
<column_id> <field_pos> <format_spec> <null_assign>

<column_names>
<valCOLUMN_NAME>
| <valCOLUMN_NAME>,<column_names>

<compare_operator> ::=
<
| >
| =
| <=
| >=
| !=

<condition> ::=
<simple_condition>
| (<condition>)
| <condition> AND <condition>
| NOT <condition>

<configuration_instream_spec> ::=
CONFIGURATION <instream_spec>

<database_name_statement> ::=
SERVERDB <valDBNAME> [ON <valDBNODE> [ENCRYPTION <valPROTOCOL_NAME>]]

<data_instream_spec> ::=
DATA <instream_spec>

<data_outstream_spec> ::=
DATA <outstream_spec>

<date_spec> ::=
DATE <standard_date_mask>
| DATE '<valFREE_MASK>'

<delimiter_spec> ::=
DELIMITER '<valDELIMITER>'

<duplicates_clause> ::=
REJECT DUPLICATES
| IGNORE DUPLICATES
| UPDATE DUPLICATES

<ebid_spec> ::=
EBID '<valEBID>'

<export_columns_command> ::=
EXPORT COLUMNS <select_expression>
[MAP COLUMNS <output_column_list>]
<data_oustream_spec> [<longfile_spec>...]

<export_command> ::=
EXPORT <part_spec>
[<configuration_instream_spec]
[<order_clause>]
(<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec> [<longfile_spec>...])
[<package_outstream_spec>]
[<restart>]

<field_format> ::=
/* empty */
| CHAR
| DECIMAL [<valFRACTION>]
| INTEGER
| REAL
| ZONED [<valFRACTION>]

<field_pos> ::=
<valSTART_POS>
| <valSTARTPOS> - <valEND_POS>

<format_spec> ::=
<field_format> [HEX] [<numerical_functions>]

<generate_spec> ::=
DATE
| FALSE
| <sequence_number>
| STAMP
| TIME
| TIMESTAMP
| TRUE
| USER
| USERGROUP

<if_condition> ::=
IF <condition>

<import_columns_command> ::=
IMPORT COLUMNS TABLE <table_spec> [<duplicates_clause>]
<load_column_spec>... <data_instream_spec> [<longfile_spec>...]

<import_command> ::=
IMPORT <part_spec>
[<duplicates_clause>]
[<configuration_instream_spec]
(<catalog_instream_spec> <data_instream_spec>
|<catalog_instream_spec>
|<data_instream_spec>)
[<package_outstream_spec>]
[<restart>]

<import_table_spec_command>
::=
IMPORT TABLE <table_spec>
[<duplicates_clause>]
[<catalog_instream_spec>]
<data_instream_spec> <load_column_spec>...
[<longfile_spec>...]
[<usage_spec>]
[<package_outstream_spec>]

<instream_spec> ::=
INSTREAM [<mediumtype_spec>] '<valSTREAM_NAME>'
[<stream_format_spec>] [<stream_extract>] [<noheader_spec>]

<int_spec> ::=
INTEGER HILO
| INTEGER LOHI

<isolation_level_spec> ::=
ISOLATION LEVEL <valISOLATION_LEVEL>

<lit_column_spec> ::=
'<valLITERAL>' <field_pos>

<load_column_spec> ::=
<column_descriptor> [<null_condition>]
| <column_assignment>

<longfile_code_spec> ::=
<code_spec>
| BINARY

<longfile_spec> ::=
LONGFILE (<valCOLUMN_ID> | <valCOLUMN_NAME>) <longfile_code_spec>
| LONGFILE (<valCOLUMN_ID> | <valCOLUMN_NAME>) '<valFILE_NAME>' [<longfile_code_spec>]

<mediumtype_spec> ::=
FILE
| PIPE
| TAPE [<ebid_spec>]

<noheader_spec> ::=
NOHEADER <valRECORD_LENGTH>

<null_assign> ::=
[IF] NULL SET '<valLITERAL>'

<null_condition> ::=
NULL [IF] <condition>
| DEFAULT NULL

<null_spec> ::=
NULL '<valLITERAL>'

<number_spec> ::=
DECIMAL '/[<t>]/<d>/'

<numerical_functions> ::=
<scale_spec>
| <round_or_trunc_spec>
| <scale_spec> <round_or_trunc_spec>

<order_clause>
ORDER BY <column_names>

<output_column> ::=
<column_id_spec>
| <lit_column_spec>

<output_column_list> ::=
<output_column>
| <output_column> <output_column_list>

<outstream_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<valSTREAM_NAME>'
[<stream_format_spec>] [<stream_extract>]

<package_outstream_spec> ::=
PACKAGE <outstream_spec>

<part_spec> ::=
DB
| USER
| SCHEMA <schema_name>
| TABLE <table_name>

<remark_command> ::=
REMARK "<valREMARK>"

<restart> ::=
RESTART <valPACKAGEGUID>

<round_or_trunc_spec> ::=
ROUND <valFRACTION>
| TRUNC <valFRACTION>

<scale_spec> ::=
SCALE <valSCALE_FACTOR>

<schema_spec> ::=
SCHEMA <valSCHEMA_NAME>

<schema_name> ::=
<valSCHEMA_NAME>

<select_expression> ::=
<select_statement>

<separator_spec> ::=
SEPARATOR '<valSEPARATOR>'

<sequence_number> ::=
SEQUNO
| SEQUNO <valSTART>
| SEQUNO <valSTART> <valINCREMENT>

<set_column_spec> ::=
SET <load_column_spec>

< set_command > ::=
SET
| SET BACKUPTOOL (TSM | NETWORKER | BACKINT)
| SET <bool_spec>
| SET CODETYPE <standard_code_spec>
| SET <code_page_spec>
| SET COMPRESSED ′/<s>/<d>/′
| SET CONFIGURATION (EXCLUDE | INCLUDE)
| SET CURRENT SCHEMA = <valSCHEMA_NAME>
| SET DATE <standard_date_mask>
| SET FORMAT <standard_date_mask>
| SET <isolation_level_spec>
| SET MAXERRORCOUNT <valMAXERRORCOUNT>
| SET <null_spec>
| SET <number_spec>
| SET TIME <standard_time_mask>
| SET TIMESTAMP <standard_timestamp_mask>
| SET TRANSACTION SIZE <valTRANSACTION_SIZE>

<simple_column_spec> ::=
<column_descriptor>
| <column_assignment>

<simple_condition> ::=
POS <field_pos> <field_format> [HEX] <compare_operator> '<valLiteral>'

<sql_mode> ::=
INTERNAL
| ANSI
| DB2
| ORACLE

<sql_mode_command> ::=
SQLMODE <sql_mode>

<standard_code_spec> ::=
ASCII
| UCS2
| UTF8

<standard_date_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<standard_time_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<standard_timestamp_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<stream_extract> ::=
START <valSTART_POS> (MAXROWS | MAXRECORDS)
| START <valSTART_POS> <valEND_POS>

<stream_format_spec> ::=
<bool_spec> <stream_format_spec>
| <code_spec> <stream_format_spec>
| <date_spec> <stream_format_spec>
| <delimiter_spec> <stream_format_spec>
| <int_spec> <stream_format_spec>
| <null_spec> <stream_format_spec>
| <number_spec> <stream_format_spec>
| <separator_spec> <stream_format_spec>
| <time_spec> <stream_format_spec>
| <timestamp_spec> <stream_format_spec>
| COMPRESSED <stream_format_spec> <usage_spec>
| DDL
| DTL <usage_spec>
| FORMATTED <stream_format_spec> <usage_spec>
| FORMATTED BINARY <stream_format_spec> <usage_spec>
| PAGES <stream_format_spec>
| RECORDS <stream_format_spec>

<table_name> ::=
<valTABLE_NAME>
| <valTABLE_SCHEMA>.<valTABLE_NAME>

<table_spec> ::=
<table_name> <if_condition>

<time_spec> ::=
TIME <standard_time_mask>
| TIME '<valFREE_MASK>'

<timestamp_spec> ::=
TIMESTAMP <standard_timestamp_mask>
| TIMESTAMP '<valFREE_mask>'

<update_columns_command> ::=
UPDATE COLUMNS TABLE <table_spec>
<simple_column_spec>... <set_column_spec>...
<data_instream_spec> [<longfile_spec>...]

<usage_spec> ::=
PAGE WITH <valUSAGE> % USAGE
| PAGE WITH <valUSAGE> ROWS USAGE
| WITH <valUSAGE> ROWS USAGE

<use_schema_command> ::=
USE <schema_spec>

<use_serverdb_command> ::=
USE <database_name_statement>

<use_user_command>
::=
USE USER <valUSERNAME> <valPASSWORD>
[<schema_spec>]
[<database_name_statement>]
[<isolation_level_spec>]


autocommit_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation autocommit_command

<autocommit_command> ::=
AUTOCOMMIT ON
| AUTOCOMMIT OFF


bool_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation bool_spec

<bool_spec> ::=
BOOLEAN '<valVALUE_FOR_TRUE>/<valVALUE_FOR_FALSE>'


catalog_instream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation catalog_instream_spec

<catalog_instream_spec> ::=
CATALOG <instream_spec>


catalog_outstream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation catalog_outstream_spec

<catalog_outstream_spec> ::=
CATALOG <outstream_spec>


code_page_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation code_page_spec

<code_page_spec> ::=
CODEPAGE [<valCODEPAGE_NAME>]


code_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation code_spec

<code_spec> ::=
<standard_code_spec>
| CODESET <valCODESET_NAME>


column_assignment (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_assignment

<column_assignment> ::=
<valCOLUMN_NAME> '<valLITERAL>'
| <valCOLUMN_NAME> <generate_spec>


column_descriptor (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_descriptor

<column_descriptor> ::=
<valCOLUMN_NAME> <field_pos> <format_spec>


column_id (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_id

<column_id> ::=
<valCOLUMN_NAME>
| <valCOLUMN_ID>


column_id_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_id_spec

<column_id_spec> ::=
<column_id> <field_pos> <format_spec> <null_assign>


column_names (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation column_names

<column_names> ::=
<valCOLUMN_NAME>
| <valCOLUMN_NAME>,<column_names>


compare_operator (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation compare_operator

<compare_operator> ::=
<
| >
| =
| <=
| >=
| !=


condition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation condition

<condition> ::=
<simple_condition>
| (<condition>)
| <condition> AND <condition>
| NOT <condition>


configuration_instream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation configuration_instream_spec

<configuration_instream_spec> ::=
CONFIGURATION <instream_spec>


database_name_statement (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation database_name_statement

<database_name_statement> ::=
SERVERDB <valDBNAME> [ON <valDBNODE> [ENCRYPTION <valPROTCOL_NAME>]]


data_instream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation data_instream_spec

<data_instream_spec> ::=
DATA <instream_spec>


data_outstream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation data_outstream_spec

<data_outstream_spec> ::=
DATA <outstream_spec>


date_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation date_spec

<date_spec> ::=
DATE <standard_date_mask>
| DATE '<valFREE_MASK>'


delimiter_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation delimiter_spec

<delimiter_spec> ::=
DELIMITER '<valDELIMITER>'


duplicates_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation duplicates_clause

<duplicates_clause> ::=
REJECT DUPLICATES
| IGNORE DUPLICATES
| UPDATE DUPLICATES


ebid_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ebid_spec

<ebid_spec> ::=
EBID '<valEBID>'


export_columns_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation export_columns_command

<export_columns_command> ::=
EXPORT COLUMNS <select_expression>
[MAP COLUMNS <output_column_list>]
<data_outstream_spec> [<longfile_spec>...]


export_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation export_command

<export_command> ::=
EXPORT <part_spec>
[<configuration_instream_spec>]
[<order_clause>]
(<catalog_outstream_spec> <data_outstream_spec>
|<catalog_outstream_spec>
|<data_outstream_spec> [<longfile_spec>...])
[<package_outstream_spec>]
[<restart>]


field_format (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation field_format

<field_format> ::=
/* empty */
| CHAR
| DECIMAL [<valFRACTION>]
| INTEGER
| REAL
| ZONED [<valFRACTION>]


field_pos (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation field_pos

<field_pos> ::=
<valSTART_POS>
| <valSTARTPOS> - <valEND_POS>


format_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation format_spec

<format_spec> ::=
<field_format> [HEX] [<numerical_functions>]


generate_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation generate_spec

<generate_spec> ::=
DATE
| FALSE
| <sequence_number>
| STAMP
| TIME
| TIMESTAMP
| TRUE
| USER
| USERGROUP


if_condition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation if_condition

<if_condition> ::=
IF <condition>


import_columns_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation import_columns_command

<import_columns_command> ::=
IMPORT COLUMNS TABLE <table_spec> [<duplicates_clause>]
<load_column_spec>... <data_instream_spec> [<longfile_spec>...]


import_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation import_command

<import_command> ::=
IMPORT <part_spec>
[<duplicates_clause>]
[<configuration_instream_spec>]
(<catalog_instream_spec> <data_instream_spec>
|<catalog_instream_spec>
|<data_instream_spec>)
[<package_outstream_spec>]
[<restart>]


import_table_spec_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation import_table_spec_command

<import_table_spec_command>
::=
IMPORT TABLE <table_spec>
[<duplicates_clause>]
[<catalog_instream_spec>]
<data_instream_spec>
<load_column_spec>...
[<longfile_spec>...]
[<usage_spec>]
[<package_outstream_spec>]


instream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation instream_spec

<instream_spec> ::=
INSTREAM [<mediumtype_spec>] '<valSTREAM_NAME>'
[<stream_format_spec>] [<stream_extract>] [<noheader_spec>]


int_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation int_spec

<int_spec> ::=
INTEGER HILO
| INTEGER LOHI


isolation_level_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation isolation_level_spec

<isolation_level_spec> ::=
ISOLATION LEVEL <valISOLATION_LEVEL>


lit_column_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation lit_column_spec

<lit_column_spec> ::=
'<valLITERAL>' <field_pos>


load_column_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation load_column_spec

<load_column_spec> ::=
<column_descriptor> [<null_condition>]
| <column_assignment>


longfile_code_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation longfile_code_spec

<longfile_code_spec> ::=
<code_spec>
| BINARY


longfile_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation longfile_spec

<longfile_spec> ::=
LONGFILE (<valCOLUMN_ID> | <valCOLUMN_NAME>) <longfile_code_spec>
| LONGFILE (<valCOLUMN_ID> | <valCOLUMN_NAME>) '<valFILE_NAME>' [<longfile_code_spec>]


mediumtype_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation mediumtype_spec

<mediumtype_spec> ::=
FILE
| PIPE
| TAPE [<ebid_spec>]


noheader_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation noheader_spec

<noheader_spec> ::=
NOHEADER <valRECORD_LENGTH>


null_assign (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation null_assign

<null_assign> ::=
[IF] NULL SET '<valLITERAL>'


null_condition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation null_condition

<null_condition> ::=
NULL [IF] <condition>
| DEFAULT NULL


null_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation null_spec

<null_spec> ::=
NULL '<valLITERAL>'


number_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation number_spec

<number_spec> ::=
DECIMAL '/[<t>]/<d>/'


numerical_functions (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation numerical_functions

<numerical_functions> ::=
<scale_spec>
| <round_or_trunc_spec>
| <scale_spec> <round_or_trunc_spec>


order_clause (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation order_clause

<order_clause> ::=
ORDER BY <column_names>


output_column (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation output_column

<output_column> ::=
<column_id_spec>
| <lit_column_spec>


output_column_list (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation output_column_list

<output_column_list> ::=
<output_column>
| <output_column> <output_column_list>


outstream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation outstream_spec

<outstream_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<valSTREAM_NAME>'
[<stream_format_spec>] [<stream_extract>]


package_outstream_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation package_outstream_spec

<package_outstream_spec> ::=
PACKAGE <outstream_spec>


part_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation part_spec

<part_spec> ::=
DB
| USER
| SCHEMA <schema_name>
| TABLE <table_name>


remark_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation remark_command

<remark_command> ::=
REMARK "<valREMARK>"


restart (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation restart

<restart> ::=
RESTART <valPACKAGEGUID>


round_or_trunc_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation round_or_trunc_spec

<round_or_trunc_spec> ::=
ROUND <valFRACTION>
| TRUNC <valFRACTION>


scale_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation scale_spec

<scale_spec> ::=
SCALE <valSCALE_FACTOR>


schema_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation schema_spec

<schema_spec> ::=
SCHEMA <valSCHEMA_NAME>


select_expression (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation select_expression

<select_expression> ::=
<select_statement>


separator_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation separator_spec

<separator_spec> ::=
SEPARATOR '<valSEPARATOR>'


sequence_number (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sequence_number

<sequence_number> ::=
SEQUNO
| SEQUNO <valSTART>
| SEQUNO <valSTART> <valINCREMENT>


set_column_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_column_spec

<set_column_spec> ::=
SET <load_column_spec>


set_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation set_command

<set_command> ::=
SET
| SET BACKUPTOOL (TSM | NETWORKER | BACKINT)
| SET <bool_spec>
| SET CODETYPE <standard_code_spec>
| SET <code_page_spec>
| SET COMPRESSED ′/<s>/<d>/′
| SET CONFIGURATION (EXCLUDE | INCLUDE)
| SET CURRENT_SCHEMA = <valSCHEMA_NAME>
| SET DATE <standard_date_mask>
| SET FORMAT <standard_date_mask>
| SET <isolation_level_spec>
| SET MAXERRORCOUNT <valMAXERRORCOUNT>
| SET <null_spec>
| SET <number_spec>
| SET TIME <standard_time_mask>
| SET TIMESTAMP <standard_timestamp_mask>
| SET TRANSACTION SIZE <valTRANSACTION_SIZE>


simple_column_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation simple_column_spec

<simple_column_spec> ::=
<column_descriptor>
| <column_assignment>


simple_condition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation simple_condition

<simple_condition> ::=
POS <field_pos> <field_format> [HEX] <compare_operator> '<valLiteral>'


sql_mode (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sql_mode

<sql_mode> ::=
INTERNAL
| ANSI
| DB2
| ORACLE


sql_mode_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation sql_mode_command

<sql_mode_command> ::=
SQLMODE <sql_mode>


standard_code_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation standard_code_spec

<standard_code_spec> ::=
ASCII
| UCS2
| UTF8


standard_date_mask (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation standard_date_mask

<standard_date_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA


standard_time_mask (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation standard_time_mask

<standard_time_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA


standard_timestamp_mask (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation standard_timestamp_mask

<standard_timestamp_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA


stream_extract (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation stream_extract

<stream_extract> ::=
START <valSTART_POS> (MAXROWS | MAXRECORDS)
| START <valSTART_POS> <valEND_POS>


stream_format_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation stream_format_spec

<stream_format_spec> ::=
<bool_spec> <stream_format_spec>
| <code_spec> <stream_format_spec>
| <date_spec> <stream_format_spec>
| <delimiter_spec> <stream_format_spec>
| <int_spec> <stream_format_spec>
| <null_spec> <stream_format_spec>
| <number_spec> <stream_format_spec>
| <separator_spec> <stream_format_spec>
| <time_spec> <stream_format_spec>
| <timestamp_spec> <stream_format_spec>
| COMPRESSED <stream_format_spec>
| DDL <stream_format_spec>
| DTL <usage_spec> <stream_format_spec>
| FORMATTED <stream_format_spec>
| FORMATTED BINARY <stream_format_spec>
| PAGES <stream_format_spec>
| RECORDS <stream_format_spec>


table_name (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation table_name

<table_name> ::=
<valTABLE_NAME>
| <valTABLE_SCHEMA>.<valTABLE_NAME>


table_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation table_spec

<table_spec> ::=
<table_name> <if_condition>


time_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation time_spec

<time_spec> ::=
TIME <standard_time_mask>
| TIME '<valFREE_MASK>'


timestamp_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation timestamp_spec

<timestamp_spec> ::=
TIMESTAMP <standard_timestamp_mask>
| TIMESTAMP '<valFREE_mask>'


update_columns_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation update_columns_command

<update_columns_command> ::=
UPDATE COLUMNS TABLE <table_name>
<simple_column_spec>... <set_column_spec>...
<data_instream_spec> [<longfile_spec>...]


usage_spec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation usage_spec

<usage_spec> ::=
PAGE WITH <valUSAGE> % USAGE
| PAGE WITH <valUSAGE> ROWS USAGE
| ROW USAGE


use_schema_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation use_schema_command

<use_schema_command> ::=
USE <schema_spec>


use_serverdb_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation use_serverdb_command

<use_serverdb_command> ::=
USE <database_name_statement>


use_user_command (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation use_user_command

<use_user_command>
::=
USE USER <valUSERNAME> <valPASSWORD>
[<schema_spec>]
[<database_name_statement>]
[<isolation_level_spec>]


Terms: Overview (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Terms: Overview

Definition

The following overview of terms is designed to enable you to quickly look up the terms used in the Loader.

Autocommit

Binary Value

Calling The Loader

Command File

Command File Mode

Command Separators

Commands (Export, Import)

Compressed

Data

Data Format

Data Stream

Data Type

Export

Export Columns

Exporting

Exporting

External Data Type

Formatted

Formatted Binary

Hex Value

Instream

Internal Data Type

Loader Cli

Log File

Long Values(Exporting And Importing)

Medium

Metadata

Operating Mode

Options

Outstream

Pages

Plain Text Value

Records

Remark

Selecting Data Records

Session Mode

Set

Sql Statement

Sqlmode

System Table

Transformation

Transport Mode

Transporting

Update Columns

Use Serverdb

Use User


Key Words: Overview (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Key Words: Overview

Keywords are parts of Loader commands. They define the function of the command, which is modified by arguments and options.

The Loader uses the keywords listed below. In some cases, you can also use the alternative keywords provided.

Keyword | Alternative Keywords
AND ANSI APPEND ASCII AUTOCOMMIT BINARY BOOLEAN BY CATALOG CHAR CODESET CODETYPE COLUMNS COMPRESSED CONFIGURATION COUNT CURRENT DATA DATE DB DB2 DDL DEC DECIMAL DEFAULT DELIMITER DTL DUPLICATES EBCDIC EUR EXPORT FILE FOR FORMATTED HEX HILO IF IGNORE IMPORT INSTALLATION INSTREAM INSTREAM FILE INTERNAL INTEGER ISO ISOLATION JIS KEY LANGUAGE LOB INSTREAM FILE LOB OUTSTREAM FILE LOHI LONGFILE MAP COLUMNS MAXRECORDS MAXROWS MESSAGE NOT NULL NUMBER OFF ON OR ORACLE ORDER OTHERWISE OUTSTREAM FILE PACKAGE PAGE PAGES PIPE POS REAL RECORDS REJECT RELEASE RESTART ROUND ROW ROWS SCALE SCHEMA SEPARATOR SEQNO SERVERDB SET SQLMODE STAMP START SQLID SYSDATE SYSTEM TABLE TAPE TERMCHARSET TIME TIMESTAMP TRUNC UID UPDATE USA USAGE USE USER USERKEY USERGROUP VERSION WITH ZONED | INFILE LOB OUTSTREAM FILE, LOB INSTREAM FILE OUTFIELDS OUTFILE


SQL Studio (GUI) (SAP Library - MaxDB Library)

 Entering content frame

Component documentation SQL Studio (GUI)

Purpose

You can use the SQL Studio database tool to access the data in database instances using SQL statements.

SQL Studio has a graphical user interface and you can use this tool in Windows only. However you can use SQL Studio to access a remote computer running a different operating system.

Implementation Considerations

The SQL Studio is a component of the MaxDB software. See the Download section and  Installation Manual for information on where and how to install your MaxDB software.

For more information on the database system, see Concepts of the Database System in the documentation.. For more information on SQL syntax, see SQL Tutorial and the Reference Manual. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

SQL Studio provides the following functions:

· Creating and managing database tables, indexes, and sequences, and managing stored SQL statements, database users, and database procedures with Catalog Manager

· Creating and executing SQL statements in the SQL-Dialog

· Selecting and editing data records as forms with the Form dialog

· Formulating database queries with the help of visual tools in the Visual Query dialog

The SQLCLI and Web SQL Studio database tools have similar features to SQL Studio but a different user interface.


Starting SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting SQL Studio

Procedure

To start SQL Studio, select Start ® Programs ® MaxDB ® SQL Studio.

Starting from the command line

You can also start SQL Studio from the command line. In this case, you can specify options.

...

1. Change to the directory in which the program sqlsto.exe is stored.

2. Enter the following command: sqlsto [<options>]

You have the following options:

-? | Display all command line options
-version | Displays information on the software version
-n <database_computer> | Name of database computer
-d <database_name> | Name of database instance
-u <user_name[,password]> | User name and password See Database System Concepts, Conventions for User Names and Passwords
-c <sql_mode> | SQL Mode Possible values: INTERNAL | ORACLE | ANSI | DB2 If you log on to a database instance (version 7.6 or higher) with SQL Studio, you can only choose the SQL mode INTERNAL or ORACLE. The SQL modes DB2 and ANSI are no longer supported. After you start SQL Studio, you can also change the SQL mode in the User Settings.
-t <trace_file> | Generates a log file for logging SQL statements (see also ODBC Manual)


Opening a Database Session (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Opening a Database Session

Use

Before you can use SQL Studio to access the data in a database instance, you must establish a connection with the database server and log on to the database.

When you do so, you can suppress the timeout behavior of the database if you want to. Over a longer period of time, inactive database connections are therefore no longer automatically terminated.

Procedure

...

1. If you want to suppress the timeout behavior of the database, first activate the No Timeout checkbox in the toolbar.

2. Choose Session ® Connect.

3. Enter the name of the database server and the database instance.

4. Enter your user name and password, and choose OK.

When you enter the user name and password, the system automatically uses upper case. If you want the system to differentiate between upper and lower case, you must put quotation marks around your user name and password. The quotation marks are also necessary if the user name or password includes special characters. Quotation marks must not be used as part of the user name or password itself.

Result

The system establishes a connection with the database. The current session is entered in the recent sessions list.

You can also open a new database session directly in the same window by using the recent sessions list. The current session is then closed.

If you want to open an additional database session in a new window, choose Session ® New SQL Studio.


Recent Sessions List (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Recent Sessions List

Use

You can open a new database session directly from the recent sessions list.

The list contains up to 10 sessions. Depending on your user settings, the password may be stored for these sessions.

Procedure

Choose Session and then the required session.

· If the password was stored for the selected session, the system connects directly to the database.

· If the password was not stored for the selected session, you must enter the password. The system then connects to the database.

This graphic is explained in the accompanying text

You can delete the list of recent SQL Studio sessions if no current session is open. To do this, choose Session ® Clear Recent Sessions.


SQL Studio Screen Areas (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Studio Screen Areas

The SQL Studio screen is divided into five areas. You can modify the size of the individual screen areas.

This graphic is explained in the accompanying text

Content of the Screen Areas

No. | Name of Area | Description
1 | Menu bar | Commands for the current database session
2 | Toolbar | Icons for the main commands
3 | Catalog Manager | Available database objects
4 | Work area | The work area can include the following windows: · SQL Dialog · Form Dialog · Visual Query Dialog · Result Tables
5 | Status Window | Information and error messages


User Settings (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation User Settings

Use

You can personalize the settings in SQL Studio while a session is running. These settings are stored when you exit SQL Studio.

Procedure

To change your settings, choose Session ® Settings.

You can make the following settings:

General

Store Password | The system stores the password that you used at logon for the next logon.
Confirmation for saving SQL Studio Objects | When the dialog window closes, the system asks whether you want to save the newly created SQL Studio object.
Open Form Dialog read only | Form dialogs are opened in read-only mode first.
Remove failed connection attempts from Recent Sessions list | The system deletes the failed attempts from the recent sessions list.
Identifiers in Create Dialogs uppercase | When you create a new SQL Studio object, the system automatically converts the entries to uppercase.

Result Window

Limit for long columns (Bytes) | Maximum number of bytes that can be loaded from the database for a LONG column
Limit for binary zoom (Bytes) | Maximum number of bytes that can be displayed when zooming in the LONG column of a result table
Representation of null value | How the NULL value is displayed
Clipped result view (Internal Mode) | Result set displayed in segments
Replace non chars in long columns | ASCII codes < 32 are replaced by a blank character when LONG columns are displayed.
Copy columns tab separated to clipboard | When results are temporarily stored on the clipboard, the system separates the columns with tabs.
Copy Result with Column Header | When the results are copied, the system also copies the column headers.
Append Exported Data to File | When you export a result table to a file, the content of this result table is attached to the existing file content.
Display Char Byte Column as Hex Values | Data with the data type CHAR BYTE is displayed as hexadecimal digits. If you do not choose this option, the data is displayed in binary format.

Catalog Manager

Selected table types | Specifies which table types are displayed in Catalog Manager
Path for local folder | Path to be used to save SQL Studio Objects in a local folder
Restore catalog state | When you log on to the database again, the last Catalog Manager view is restored.
Convert input for catalog filter to uppercase | The system automatically converts filter entries in Catalog Manager to upper case

Query Dialog

Isolation Level

Isolation level for creating SQL statements

SQL mode

SQL mode for creating SQL statements in the SQL dialog. The INTERNAL SQL mode is always used for the Form dialog and the Visual Query dialog.

If you log on to a database instance (version 7.6 or higher) with SQL Studio, you can only choose the SQL mode INTERNAL or ORACLE. The SQL modes DB2 and ANSI are no longer supported.

Execute Statements Asynchronously

SQL statements are executed asynchronously. You can specify a period of time (in milliseconds) during which SQL Studio is to be inactive while SQL statements are executed.

AutoCommit Mode

Default value for autocommit mode

Fonts

SQL Studio Font | Font type and font size for all text fields, labels, and tree views
SQL Dialog Font | Font type and font size for the SQL dialog
Result Window Font | Font type and font size for the result view
Status Window Font | Font type and font size for the status window

If you have the EXCLUSIVE user attribute, you cannot change the standard settings for the isolation level or SQL mode. In this case, SQL Studio automatically works with the COMMITTED isolation level and in the INTERNALSQL mode.

For an explanation of the user attributes, see the authorization section of the Reference Manual.


Catalog Manager (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Catalog Manager

Catalog Manager is located on the left-hand area of the SQL Studio window. It displays all the directories and database objects for which you have at least read access.

SQL Studio Objects | Stored SQL statements and draft database tables
Tables | Database and system tables, view tables, and synonyms arranged according to user
Indexes | Indexes that have been created for tables, arranged according to table and owner
Number series | Generated number series, arranged by owner
User | All users for which the user who is logged on to the database has owner rights
Database procedures | Database procedures that the user created in the database
Trigger | Triggers that the user created in the database

If you want Catalog Manager to show you certain objects only, specify a filter for the object names. Enter the first few letters of the name that you want to use as a filter, and choose Catalog Manager ® Refresh. However, the filter does not apply to your saved SQL statements and drafts.

To show or hide Catalog Manager, choose View ® Catalog Manager.


SQL Studio Objects (SAP Library - MaxDB Library)

 Entering content frame

Object documentation SQL Studio Objects

You can store SQL statements and drafts of database tables as SQL Studio objects in the database on locally in the Local Folder subdirectory. This means that you can use the objects at a later date.

Creating SQL Studio Objects

· To create a new folder for SQL Studio objects in the database using the Catalog Manager, choose Catalog Manager ® New ® Folder.

· To create SQL statements and store them as SQL Studio objects, use the SQL dialog, the Form dialog or the Visual Query dialog.

· To store drafts of database tables as SQL Studio objects, create the table definition with the Catalog Manager.

This graphic is explained in the accompanying text

You can enter the path for the Local Folder in the user profile settings.

Editing and Executing SQL Studio Objects

· To edit a stored SQL Studio object, select the object and choose Catalog Manager ® Open Object Definition.

· To use a stored SQL Studio object in dialogs or a table definition, select the object. Choose Catalog Manager ® Send Object To and then the relevant dialog type.

· To execute the SQL statements of a stored SQL Studio object directly, select the object and choose Catalog Manager ® Execute. The system displays the result table in a separate window. If an error occurred, an error message is displayed in the status window of the SQL Studio. Depending on your settings, additional information such as the time it took to execute your SQL statements is also displayed there.

Renaming and Deleting SQL Studio Objects

· To rename a stored SQL Studio object, select the object and choose Catalog Manager ® Rename Object.

· To edit a stored SQL Studio object, select the object and choose Catalog Manager ® Drop Object.


Exporting a Database Object Definition (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Exporting a Database Object Definition

Use

You export the definition of a database object, for example, the definition of a table or index.

Procedure

...

1. In Catalog Manager, select the database object whose definition you want to export.

2. ChooseCatalog Manager ® Open Object Definition.

3. Choose the Definition ® Export to SQL Dialog table.

4. From the context menu for the SQL dialog, choose Export File and enter the name and path of the file to which you want to export the definition.

Result

The database object definition is exported as an SQL statement.

Example

If a user called MONA exports the definition for the CUSTOMERtable, the following SQL statement is returned:

CREATE TABLE "MONA"."CUSTOMER"

(

"CNO" Fixed (4,0) NOT NULL,

"TITLE" Char (7) ASCII,

"FIRSTNAME" Char (10) ASCII,

"NAME" Char (10) ASCII NOT NULL,

"ZIP" Char (5) ASCII,

"ADDRESS" Char (25) ASCII NOT NULL,

PRIMARY KEY ("CNO"),

CONSTRAINT "CNO_CONS" CHECK "CNO " > 0,

CONSTRAINT "TITLE_CONS" CHECK "TITLE " IN ('Mr', 'Mrs', 'Company'),

CONSTRAINT "ZIP_CONS" CHECK "SUBSTR(ZIP,1,1)" BETWEEN '0' AND '9' AND

"SUBSTR(ZIP,2,1)" BETWEEN '0' AND '9' AND

"SUBSTR(ZIP,3,1)" BETWEEN '0' AND '9' AND

"SUBSTR(ZIP,4,1)" BETWEEN '0' AND '9' AND

"SUBSTR(ZIP,5,1)" BETWEEN '0' AND '9',

FOREIGN KEY "CUSTOMER_ZIP_IN_CITY" ("ZIP") REFERENCES "MONA"."CITY" ("ZIP") ON DELETE RESTRICT

)


Tables (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Tables

Under Tables, the Catalog Manager displays the database tables, view tables and synonyms that you have access to in accordance with your user settings. The entries are arranged by owner.

You can create and edit database tables. You can create, rename, and delete view tables and synonyms.

· Creating a database table

· Creating a view table

· Creating a synonym

· Displaying the definition of a table

· Changing the definition of a database table

· Displaying the content of a table

· Using a Table in Dialogs or Definitions

· Renaming a table

· Deleting all rows of a table

· Deleting a table


Creating a Database Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a Database Table

Use

You can use SQL Studio to create new database tables in the database to which you are currently logged on. You can use existing database tables or stored SQL Studio objects as a template for new database tables.

Prerequisite

You need to have the necessary user authorizations and the NOT EXCLUSIVE user attribute.

For an explanation of user authorizations and user attributes, see the Database users section of the Concepts of the Database System documentation and the Authorization section of the Reference Manual.

Procedure

...

1. Choose Catalog Manager ® New ® Table Definition.
A window for defining tables opens.

2. To use an existing database table or a saved SQL Studio object as a template for your new database table, choose Table Definition ® Get Table. Select the relevant table or the SQL Studio object, and click OK to confirm.

3. Enter a table name.

4. Perform the following steps:

· Define columns

· Define column constraints

· Define foreign key dependencies

· Define miscellaneous information

5. To re-use or edit your table draft later, save it as an SQL Studio object by choosing Table Definition® Save As.

6. Choose Table Definition ® Create Table. The system creates the new table in the database.

7. To export the SQL statement for creating the database table to the SQL dialog, choose Table Definition ® Export to SQL Dialog.

For information on the syntax of CREATE TABLE statements, see the CREATE TABLE statement section of the Reference Manual.


Defining Columns (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining Columns

Use

This section shows you how to define a table column when you create a database table or change a table definition.

Procedure

...

1. In the Name field, enter a name for the column, and confirm it with Enter.

2. In the Datatype field, select the relevant data type.

3. Depending on the data type, you can specify additional properties:

¡ Dimension (Dim)

¡ Code type(Code)

¡ Column is key column

¡ Columns may not contain NULL values (Not NULL)

¡ Default value for column value (Default)

¡ Uniqueness of column values (Unique)

¡ Comment

· To insert a new column, choose New Column. The new column is added to the end of the table.

· To insert a new column and at the same time copy the definition of existing columns in the same table, select the required columns, and choose Clone Column. The new column is added to the end of the table.

· To insert new columns and copy the definition of existing columns from existing tables, choose Import Column. A window opens, containing all columns defined by the current user. Select one or more columns and choose OK. The new column is added to the end of the table.

· In order to remove a column from the table, select the column and choose Remove Column.

This graphic is explained in the accompanying text

You can change the columns sequence by selecting one or more columns and moving them upwards or downwards using the arrows Ý ß.


Defining Constraints (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining Constraints

Use

This section shows you how to define constraints for table columns when you create a database table or change a table definition. A constraint for the values of a column is composed of one or more conditions that you formulate line-by-line and can link together.

Prerequisites

You have already defined the table columns.

You can only formulate constraints for columns with valid column definitions.

Procedure

1. In the Name field, enter a name for the constraint (optional).

2. In the Column field, select the column that you want to formulate the condition for.

3. In the Predicate field, select a predicate for the condition. To negate the condition, use the NOT operator !. Negation is not possible with relational operators.

4. In the Expression field, enter the relational expression for the condition, and confirm it with Enter.
When you enter the relational expression, you can choose between the following options:

Option | Meaning
Single Value | The expression consists of a single value.
ALL | The condition must be fulfilled with all expressions in the list (Expression List).
ANY | The condition must be fulfilled with at least one expression in the list (Expression List).
DEFAULT | The expression consists of the default value of the column.

5. Enter how the formulated condition is to be linked with the next condition (AND/OR).

If you retrospectively reset the relation type to <none>, all subsequently formulated conditions are deleted immediately.

6. To insert a new constraint, choose New Constraint.

7. To insert new constraints and at the same time copy the definition of existing constraints in the same table, select the required constraints, and choose Copy Constraint.

8. To insert new constraints and copy the definition of existing constraints from existing tables, choose Import Constraint. A window opens, containing all constraints defined by the current user. Select one or more constraints and choose OK to confirm.

9. In order to delete a constraint, select the constraint and choose Remove Constraint.


Defining Foreign Key Dependencies (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining Foreign Key Dependencies

Use

This section shows you how to define foreign key dependencies to other database tables when you create a database table or change the table definition. Foreign key dependencies describe the dependencies between the data of two tables.

Prerequisites

You have already defined the table columns.

Procedure

1. In the field Foreign Key Name, enter the name for the foreign key (optional).

2. In the field Referencing Columns, choose the referencing column, and confirm with Enter.

3. Copy the referenced database table from the Catalog Manager into Reference by using Drag&Drop. Select the column that is referenced and confirm with Enter.

4. In the field On Delete, select how you want the referenced table to behave if a data record in the referencing table is deleted (DELETE rule).

5. In the Comment field, enter a comment (optional).

6. To add a new link, choose New Foreign Key.

7. To insert new links and at the same time copy the definition of existing links of the same table, select the required links, and choose Copy Foreign Key.

8. To insert new links and copy the definition of existing links from existing tables, choose Import Foreign Key. A window opens, containing all links defined by the current user. Select one or more links and choose OK.

9. To delete a link, select it and choose Remove Foreign Key.

For information on the syntax of referential CONSTRAINT definitions, see the referential CONSTRAINT definition section of the Reference Manual.


Defining Miscellaneous Information (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining Miscellaneous Information

When you create database tables or change table definitions, you can make the following additional entries in the Misc field:

Entry | Meaning
Comment | Comment
Duplicates | You can use the DUPLICATES clause to control behavior if key collisions occur.
Statistics | Sample Value specifies how large the portion of data is that is included for optimization of the database strategy.
Temporary Table Ignore Rollback | The table is a temporary table and is saved locally under Temp. For temporary tables, you can specify the option Ignore Rollback.
Identifiers Uppercase | Automatic conversion of table names, column headers and other names into upper case. A change to this setting affects the entire table definition immediately. If you use a database table as a template for the creation of another database table, the user setting is copied from the template.

For information on the syntax of CREATE TABLE statements, see the CREATE TABLE Statement section of the Reference Manual.


Creating a View Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a View Table

Use

You can use SQL Studio to create view tables.

Prerequisites

· If you want the view table to be based on a database query, you first need to save this query as an SQL Studio object.

· You need to have the necessary user authorizations and the NOT EXCLUSIVE user attribute.

For an explanation of user authorizations and user attributes, see the Database users section of the Concepts of the Database System documentation and the Authorization section of the Reference Manual.

Procedure

...

1. Choose Catalog Manager® New ® View Definition.
A window for defining the view table is opened.

2. To use a database table as a basis for the view table, choose View Definition ® Get Table. Choose the relevant database table, and click OK to confirm.

3. To use the result set structure of a stored database query as the basis for the view table, choose View Definition ® Get Stored Query. Choose the relevant database query, and click OK to confirm.

4. Enter a name for the view table.

5. If you want to rename the columns of your view table, enter the new column names in Alias in View.

6. Choose the required options:

Replace Existing View | Replaces the existing view table
Check on Insert or Update | Check the view conditions when changing values
Identifiers Uppercase | Automatically converts table names and column headers into upper case.

7. Choose View Definition ® Create View.

To export the SQL statement for creating the view table to the SQL dialog, choose View Definition ® Export to SQL Dialog.

For information on the syntax of CREATE VIEW statements, see the CREATE VIEW statement section of the Reference Manual.


Creating a Synonym (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a Synonym

Use

You can use SQL Studio to create synonyms for database tables.

Prerequisite

You need to have the necessary user authorizations and the NOT EXCLUSIVE user attribute.

For an explanation of user authorizations and user attributes, see the Database users section of the Concepts of the Database System documentation and the Authorization section of the Reference Manual.

Procedure

1. In Catalog Manager, select the database table for which you want to create a synonym, and choose Catalog Manager ® New ® Synonym Definition.
The system opens a window for defining the synonym.

2. Enter a synonym name and choose whether the synonym is to be private or Public.

3. Choose Synonym Definition ® Create Synonym.

To export the SQL statement for creating the synonym to the SQL dialog, choose Synonym Definition ® Export to SQL Dialog.

For information on the syntax of CREATE SYNONYM statements, see the CREATE SYNONYM statement section of the Reference Manual.


Displaying the Definition of a Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying the Definition of a Table

Use

You can use SQL Studio to display the definition of a database table, view table, or synonym.

Prerequisite

You need to have the required user authorizations.

Procedure

1. In Catalog Manager, select the table whose definition you want to view.

2. Choose Catalog Manager ® Open Object Definition.


Changing the Definition of a Database Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing the Definition of a Database Table

Prerequisites

You need to have the necessary user authorizations and the NOT EXCLUSIVE user attribute.

For an explanation of user authorizations and user attributes, see the Database users section of the Concepts of the Database System documentation and the Authorization section of the Reference Manual.

Procedure

...

1. Select the table and choose Catalog Manager ® Alter Table.
A window for defining tables opens.

2. Make the required changes:

· Define columns

· Define column constraints

· Define foreign key dependencies

· Define miscellaneous information

3. Choose Table Definition ® Alter Table.

To export the SQL statement for changing the database table to the SQL dialog, choose Table Definition ® Export to SQL Dialog.

For information on the syntax of ALTER TABLE statements, see the ALTER TABLE statement section of the Reference Manual.


Displaying the Content of a Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying the Content of a Table

Prerequisites

You need to have the required user authorizations.

Procedure

1. In Catalog Manager, select the table whose content you want to display.

2. Choose Catalog Manager ® Show Content.


Using a Table in Dialogs or Definitions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Using a Table in Dialogs or Definitions

Use

You can copy tables directly from the Catalog Manager into an SQL dialog, a form dialog, or a Visual Query dialog. You can also use tables as the basis for a table definition or view definition.

Procedure

Select the table in the Catalog Manager. Choose Catalog Manager ® Send Object To and then the relevant dialog type.


Renaming a Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Renaming a Table

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

...

1. In Catalog Manager, select the table that you want to rename.

2. Choose Catalog Manager ® Rename Object and enter the new name.


Deleting all Rows in a Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting all Rows in a Table

Prerequisite

You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

...

1. In Catalog Manager, select the table whose rows you want to delete.

2. Choose Catalog Manager ® Delete All Rows

If you delete the rows of a synonym, you also delete the rows of the original database table.


Dropping a Table (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Dropping a Table

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

...

1. In Catalog Manager, select the table that you want to delete from the database.

2. Choose Catalog Manager ® Drop Object.


Indexes (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Indexes

Under Indexes, the Catalog Manager displays all the tables that indexes have been created for. The following options are available:

  • Creating an index
  • Displaying the definition of an index
  • Deleting an index


Creating an Index (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating an Index

Use

You can use SQL Studio to create new indexes for database tables.

Prerequisite

You need to have the necessary user authorizations and the NOT EXCLUSIVE user attribute.

For an explanation of user authorizations and user attributes, see the Database users section of the Concepts of the Database System documentation and the Authorization section of the Reference Manual.

Procedure

...

1. In Catalog Manager, select the database table for which you want to create an index, and choose Catalog Manager ® New ® Index Definition.

2. In the Index Name field, enter a name for the index.

3. In the In Index field, choose Yes for the columns whose values you want to index.

4. To sort the index values in ascending or descending order, choose the ASC or DESC option in the Sort field.

5. To change the sequence of the table columns, select a table column and use the Ý Ý, arrows to move it up or down.

6. Select the required options:

Unique | Ensures that the indexed columns are unique
Index Name Uppercase | Automatically converts table names and column headers into upper case.

7. Choose Table Definition ® Create Index.

8. To export the SQL statement for creating the index to the SQL dialog, choose Index Definition ® Export to SQL Dialog.

For information on the syntax of CREATE INDEX statements, see the CREATE INDEX Statement section of the Reference Manual.


Displaying the Definition of an Index (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying the Definition of an Index

Prerequisites

You need to have the required user authorizations.

Procedure

1. In Catalog Manager, select the index whose definition you want to view.

2. Choose Catalog Manager ® Open Object Definition.


Dropping an Index (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Dropping an Index

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

...

1. In Catalog Manager, select the index that you want to delete.

2. Choose Catalog Manager ® Drop Object


Number Sequences (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Number Sequences

Under Sequences , the Catalog Manager displays all the sequences that were created in the database. The following options are available:

  • Creating a sequence
  • Displaying the definition of a sequence
  • Deleting a sequence


Creating a Sequence (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating a Sequence

Use

You can use SQL Studio to create new sequences in the database.

Prerequisite

You need to have the necessary user authorizations and the NOT EXCLUSIVE user attribute.

For an explanation of user authorizations and user attributes, see the Database users section of the Concepts of the Database System documentation and the Authorization section of the Reference Manual.

Procedure

...

1. Choose Catalog Manager® New ® Sequence Definition.

2. Enter a name for the sequence, and define the required values.

3. Choose Sequence Definition ® Create Sequence.

4. To export the SQL statement for creating the sequence to the SQL dialog, choose Sequence Definition ® Export to SQL Dialog.

For information on the syntax of CREATE SEQUENCE statements, see the CREATE SEQUENCE statement section of the Reference Manual.


Displaying the Definition of a Sequence (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying the Definition of a Sequence

Use

You can use SQL Studio to display the definition of a sequence and the most recently generated value of this sequence.

Prerequisite

You need to have the required user authorizations.

Procedure

1. In Catalog Manager, select the sequence whose definition you want to display.

2. Choose Catalog Manager ® Open Object Definition.


Deleting a Sequence (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting a Sequence

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

1. In Catalog Manager, select the sequence that you want to delete.

2. Choose Catalog Manager ® Drop Object.


Users (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Users

Definition

Under Owned Users, the Catalog Manager displays the users for which you have owner rights. SQL Studio allows you to view information about these users, and rename and delete users.

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

· To display information about a user, select the user name, choose Catalog Manager ® Open Object Definition.

· To change a user name, select it and choose Catalog Manager ®Rename Object.

· To delete a user, select the user name, and choose Catalog Manager® Drop Object.


Database Procedures (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Database Procedures

Definition

Under Procedures, the Catalog Manager displays all the database procedures that were created in the database. You can use SQL Studio to display the definitions of these database procedures, and delete the database procedures.

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations and properties, see the Database users section of the Concepts of the Database System documentation.

Procedure

· To display a database procedure, choose Catalog Manager ® Open Object Definition.

· To delete a database procedure, select it and choose Catalog Manager ® Drop Object.

For information on the syntax of CREATE DBPROC statements, see the CREATE DBPROC Statement section of the Reference Manual.


Trigger (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Trigger

Definition

Under Triggers, the Catalog Manager displays all the triggers that were created in the database. You can use SQL Studio to display the definitions of these triggers, and delete the triggers themselves.

Prerequisites

You need to have the required user authorizations.

For an explanation of user authorizations and properties, see the Database users section in the Database System Concepts documentation.

Procedure

· To display the definition of a trigger, select it and choose Catalog Manager ® Open Object Definition.

· To delete a trigger, select it and choose Catalog Manager®Drop Object.

For information on the syntax of CREATE TRIGGER statements, see the CREATE TRIGGER statement section of the Reference Manual.


SQL Dialog (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SQL Dialog

If you want to create SQL statements directly in SQL, you use the SQL dialog.

The following options are available in the SQL dialog:

· Creating and executing SQL statements

· Setting parameters for SQL statements

· Importing and exporting SQL statements

For information on the syntax and semantics of the SQL statements of the database system, see the Reference Manual.


Creating and Executing SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating and Executing SQL Statements

Use

In the SQL dialog, you can create and save SQL statements in a number of different modes.

Procedure

1. Choose View ® SQL Dialog. The system opens a window for the SQL dialog.

2. The default values that you set in the user settings are used for the SQL mode and the isolation level. If you want to use different values, select a different SQL mode and isolation level in the lower part of the dialog box.

If you log on to a database instance (version 7.6 or higher) with SQL Studio, you can only choose the SQL mode INTERNAL or ORACLE. The SQL modes DB2 and ANSI are no longer supported.

3. You can also change the commit mode in the lower part of the dialog box.

If you have the user attribute EXCLUSIVE, you can select the mode Auto Commit: ON only. For an explanation of the user attributes, see the authorization section of the Reference Manual.

4. Enter your SQL statements.

You can add SQL statements that were already executed during the current database session. Choose SQL Dialog ® Recent Statements. Select the required statement, and choose Get.

This graphic is explained in the accompanying text

The keyword list also supports you in creating SQL statements.

5. To comment out a row, use // or ––at the start of the row.

6. To separate several SQL statements from one another, enter a commented-out separator line.

7. To scroll through the statement history of the database session, choose SQL Dialog ® Previous Statement or SQL Dialog ® Next Statement.

8. You can set parameters for SQL statements.

9. To use or edit your statements again later, save them as SQL Studio objects by choosing SQL Dialog ® Save As.

10. To execute the SQL statements, choose SQL Dialog ® Execute. If you only want to execute some of the displayed SQL statements, select the section that you want to execute and choose SQL Dialog® Execute.

Result

The status line of the statement window indicates whether your SQL statements were executed successfully. If an error occurred, an error message is displayed in the status window of the SQL Studio. Depending on your settings, additional information such as the time it took to execute your SQL statements is also displayed there.

If your SQL statement returns a result table, this is displayed in a separate window.


Keyword List (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Keyword List

Definition

The keyword list contains reserved terms.

Use

The list is available on the SQL dialog and provides list support for creating SQL statements.

To access the list of keywords, choose SQL Dialog ® Show Keyword List.


Setting Parameters for SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting Parameters for SQL Statements

Use

In the SQL dialog, you can set parameters for SQL statements. When you execute the SQL statement for which a parameter has been set, a dialog window opens in which you must enter a value for the parameter.

Procedure

1. When you create an SQL statement, insert square brackets in all the places you want a variable entry to be possible.

2. If you want to formulate a prompt for the dialog window, enter this prompt within the square brackets.

If you want to set parameters for queries for the columns Article No. and Unit Price in the Article table, you can set the following parameters among the selection criteria:

SELECT  "Article No.", "Unit Price" FROM "Article"
WHERE  "Article No." > [article number (from)]
AND  "Article No." < [article number (to)]
AND  "Unit Price" <= [upper price limit]

By setting parameters you can also replace entire sections of an SQL statement.

You can formulate a SELECT statement and add a WHERE condition using a parameter:

SELECT * FROM USERS [Your WHERE condition]

If you specify a comparison value for the data type CHAR, VARCHAR, DATE or TIME, you must enclose the comparison value in single quotation marks.


Importing and Exporting SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Importing and Exporting SQL Statements

Use

You can use the SQL dialog to import and export SQL statements as ASCII text files.

Procedure

From the context menu for the SQL dialog, choose Import File or Export File.


Form Dialog (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Form Dialog

You use the Form dialog if you want to display, select, and edit data records from tables in a screen display.

The following options are available in the Form dialog:

· Executing a Form dialog

· Selecting data records using search conditions

· Changing data records

· Inserting data records

· Deleting a data record

· Importing and exporting LONG columns

If you want to create statements directly in SQL or want to use database options other than the editing of data records, use the SQL dialog.


Executing a Form Dialog (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing a Form Dialog

Use

You can use the form dialog to execute statements to edit data records at different isolation levels.

Procedure

...

1. Choose View ® Form Dialog. The system opens a window for the Form dialog.

2. Depending on your user settings, at first you are in read only or in change mode. If you want to change the dialog mode, activate or deactivate the Read Only selection in the lower part of the dialog box.

3. The default value that you set in the user settings is entered for the isolation level. If you want to use a different isolation level, select the relevant isolation level in the lower part of the dialog box.

4. Choose Form Dialog ® Get Table. Select the table that you want to edit, and choose OK to confirm.
The first data record is displayed in the left half of the window. You can use the arrows < > to scroll through the data records. In change mode, you can change, insert, or delete data records. In the right half of the window, you can enter search conditions for selecting specific records.

To hide the window area for entering the search conditions, deselect the Filter flag.

5. To view the data records as a list, choose Report. To switch back to the screen display, choose Record.

6. To use or edit the dialog again later, save it as an SQL Studio object by choosing Form Dialog ® Save As.

7. To export the SQL statement of your Form dialog to the SQL dialog, choose Dialog ® Export to SQL Dialog.


Selecting Data Records Using Search Conditions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Selecting Data Records Using Search Conditions

Use

To display only certain data records of a table, you can enter search conditions in the Form dialog.

Procedure

1. To display the window area for entering the search conditions, select the Filter flag.

2. Formulate your search conditions for the appropriate table columns. Select the required predicate, and enter comparison values or relational expressions.

3. Enter how the formulated search condition is to be linked with the next search condition.

4. Choose Refresh. SQL Studio downloads the data records from the database.

For information on the syntax of predicates, see the predicate section of the Reference Manual.


Changing Data Records (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing Data Records

Prerequisites

· You need to choose change mode in order to execute the Form dialog.

· You need to have the required user authorizations.

For an explanation of user authorizations, see the Database Users section of the Database System Concepts documentation under

Procedure

1. On the screen display, scroll to the data record that you want to change.

2. Enter your changes.

The names of key columns are displayed in bold.

You can import and export the contents of LONG columns.

3. Click Update to confirm. SQL Studio transfers the changes to the database.


Inserting Data Records (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Inserting Data Records

Use

You can use the Form dialog to insert new data records in tables on a screen display.

Prerequisites

· You need to choose change mode in order to execute the Form dialog.

· You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Concepts of the Database System documentation.

Procedure

...

1. In the screen display, choose Form Dialog ® New. An empty input form opens.

2. Enter your data. Note the following points when doing this:

¡ The names of key columns are displayed in bold.

¡ For a NULL value, enter the NULL value displayed according to your user settings (?, for example).

¡ If you leave a field blank when you insert a data record, the system interprets this as follows:

§ If a DEFAULT value is defined for the relevant column, this value is copied to the database table.

§ If there is no DEFAULT value defined for the relevant column, the NULL value is copied to the database table.

¡ You can import and export contents from LONG columns.

3. Choose Insert. SQL Studio stores the new data record in the table.
An additional input form opens. You can enter further data on this form directly and insert this as data records.

4. If you do not want to insert any more data records, deselect Form Dialog® New.

5. To view the new data records in a list, choose Refresh and then Report.

When inserting data records, you can use an existing data record from the same table as a template. Scroll to this data record, enter your changes, and choose Insert. The data record is inserted in the table as a new data record.


Deleting a Data Record (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting a Data Record

Prerequisites

· You need to choose change mode in order to execute the Form dialog.

· You need to have the required user authorizations.

For an explanation of user authorizations, see the Database users section of the Database System Concepts documentation under

Procedure

1. On the screen display, scroll to the data record that you want to delete.

2. Choose Delete.

SQL Studio deletes the data record from the database immediately.


Importing and Exporting LONG Columns (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Importing and Exporting LONG Columns

Use

You can use the Form dialog to import the content of LONG columns from a file or the clipboard, and export them to a file or the clipboard.

Procedure

1. To import the content of a LONG column from a file, click the input field of this column in the screen display, and choose Form Dialog ® Import Long ® Import from File.

2. To import the content of a LONG column from the clipboard, click the input field of this column in the screen display, and choose Form Dialog ® Import Long ®Import Text from Clipboard.

3. To export the content of a LONG column to a file, click the input field of this column in the screen display, and choose Form Dialog ® Export Long ® Export to File.

4. To export the content of a LONG column to the clipboard, click the input field of this column in the screen display, and choose Form Dialog ® Export Long ® Export to Clipboard as Text.


Visual Query Dialog (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Visual Query Dialog

If you want the system to provide you with visual support when you formulate database queries, you can use the Visual Query dialog.

The following options are available in the Visual Query dialog:

· Creating and executing a Visual Query

· Linking table columns with JOINS

· Entering search conditions

· Setting parameters for search conditions

· Defining a result view

If you want to create statements directly in SQL or want to use other database options in addition to database queries, use the SQL dialog.


Creating and Executing a Visual Query (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating and Executing a Visual Query

Use

In the Visual Query dialog, you can create and save SQL statements on a number of different isolation levels.

Procedure

...

1. Choose View ® Visual Query. The system opens a window for the Visual Query dialog. The window consists of the following areas:

¡ The top half of the window is the area for selecting tables.

¡ The bottom half of the window is the area for defining the result.

2. The default value that you set in the user settings is entered for the isolation level. If you want to use a different isolation level, select the relevant isolation level in the lower part of the dialog box.

3. Choose Visual Query ® Get Table. Select the table that you want to use in your database query, and choose OK to confirm. In this way, you can copy up to 16 tables to the area for selecting tables. For each of the tables copied, the system opens a window containing the names of the table columns.

¡ To rearrange the tables, choose Visual Query ® Arrange Tables or Visual Query ® Cascade Tables.

¡ To remove a table from the table selection, close the relevant window.

¡ To remove all tables from the table selection, choose Visual Query ® Clear Window.

4. Select the names of the table columns that your database query relates to, and use the Drag&Drop function to copy them to the area for defining the result.

If you enter *, you copy all table columns of a table into the area for defining the result. To remove a table column from the result definition, select the column and choose Visual Query ® Delete Column.

5. You can link table columns with JOINS, enter search conditions for the data records, and define the result view.

6. To use or edit your Visual Query again later, save it as an SQL Studio object by choosing Visual Query ® Save As.

7. To execute the database query that you created with Visual Query, choose Visual Query ® Execute.

8. To export the SQL statements of your Visual Query to the SQL dialog, choose Visual Query ® Export to SQL Dialog.

Result when Executing a Visual Query

The status line of the statement window indicates whether your SQL statements were executed successfully. If an error occurred, an error message is displayed in the status window of the SQL Studio. Depending on your settings, additional information such as the time it took to execute your SQL statements is also displayed there.

If your database query returns a result table, this is displayed in a separate window.


Linking Table Columns with JOINS (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Linking Table Columns with JOINS

Use

You can use the Visual Query dialog to link table columns with JOINS in database queries.

For information on the syntax of JOINS, see the JOIN predicate section of the Reference Manual.

Prerequisites

When you created the Visual Query, you copied the tables containing the columns you want to link together to the area for selecting tables.

Procedure

1. In the table selection, select the table column that you want to link, and choose the Drag&Drop function to link it to the relevant column in the other table. The system displays a connecting line between the two table columns.

2. To specify the JOIN in more detail, select it, and choose Show Join Definition in the context menu. The system opens a window for the JOIN definition. Select the JOIN type and relational operator, and choose OK.

3. To delete a JOIN, select it and choose Delete Join in the context menu.

If you copy the same table to the table selection twice, SQL Studio assigns an alias name. In this way, you can create SELF JOINS.


Entering Search Conditions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Entering Search Conditions

Use

In the Visual Query dialog, you can enter search conditions when you formulate your database query.

Prerequisites

When you created the Visual Query, you copied the table columns that your database query relates to into the area for defining the result.

Procedure

1. In the relevant table column, enter your search condition in the Predicate field.
You can set parameters for the search condition .

If you specify a search condition for a column with the data type CHAR, VARCHAR, DATE or TIME, you must put the relational expression between single quotation marks.

2. You can formulate several search conditions with AND links or OR links. If you want to use one column several times to formulate search conditions, but only want to display it once, you can hide it in the result view.

· To formulate several search conditions with AND links, enter these conditions in the same row.

· To formulate several search conditions with OR links, enter each of these conditions in a new row.

For information on the syntax of search conditions and predicates, see the search condition and predicate sections of the Reference Manual.


Setting Parameters for Search Conditions (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting Parameters for Search Conditions

Use

In the Visual Query dialog, you can set parameters for search conditions for database queries. When you execute the database query a dialog window then opens in which you must enter a value for the parameter.

Procedure

1. When you create a search condition, insert square brackets in all the places you want a variable entry to be possible.

2. If you want to formulate a prompt for the dialog window, enter this prompt within the square brackets.

You can set parameters for the search condition for the Order_No column of the table Purchase orders as follows:
=[order number:]


Defining the Result View (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining the Result View

Use

In the Visual Query dialog, you can specify how SQL Studio displays the result of your database query.

Prerequisites

When you created the Visual Query, you copied the table columns that your database query relates to into the area for defining the result.

Procedure

1. To assign a synonym to a column name, enter the name of the synonym in the Synonym line.

2. To hide a column in the result view, choose No in the Visible line of the relevant column.

This is particularly useful if you only need the column in order to formulate search conditions.

3. To group the results according to the column values, choose Yes in the Group line of the relevant column.

You can use this grouping feature to define average values, maximum values, minimum values, totals, and the number of found data records in the result view.

4. To sort the data records in ascending or descending order, in the Order field, select Ascending or Descending in the column that you want to use for sorting.


Result Tables (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Result Tables

SQL Studio displays the results of each database query in a separate area of the window. You can use the navigation functions in the context menu of a result to scroll through the result table.

The following options are also available:

  • Adjusting the result view
  • Saving a result

If you execute several SQL statements at once in the SQL dialog , several individual result tables are generated. You can use the selection list in the status line of the result window to switch between these result tables.


Adjusting the Result View (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Adjusting the Result View

Use

You can display the result table in segments or consecutively. You can rename or hide columns, or fix (freeze) them in the result table to make scrolling easier, and you can change the font of the result table.

Procedure

1. To always display the result table in segments, choose Clipped Result View in the user settings.
In the SQL dialog and the Visual Query dialog, you can change this setting for the current dialog window. To do this, choose SQL Dialog ® Clipped Result View or Visual Query ® Clipped Result View.

2. To rename, hide or fix columns, choose Customize in the context menu for the result. Make the following settings:

¡ Change the column names, if required.

¡ Change the Visible setting for the individual columns, if required.

¡ In Fixed Columns, enter the number of columns that you want to fix, starting from the left.

Confirm your settings with OK.

3. To change the font of the result table, choose Font in the context menu for the result. Select the required font, and confirm with OK.


Saving a Result (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Saving a Result

Use

In the SQL mode INTERNAL, you can save the complete result of a database query as a text file, or export it to Microsoft Excel. You can save individual cells as a text file, or display them in a separate zoom window.

Procedure

· To save the complete result table as a text file, choose Export Result to ® File in the context menu for the result.
Depending on your user settings, the content of the result table is attached to the existing file content, or a new file content is generated.
When SQL Studio saves the result, it separates the columns with tabs, and the rows with line breaks. Column contents with the datatype CHARACTER or LONG are cut off after 16 characters. Characters that cannot be displayed are replaced by blanks.

· To export the complete result table to Microsoft Excel, choose Export Result to ® Excel in the context menu for the result.
Microsoft Excel opens automatically, and transfers a maximum of 1024 bytes per cell. Data with type CHARACTER are cut off after 1021 bytes.

· To save a cell as a text file, choose Export Cell to ® File.
Depending on your user settings, the content of the result table is attached to the existing file content, or a new file content is generated.

· To display a cell in a separate zoom window, choose Export Cell to ® Zoom Window.In the user settings you can decide how many bytes are displayed in the zoom window.

Exporting and/or displaying the contents of cells is particularly helpful for column contents that have data type LONG.


Status Window (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Status Window

In the status window on the lower part of the screen of the SQL Studio, the system displays information such as error messages or the time it takes to execute particular SQL statements.

You can search for words or terms, copy the text in the status window, or export it as a text file.

The following options are also available:

· If, in addition to error messages, you want to see information about your actions in the SQL Studio, choose Status Window ® Trace All.

· If you want to select the entire content of the status window, choose Status Window ® Select All.

· If you want to delete the content of the status window, choose Status Window ® Clear.

· If you want to show or hide the status window, choose View ® Status Window.


Logging Off from the Database (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Logging Off from the Database

To end a current database connection, choose Session ® Disconnect.

You may want to log off if, for example, you are only authorized to connect to the database once and you want to log on to it from another SAP DB component without ending the SQL Studio program.

If you want to re-logon, or log on with a different user or options, you do not need to log off first. The system automatically closes the existing connection to the database as soon as you log on again with Session ® Connect or via the recent sessions list .


Web SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Web SQL Studio

Purpose

The Web SQL Studio database tool allows you to access the data of a database instance by means of SQL statements.

Web SQL Studio runs in the Web browser and it can be used on all operating systems supported by the database system. You can access database instances on your local computer and on remote computers.

Implementation Considerations

The Web SQL Studio is a Web Tool and a component of the MaxDB software. For information on where to get the MaxDB software and how to install it, see Download; and in the Installation Manual, see Configuring Web SQL / WebDAV.

For more information on the database system, see Concepts of the Database System and for more information on SQL syntax, see SQL Tutorial and the Reference Manual. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

Web SQL Studio offers the following functions and more:

· Starting the Web SQL Studio

· Creating an SQL Statement

· Setting Parameters for an SQL Statement

· Saving an SQL Statement

· Exporting and Importing SQL Statements

The SQL Studio (GUI) and SQLCLI database tools have features similar to those of Web SQL Studio, however they use a different user interface.


Starting Web SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting Web SQL Studio

Prerequisites

· You must install Web SQL Studio. See the Installation Manual, Configuring Web SQL / WebDAV.

If you use the default values during installation, Web SQL is installed with the context path /websql.

· You have started your servlet container. For more information, see the documentation for your servlet container.

Procedure

Enter the following address in your web browser:

http://<servlet_container_computer>:<servlet_container_port>/<context_path>

<servlet_container_computer> | Computer on which the servlet container is installed
<servlet_container_port> | Port used for the servlet container
<context_path> | Web SQL’s context path

Example

You have installed the servlet container Apache Tomcat on computer parma and use the default value 8080 for the port.

http://parma:8080/websql


Opening a Database Session (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Opening a Database Session

Prerequisites

· You must start Web SQL Studio.

· The operational state of the database instance that you want to access is ONLINE.

If the operational state of the database instance is not ONLINE, use the Database Manager to start the database instance.

Procedure

...

1. Enter the name of the database instance.

If the database instance is located on a remote computer, enter the name of this remote computer under Server Name.

2. Enter your user name and password, and choose Logon.

The database system converts all letters to uppercase. To input lowercase letters and special characters, enclose your entry in quotation marks. See Database System Concepts, Conventions for User Names and Passwords.

Result

The main Web SQL Studio site is displayed (see Screen Areas).


Screen Areas (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Screen Areas

Use

Web SQL Studio is divided into several screen areas.

This graphic is explained in the accompanying text

Contents of the Screen Areas

No. | Area name | Description
1 | Header | Information about the current database session
2 | Connection data | Options for executing SQL statements Buttons for connecting/disconnecting with the database instance
3 | WebDAV | WebDAV document stores
4 | Saved SQL statements |
5 | SQL dialog | Creating SQL statements
6 | Result window | Results of the SQL statements


Creating an SQL statement (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Creating an SQL statement

Use

You want to create an SQL statement.

Prerequisites

You need to open a database session.

Activities

You enter your SQL statements in the SQL dialog window.

The SQL Tutorial provides a brief introduction to SQL. The Reference Manual describes SQL syntax in detail.

The following options are available in the SQL dialog window:

· To comment out a row, use // or –– at the start of the row.

· To separate several SQL statements from one another, enter a commented-out separator line.

CREATE SCHEMA hotel
//
SET CURRENT_SCHEMA = hotel

· To delete all the contents of the SQL dialog window, choose Clear.

· To display statements that have already been executed in this database session, choose Prev Statement or Next Statement.

See also:

· Executing an SQL Statement

· Setting Parameters for an SQL Statement

· Saving an SQL Statement


Setting Parameters for an SQL Statement (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting Parameters for an SQL Statement

Use

You can set parameters for SQL statements. When you execute an SQL statement for which parameters exist, the system displays a dialog box where you have to enter a value for the parameter.

Procedure

  1. When you create the SQL statement, insert square brackets in all the places where you want the user to enter variables.
  2. If you want to formulate a prompt for the dialog box, enter this prompt within the square brackets.
  3. By setting parameters you can also replace entire sections of an SQL statement.


Saving an SQL Statement (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Saving an SQL Statement

Prerequisites

You need to create an SQL statement.

Procedure

...

1. In the left side of the window, select the folder into which you want to save the SQL statement.

2. Choose Save in Selected Folder.

3. Enter a name, and confirm your entry.


Editing a Saved SQL Statement (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Editing a Saved SQL Statement

Use

You can use Web SQL Studio to open, edit, and execute SQL statements.

Prerequisites

· You have opened a database session.

· You have the required user authorizations for editing the SQL statement.

For an explanation of user authorizations and user attributes, see the Authorization section of the Reference Manual.

Procedure

...

1. To open a saved SQL statement, expand the relevant folder on the left-hand side, and select the SQL statement. The system displays the statement in the SQL dialog window.

2. Edit the statement in the SQL dialog window.

3. Choose Save.

Web SQL Studio accesses the same dataset as SQL Studio. All the folders that were created with SQL Studio, and all the saved SQL Studio objects are also visible in Web SQL Studio. One exception is the Local Folder.

If you open objects that were created in SQL Studio with Form Dialog or Visual Query, or that are table definitions, the system displays the underlying SQL statement. You can only save this statement under a new name. To do this, select a folder, and choose Save in Selected Folder. Enter a name for the SQL statement, and choose OK.

Under Type on the right-hand side next to the SQL dialog window, you can see the object type of the statement that you opened.


Executing an SQL Statement (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing an SQL Statement

Use

You can use Web SQL Studio to execute new or saved SQL statements. Before you execute an SQL statement, you can select its commit mode, SQL mode, and isolation level.

Prerequisites

You have created a new SQL statement or edited a saved SQL statement. The system displays the statement that you want to execute in the SQL dialog window.

Procedure

...

1. On the right-hand side next to the SQL dialog window, select the relevant modes and the isolation level for executing the statement.

2. Choose Execute.

Result

· If your SQL statement returns a results table, the system displays this table in the lower screen area.

· If you executed multiple SQL statements simultaneously, you can browse the result tables by using the dropdown menu.

· If your SQL statement does not return a results table, the system displays information in the results window about whether your statement was executed successfully.


Exporting and Importing SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Exporting and Importing SQL Statements

Use

You want to export a saved SQL statement to a file, or export an imported SQL statement from a file.

Prerequisites

You need to open a database session.

Exporting a Saved SQL Statement to a File

...

1. Select the saved SQL statement in the left area of the window.

2. Choose Export.

3. Save the SQL statement to a file.

Importing SQL Statements from a File

...

1. In the left side of the window, select the folder into which you want to save the SQL statements.

2. Choose Import.

3. Click Browse to select the file containing the SQL statements to be imported.


Ending Web SQL Studio (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Ending Web SQL Studio

...

1. To end the database session, choose Logoff.

2. Then close the Web browser.


SQLCLI (SAP Library - MaxDB Library)

 Entering content frame

Component documentation SQLCLI

Purpose

You can use the SQLCLI database tool to enter and execute SQL statements, execute database procedures and query information about the database instance. You can use SQLCLI interactively or import commands from a file and execute them in the background.

SQLCLI is a command row tool and can be used for all operating systems supported by the database system. You can access database instances on your local computer and on remote computers.

The database tools SQL Studio and Web SQL Studio provide similar functions to SQLCLI but have a different user interface.

Implementation Considerations

The SQLCLI is a component of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

· Executing SQL Statements

· Executing Database Procedures

· Requesting Information About the Database Catalog

· Executing Shell Commands

The executing commands section contains a description of the command syntax and the options available to you as you work with the SQLCLI.

See also:

Overview of the Call Options

Overview of the SQLCLI Commands

Syntax Notation

Variables and Examples


Logging on to a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Logging on to a Database Instance

Use

To use the SQLCLI interactively (in session mode), log on to a database instance as a database user:

Prerequisite

The specified user is a database user.

One Step Logon

Log on to the database instance:

sqlcli [<options>] -d <database_name> -u <database_user>,<database_user_password>

<options> | Call options for the SQLCLI program
<database_name> | Name of the database instance
<database_user> | Name of the database user See Database System Concepts, Conventions for User Names and Passwords
<database_user_password> | Password of the database user

One step logon to the database instance DEMODB on the computer PARMA as database user MONA with the password RED:

sqlcli -n PARMA -d DEMODB -u MONA,RED

To log on using a user key <user_key>, enter the following command:

sqlcli [<options>] -U <user_key>

Two Step Logon

Start the SQLCLI:

sqlcli [<options>]

Connect to the database instance:

\c [<options>] -d <database_name> -u <database_user>,<database_user_password>

To disconnect from the database instance, enter the command \di.

Result

You are logged on to the database instance and can now execute commands interactively.


Executing Commands (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing Commands

Use

You execute an SQL statement, database procedure or special SQLCLI command in the SQLCLI (see Overview of the SQLCLI Commands).

Prerequisites

Some commands require you to be logged on to the database instance.

Executing an Individual Command in Interactive Mode (Session Mode)

...

1. Start the SQLCLI program. You can use call options <options>.

sqlcli [<options>]

2. Enter the command.

<command>

You can also enter commands in multiple row mode or edit commands in an external file.

Start the SQLCLI program and log on to the database instance DEMODB as user MONA with the password RED:

sqlcli -d DEMODB -u MONA,RED

Display general information about the database instance:

\s

host : localhost
database : demodb
xuserkey :
user : MONA
kernel version: KERNEL 7.6.00 BUILD 009-103-092-269
sapdbc version: libSQLDBC 7.6.0 BUILD 009-103-092-248
unicode : NO
default code : ASCII
sql mode : INTERNAL
autocommit : ON

You can find further information in the following sections:

Executing SQL Statements

Executing Database Procedures

Requesting Information About the Database Catalog

Executing Shell Commands

Executing an Individual Command in Command Mode

...

1. Call the SQLCLI and enter the command directly.

sqlcli [<options>] <command>

sqlcli -d DEMODB -u MONA,RED \s

If you want to enter an SQL statement or a database procedure as a command, put the SQL statement/database procedure in quotation marks.

sqlcli –d DEMODB –u MONA,RED ″select CNO,TITLE,FIRSTNAME,NAME,ZIP from HOTEL.CUSTOMER″

The SQLCLI executes the command and then ends itself.

Executing Several Commands from a Batch File

· If you are in interactive mode, enter the path and name of the batch file <file> from which the SQLCLI is to import the command as follows:

\i <file>

· If you are working in command mode, enter the path and name of the batch file <file> as follows when you log on to the database instance:

sqlcli [<options>] -i <file>

See also:

Exporting a Result to a File


Multiple Row Mode (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Multiple Row Mode

Use

This mode enables you to enter long commands for several rows. SQLCLI stores multiple row commands in an internal command buffer.

Prerequisites

You run the SQLCLI program in multiple row mode: You have the following options for activating the multiple row mode:

· Call option: sqlcli [<options>] -m

· SQLCLI Command: \mu ON

Activities

To start a new row in multiple row mode, choose Enter.

To execute the command, either close the last row either by entering a semicolon and choosing Enter or enter the command \g.

Example

Logging on to the database instance DEMODB as user MONA with the password RED in multiple row mode:

sqlcli -d DEMODB -u MONA,RED

Entering a multiple row SQL statement:

select
*
from
HOTEL.CUSTOMER

Executing the SQL statement:

\g

See also:

Editing Commands in an External File

Executing Commands


Command Buffer (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Command Buffer

Use

If you call the SQLCLI program in multiple row mode, SQLCLI stores all commands in an internal command buffer.

Activities

· Displaying the contents of the command buffer: \p

· Deleting the contents of the command buffer: \r

· Editing Commands in an External File

· Executing the command buffer: \g


Editing Commands in an External File (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Editing Commands in an External File

Use

If you enter a long command, you can make changes to this command at a later stage by editing the command buffer in an external file.

Prerequisites

You have already executed a command.

Procedure

...

1. To load the contents of the command buffer to an external file, enter the following command:

\e [<file>]

¡ Enter the complete file path and name <file>.

¡ If you do not specify a file, SQLCLI generates a temporary file.

The file is opened in an editor. To determine which editor will be used, the SQLCLI evaluates the environment variables SQLCLI_EDITOR, EDITOR and VISUAL in succession. If you have not set any of these environment variables, the Notepad editor is used in Microsoft Windows and the vi editor in Linux/Unix. For information on setting the environment variables, see your operating system documentation.

2. Make the desired changes in the file.

3. Save the file in the editor and close the file and editor.

Result

You have changed the contents of the command buffer and can now execute the changed command with the command \g.

See also:

Multiple Row Mode

Batch File


Batch File (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Batch File

Definition

The SQLCLI can import commands from a batch file and process them in the background; see Executing Commands.

Structure

The individual commands are in individual rows and separated by a separator.

You can specify the separator used in the batch file between two commands using the -c <separator> call option. The default value is //

Do not enter additional spaces in the batch file. The following two separators, for example, are not identical for the database system:

//

<blank>//

Example

CREATE TABLE city
(zip CHAR (5) KEY CONSTRAINT zip BETWEEN '10000' AND '99999',
name CHAR(20) NOT NULL,
state CHAR(2) NOT NULL)
//
CREATE TABLE customer
(cno FIXED (4) KEY CONSTRAINT cno BETWEEN 1 AND 9999,
title CHAR (7) CONSTRAINT title IN ('Mr', 'Mrs', 'Company'),
firstname CHAR (10) ,
name CHAR (10) NOT NULL,
zip CHAR (5) CONSTRAINT zip BETWEEN '10000' AND '99999',
address CHAR (25) NOT NULL,
FOREIGN KEY (zip) REFERENCES city ON DELETE RESTRICT)
//
\dt customer
//
COMMIT

In this example, AUTOCOMMIT mode is deactivated. To ensure that the SQLCLI executes the SQL statements immediately after the batch file has been imported, the batch file must contain an explicit COMMIT.

Default value of the database system: activated AUTOCOMMIT mode


Exporting a Result to a File (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Exporting a Result to a File

Use

You export the result of commands to a <file>.

Prerequisites

You are logged on to a database instance.

Procedure

...

1. \o <file>

Enter the full path of the file.

2. Enter the command whose result is to be exported to the <file>.

<command>

To enter multiple commands in succession, choose Enter after each command.

3. To end the export, enter exit.

Example

Logging on to the database instance DEMODB as user MONA with the password RED:

sqlcli -d DEMODB -u MONA,RED

Creation of the file c:\tmp\export.txt into which the SQLCLI is to export the result:

\o c:\tmp\export.txt

Entry of the first command:

\ds

Entry of the second command (SQL statement):

select * from HOTEL.CUSTOMER

Exiting the export procedure:

exit

The customer.txt file now contains the following contents:

| Schema name | Owner name |

| ----------- | -------------------------------- |

| DBADMIN | DBADMIN |

| DBM | DBM |

| DOMAIN | DBADMIN |

| HOTEL | MONA |

| MONA | MONA |

| MSGMAN | MSGMAN |

| OMS | DBADMIN |

| SYNCMAN | SYNCMAN |

| SYSINFO | DBADMIN |

| _webdav | DBADMIN |

| CNO | TITLE | FIRSTNAME | NAME | ZIP | ADDRESS|
| ------ | ------- | ---------- | ---------- | ----- | -------|
| 3200 | Company | ? | Datasoft | 90018 | 486 Maple Str.|
| 3400 | Mrs | Mary | Griffith | 20005 | 3401 Elder Lane|
| 3500 | Mr | Martin | Randolph | 60615 | 340 MAIN STREET, #7|
| 3600 | Mrs | Sally | Smith | 75243 | 250 Curtis Street|
| 3700 | Mr | Mike | Jackson | 45211 | 133 BROADWAY APT. 1|
| 3900 | Mr | George | Howe | 75243 | 111 B Parkway, #23|
| 4000 | Mr | Frank | Miller | 95054 | 27 5th Str., 76|
| 4400 | Mr | Antony | Jenkins | 20903 | 55 A Parkway, #15|

See also:

Executing Commands


Executing SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing SQL Statements

Use

You execute an SQL statement in interactive mode (session mode).

For information about the other options for executing SQL statements in the SQLCLI, see Executing Commands.

Prerequisite

You are logged on to a database instance.

Procedure

Enter the SQL statement <sql_statement>.

<sql_statement>

Example

Logging on to the database instance DEMODB as user MONA with the password RED and defining the SQL mode INTERNAL

sqlcli -d DEMODB -u MONA,RED -S INTERNAL

Displaying the CNO, TITLE, FIRSTNAME, NAME, and ZIP columns of the HOTEL.CUSTOMER table:

select CNO,TITLE,FIRSTNAME,NAME,ZIP from HOTEL.CUSTOMER

CNO | TITLE | FIRSTNAME | NAME | ZIP
-------+---------+------------+------------+------
3000 | Mrs | Jenny | Porter | 10580
3100 | Mr | Peter | Brown | 48226
3200 | Company | ? | Datasoft | 90018
3300 | Mrs | Rose | Brian | 75243
3400 | Mrs | Mary | Griffith | 20005
3500 | Mr | Martin | Randolph | 60615
3600 | Mrs | Sally | Smith | 75243
3700 | Mr | Mike | Jackson | 45211
3800 | Mrs | Rita | Doe | 97213
3900 | Mr | George | Howe | 75243
4000 | Mr | Frank | Miller | 95054
4100 | Mrs | Susan | Baker | 90018
4200 | Mr | Joseph | Peters | 92714
4300 | Company | ? | TOOLware | 20019
4400 | Mr | Antony | Jenkins | 20903
(15 rows selected)
* Ok

See also:

Executing Database Procedures

For an introduction to the SQL statements available, see the SQL tutorial. For a detailed overview of the syntax and semantics of SQL statements, see the reference manual.


Executing Database Procedures (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing Database Procedures

Use

You execute a database procedure <dbproc_name> in interactive mode (session mode).

For information about the other options for executing database procedures in the SQLCLI, see Executing Commands.

Prerequisites

You are logged on to a database instance with SQLCLI.

Procedure

call <dbproc_name> (<parameter_value_1>,<parameter_value_2>,..., <parameter_value_n)

Enter the parameter values <parameter_value_n> as follows:

· For input parameters, enter the value between inverted commas.

· For output parameters, enter a placeholder. As a placeholder, you can use either a question mark ? or the name of the placeholder in the following notation: :<placeholder_name>

For more information, see Executing SQLCLI Commands.

Example

See SQL Tutorial, Database Procedures

See also:

Reference Manual, Name of a Database Procedure (dbproc_name)


Requesting Information About the Database Catalog (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Requesting Information About the Database Catalog

Use

You use an SQLCLI command to request information about the database catalog of a database instance in the interactive mode.

For information about the other options for executing SQLCLI commands, see Executing Commands.

Prerequisites

You are logged on to a database instance.

Procedure

...

Enter one of the SQLCLI commands listed below.

The SQLCLI returns information about the database objects that correspond to the specified pattern [PATTERN] or [NAME] and to which you have access. If you do not specify a pattern, the system displays information about all the database objects to which you have access.

SQLCLI Commands for Requesting Information About the Database Catalog

Database Object | SQLCLI command | Result
Column | \dc [PATTERN] | · Name of Column · Data type · Column length · Null value permitted or not · Position of column in primary key of table (if applicable)
Index | \de [PATTERN] | · Index name · Columns contained in index · Position of column in index · Specifies whether index is UNIQUE · Sorting
Database Procedure | \dp [PATTERN] | · Schema name · Name of the database procedure · Package to which database procedure is assigned
Schema | \ds [NAME] | · Schema name · Owner
Table | \dt [PATTERN] | · Schema name · Table name · Table type
Database User | \du [NAME] | · Name of the database user · User Properties
View | \dv [PATTERN] | · Schema name · View name · View types

The following syntax applies to the pattern [PATTERN]:

PATTERN | [OWNER.][OBJECT_NAME] or [SCHEMA.][OBJECT_NAME]
OWNER | Owner of the database objects about which you want to request information
SCHEMA | Schema of the database objects about which you want to request information
OBJECT_NAME | Name of the database object

You can use the following placeholders:

· For one character: _

· For any number of characters: %

Example

Requesting information about the columns of the HOTEL.CUSTOMER table:

\dc HOTEL.CUSTOMER

Table "HOTEL.CUSTOMER"
Column Name | Type | Length | Nullable | KEYPOS
------------+------------+--------+----------+-------
ADDRESS | CHAR ASCII | 25 | NO |
CNO | FIXED | 4 | NO | 1
FIRSTNAME | CHAR ASCII | 10 | YES |
NAME | CHAR ASCII | 10 | NO |
TITLE | CHAR ASCII | 7 | YES |
ZIP | CHAR ASCII | 5 | YES |
(6 rows selected)


Executing Shell Commands (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing Shell Commands

Use

You execute a shell command from the SQLCLI program. This enables you, for example, to use the Database Manager CLI to set the operational state of the database instance to ONLINE without exiting SQLCLI.

Prerequisites

You have called the SQLCLI program.

Procedure

\! <shell_command>

Example

You have already called SQLCLI and now realize that the operational state of the database instance DEMODB is still ADMIN.

While logged on as user OLEG with password MONDAY, you can use the Database Manager CLI to set the operational state of the database instance to ONLINE by entering the following command in SQLCLI:

\! dbmcli -d DEMODB -u OLEG,MONDAY db_online


Exiting the SQLCLI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Exiting the SQLCLI

Use

You exit the interactive operating mode of SQLCLI.

Procedure

exit | quit | \q


Overview of the Call Options (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Overview of the Call Options

You can call the SQLCLI program with options:

sqlcli [<options>]

Database session

Call Option | Description
-d <database_name> | Name of database instance
-e | Encrypted data transmission
-n <database_server>[:<port>] | Name of the computer on which the database instance is installed If you do not use the standard port of the X Server, enter your port here. See X Server, Ports and Protocols of the X Server
-r | Forces the execution of SQL statements as statements rather than as prepared statements
-S <SQLMODE> | SQL mode
-u <database_user,database_user_password> | User name and password for logging on to the database instance
-U <user_key> | To log on using user keys
-y <timeout> | Timeout value (in seconds) for the database session If you do not specify this option, the SQLCLI uses the default value of the database instance.
-z | Switches AUTOCOMMIT mode off

Input and Output

Call Option | Description
-c <separator> | When importing commands from a file, the SQLCLI uses the <separator> to separate the individual commands. The default value is //
-i <file> | Imports commands from the batch file <file>
-j | Results are displayed successively (not page by page)
-m | Activates multiple row mode for entering SQLCLI commands
-o <file> | Writes the results to the file <file>
-x | Suppresses additional output such as the number of selected rows in a result set

Formatting Output

Call Option | Description
-A | Returns the result set unformatted (without being filled with spaces) SQLCLI separates columns with commas and rows with line breaks. This output format is particularly suitable for generating comma-separated files (.csf).
-a | Suppresses the output of the column names in the result set
-b <MAXLENGTH> | Defines the maximum number of characters for the output of LONG values. Default value: 10 characters
-f | SQLCLI returns all SQL statements before sending them to the database instance.
-F <separator> | Specifies which string SQLCLI uses as a separator between the columns of the result set Default value:|
-g <null_value> | Specifies the character for null values in the result set Default value: ?
-p <prefix> | Specifies which string is to be output before each row of the result set Default value:|
-P <suffix> | Specifies which string is to be output after each row of the result set Default value:|
-Q | Outputs each column of the result set in a new row

Other Call Options

Call Option | Description
-E <exit_code> | If an error occurs, SQLCLI ends itself and returns the error message <exit_code>.
-h | Displays the help
-t | Outputs debug information
-T <file> | Activates the SQLDBC trace SQLDBC writes the trace data to the file <file>
-v | Displays version information about the SQLCLI program


Overview of the SQLCLI Commands (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Overview of the SQLCLI Commands

The following table shows all the SQLCLI commands that you can enter in interactive operation.

Instead of an SQLCLI command, you can also enter an SQL statement or a database procedure. For an introduction to the SQL statements available, see the SQL tutorial. For a detailed overview of the syntax and semantics of SQL statements, see the reference manual.

Command | Meaning
\! <shell_command> | Executes a shell command
\? \h[elp] | Displays all SQLCLI commands
\a[utocommit] [ON|OFF] | Switches AUTOCOMMIT mode on or off
\al[ign] [ON|OFF] | Switches formatted output of the results of SQL statements on or off
\c[onnect] | Logging on to the database instance
\dc [PATTERN] | Lists all table columns that correspond to the PATTERN SQLCLI lists only those tables to which the current user has access. See Requesting Information About Database Objects
\de [PATTERN] | Lists all the indexes of database objects that correspond to the PATTERN
\di[sconnect] | Logs the user off the database instance
\dp [PATTERN] | Lists all database procedures that correspond to the PATTERN
\ds [NAME] | Lists all schemas that correspond to the NAME pattern
\dt [PATTERN] | Lists all tables that correspond to the PATTERN
\du [NAME] | Lists all database users that correspond to the NAME pattern
\dv [PATTERN] | Lists all views that correspond to the PATTERN
\e[dit] [<file>] | Writes the command buffer to the file <file>, where you can edit it with an editor
\f[ieldsep] <separator> | Uses the <separator> character to separate the individual fields of the result
\g | Executes the commands in the command buffer and returns the results
\i[nput] <file> | Imports commands from the batch file <file>
\m[ode] <INTERNAL|ORACLE|ANSI|DB2> | Changes the SQL mode
\mu[ltiline] ON | OFF | Activates / deactivates multiple row mode
\o[utput] <file> | Exports the result to a file
\pa[ger] | Results are displayed successively (not page by page)
\p[rint] | Displays the current command buffer
\q[uit] | Ends SQLCLI
\r[eset] | Deletes the current command buffer
\ro[wsep] <separator> | Uses the <separator> character to separate the individual rows of the result
\s[tatus] | Displays general information about the database instance


Synchronization Manager (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Synchronization Manager

Purpose

The Synchronization Manager is a collection of various programs and scripts with which you can synchronize the data of a master instance with the data of one or more client database instances. The data of the client database instances is generally a subset of the data of the master database instance. All database instances involved in the synchronization can simultaneously read, update and change data.

Since data is transferred asynchronously in a synchronization, the database instances whose data is being synchronized do not have to be online simultaneously. This means that mobile applications can also use the procedure.

The Synchronization Manager can be used on all operating systems supported by the database system.

Implementation Considerations

The Synchronization Manager is a component of the MaxDB software. For information on where to find MaxDB software and how to install it, see the Download section; and in the Installation Manual, see Installing the Synchronization Manager.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

Technical System Landscape

Data Model

Configuration

Synchronization

Example

Example: Data Model

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples


Technical System Landscape (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Technical System Landscape

The Synchronization Manager comprises the following software:

· Synchronization Manager GUI for configuring and monitoring synchronization

· Message Server with a message database instance

· Synchronization Services on every computer that hosts one of the involved database instances.

The Synchronization Manager GUI, message server and synchronization services communicate with each other through various ports; see Synchronization Ports.

The database instances whose data is to be synchronized are generally located on different computers.

Example

The illustration shows the following example:

· Master instance DBMASTER with synchronization service on computer GENUA

· Client instance DBCLIENT with synchronization service on computer COMO

· Other client instances with synchronization services on other computers

· Message database instance MSGDB on computer PARMA

· Synchronization Manager GUI on computer ROME

Two client instances synchronize their data with a master instance

This graphic is explained in the accompanying text

See also:

Data Model

Configuration


Message Server (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Message Server

Purpose

The message server transmits the synchronization messages that are exchanged between the database instances participating in the synchronization.

The message server communicates with the database instances participating in the synchronization via their synchronization services.

Integration

The message server is a part of the Synchronization Manager.

Features

Configuring the Message Server

Starting and Stopping the Message Server

Logging On To the Message Server

See also:

Technical System Landscape


Synchronization Manager GUI (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Synchronization Manager GUI

Purpose

The Synchronization Manager GUI is a tool with which you configure, manage and monitor the synchronization of multiple database instances.

Integration

The Synchronization Manager GUI is part of the Synchronization Manager.

Features

Configuring the Synchronization Manager GUI

Starting the Synchronization Manager GUI

See also:

Technical System Landscape


Synchronization Services (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Synchronization Services

Purpose

You start a synchronization service for each database instance participating in the synchronization.

Synchronization services perform the following tasks:

· Sending data changes in the database instance to the message server as synchronization messages

· Receiving the synchronization messages from other database instances from the message server

· Changing the corresponding data in the database instance

Integration

Synchronization services are part of the Synchronization Manager.

Features

Configuring Synchronization Services

Starting and Stopping Synchronization Services

See also:

Technical System Landscape


Synchronization Ports (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Synchronization Ports

The Synchronization Manager GUI, Message Server and synchronization services use several ports for communication.

Synchronization Ports

This graphic is explained in the accompanying text

Synchronization Ports

Port | Default Value
Administration port, message server | 7220
JNDI port, message server | 7221
JMS port, message server | 7222
Administration port of the synchronization service | 7223 If you start multiple synchronization services on the same computer, specify a separate port for each synchronization service, e.g. port 7223 for the synchronization service of the master instance and 7224 for the synchronization service of the client instance.

See also:

Technical System Landscape


Data Model (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Data Model

Before you implement a synchronization, plan the technical system landscape and design the data model.

We recommend designing your data model on paper before defining it in the database instances with the Synchronization Manager GUI.

The data model comprises the tables in the master instance (master tables) and the tables in the client instances (client tables) that are involved in the synchronization.

The definitions of the client tables can be different from the definitions of the master tables. Client tables can, for example, belong to a different schema or have different table names or column names. You can synchronize all the columns of a table, or a selection of them. You can also define filters.

All tables to be synchronized must have a primary key.

You may not execute UPDATES for data in the primary key columns in tables that are participating in the synchronization.

To define the relationships between the master and client tables and the synchronization properties, you define replication tables and replication units.

Replication Tables

Define a replication table for each master table whose data is to be synchronized with the data in the client tables. The definition of a replication table contains the following information:

· Master table columns to be replicated

· Column groups (optional)

You can use column groups to define filters for the synchronization. You can also use column groups to prevent different client instances from simultaneously changing different columns in the same data record in the master instance.

· A versioned column group (optional)

If a table contains LONG columns, the Synchronization Manager automatically creates a versioned column group for the table.

Example of a Master Instance with a Master Table, a Replication Table and a Client Instance with a Client Table

This graphic is explained in the accompanying text

Replication Units

You define the synchronization properties in the replication units:

· Type of synchronization (type of replication unit)

· Filters

· Other synchronization properties

You can activate and deactivate replication units.

There is at least one master replication unit for each master instance and at least one client replication unit for each client instance. Each master replication unit has at least one client replication unit assigned to it. You define all replication units in the master instance.

A master replication unit comprises one or more replication tables. A replication table can belong to multiple replication units.

A client replication unit comprises one or more client tables. A client table may only be assigned to one client replication unit (and to no other master or replication unit).

Example of a Master Replication Unit with Two Client Replication Units

This graphic is explained in the accompanying text

The type of a replication unit defines in which direction data changes are transferred. The type of the master replication unit defines the type of the client replication units that belong to it.

Types of Replication Units

Type of the Master Replication Unit | Type of the Client Replication Units | Description
OUT | IN | The contents of the client tables are updated so that they correspond to the changed contents of the master tables.
IN/OUT | IN/OUT or IN | The contents of the client and master tables are synchronized. The client instances first send their changes to the master instance. Collisions are resolved there. Then the master instance sends the changes to all client instances. These changes then overwrite any contradictory changes in the client instances.

Types of Replication Units

This graphic is explained in the accompanying text

Collision Resolution

A collision occurs if multiple database instances taking part in the synchronization simultaneously change the same data record. Simultaneously, in this case, means in the timeframe between two synchronizations performed by the synchronization services of the involved database instances. Collisions can only occur if the master replication unit is of the IN/OUT type. The Synchronization Manager applies fixed rules to determine which change to the data record has priority (collision resolution).

Constraints

We recommend that the definitions of the client tables match the definition of the replication tables, for example that the client tables have no additional columns. The definition of the master tables can differ from the definition of the replication tables.

The following constraints apply for replication and client tables:

· They may not contain foreign key relationships.

· Certain mass updates may not be executed for columns with the UNIQUE column attribute; see the following example.

In the EXAMPLE table, the UNIQUE column ORDER specifies the sequence of the rows. You enter the following SQL statement:

UPDATE EXAMPLE SET ORDER + 1

The database system executes this SQL statement as a mass update: first it raises all the values in the ORDER column by 1 and only then checks if all the values in that column are unique.

In contrast, the Synchronization Manager executes this SQL statement in individual steps and checks if the values in the ORDER column are unique after each step. This leads to a violation of the UNIQUE condition in the ORDER column after the very first UPDATE.

Result

After you have designed your technical system landscape and your data model, you can begin with the configuration.

Example

Example: Data Model

See also:

Technical System Landscape


Example: Data Model (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Data Model

The following example is based on the tables in the SQL Tutorial, see SQL Tutorial, SQL Statements for the HOTEL Schema.

After you have installed the Synchronization Manager, go to the directory <independent_program_path>\app\syncman\example\doc for a description of a detailed example.

The synchronization involves the master instance DBMASTER and the client instance DBCLIENT.

Defining the Synchronization

Database Instance | DBMASTER | DBCLIENT
Replication unit | masterunit1 Type: IN/OUT | clientunit1 Type: IN/OUT
Schema.Table | HOTEL.CITY (Master table) | MONA.TOWN (Client table)
Table columns | ZIP NAME STATE | ZIP TNAME TSTATE
Primary key column | ZIP | ZIP
Columns to be synchronized | NAME STATE | TNAME TSTATE

See also:

Technical System Landscape

Variables and Examples


Configuration (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Configuration

Purpose

You configure all the programs, database instances and services necessary for the synchronization on the computers involved in the synchronization.

Prerequisites

· You have designed a data model.

· You have installed the software for the Synchronization Manager on all computers. See the Installation Manual, Installing the Synchronization Manager.

The Synchronization Manager software is found in the directory <independent_program_path>\app\syncman; see Variables and Examples. This directory is referred to as <syncman> in the following.

Microsoft Windows: <syncman>=C:\Program Files\sdb\app\syncman

UNIX/Linux: <syncman>=/opt/sdb/programs/app/syncman

· You have installed the following software on all computers:

¡ Java Runtime Environment ≥ 1.4, see java.sun.com/jre

¡ j2ee.jar from the Java 2 Enterprise SDK ≥ 1.4, see java.sun.com/j2ee

· You have installed the following software on the computers on which you want to use the Synchronization Manager GUI:

¡ Eclipse SDK or Eclipse Platform Runtime binary package, see www.eclipse.org

Process Flow

We recommend that you always specify computer names when carrying out the configuration. Do not use localhost or IP addresses. IP addresses (except 127.0.0.1) may be assigned dynamically in the network.

...

1. Configuring Java Paths

2. Configuring the Synchronization Manager GUI

3. Configuring Database Instances

4. Configuring the Message Server

5. Configuring Synchronizations

Result

After configuration, you can start the synchronization.


Configuring Java Paths (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring Java Paths

Use

For the Synchronization Manager you configure the paths of your Java installation and the file j2ee.jar.

Procedure

Perform the following actions on all computers on which you want to use the Synchronization Manager GUI, the message server or the synchronization services.

...

1. Enter the following command:

<independent_program_path>\bin\syncmanjconf

2. Enter the path of your Java installation.

3. Enter the path of the j2ee.jar file.

See also:

Configuration

Concepts of the Database System, Variables and Examples


Configuring the Synchronization Manager GUI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the Synchronization Manager GUI

Use

To use the Synchronization Manager GUI, you need multiple Eclipse files in the directory <independent_data_path>\app\syncman\extern.

UNIX/Linux: /var/opt/sdb/data/app/syncman/extern

Microsoft Windows: c:\Documents and Settings\All Users\Application Data\sdb\data\app\syncman\extern

See Concepts of the Database System, Variables and Examples

Files in the directory <independent_data_path>\app\syncman\extern override files with the same name in the directory <syncman> and its subdirectories. Both directories are created when the Synchronization Manager is installed.

Prerequisites

Only for UNIX/Linux: You are logged on to the operating system as an operating system user of the special operating system group <sdba_group>. See Concepts of the Database System, <sdba_group> (Special Operating System Group).

Procedure

Perform the following actions on all computers on which you want to use the Synchronization Manager GUI.

Copy the following Eclipse files from the Eclipse SDK or the Eclipse platform runtime binary package for your operating system to the directory <independent_data_path>\app\syncman\extern.

The following table lists the files from Eclipse 3.1 that are required for the Synchronization Manager GUI. If you use a different Eclipse version, you may need other or additional files.

Required Eclipse Files

UNIX/Linux | Microsoft Windows
org.eclipse.core.runtime_<version>.jar org.eclipse.jface.text_<version>.jar org.eclipse.jface_<version>.jar org.eclipse.osgi_<version>.jar org.eclipse.swt_<version>.jar org.eclipse.text_<version>.jar org.eclipse.swt.gtk.linux.<architecture>_<version>.jar From the package org.eclipse.swt.gtk.linux.<architecture>_<version>.jar extract the following files: · libswt-atk-gtk-*.so · libswt-awt-gtk-*.so · libswt-cairo-gtk-*.so · libswt-gnome-gtk-*.so · libswt-gtk-*.so · libswt-mozilla-gtk-*.so · libswt-pi-gtk-*.so | org.eclipse.core.runtime_<version>.jar org.eclipse.jface.text_<version>.jar org.eclipse.jface_<version>.jar org.eclipse.osgi_<version>.jar org.eclipse.swt_<version>.jar org.eclipse.text_<version>.jar org.eclipse.swt.win32.win32.<architecture>_<version>.jar From the package org.eclipse.swt.win32.win32.<architecture>_<version>.jar extract the following file: · swt-win32-*.dll

Result

You can start the Synchronization Manager GUI.

See also:

Configuration


Configuring Database Instances (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring Database Instances

Use

You configure the database instances that you want to synchronize.

Prerequisites

· You use MaxDB software version 7.6 or higher.

· You have created the database instance that will assume the role of master instance. See:

¡ Database Manager GUI, Creating a Database Instance

¡ Database manager CLI, Creating a Database Instance

· You have created the database instances that will assume the role of client instances.

The synchronization user DBSERVICE with the password SECRET is created when a database instance is created. For security reasons, we recommend changing the password of the synchronization user. Be sure to observe the conventions in Concepts of the Database System, Conventions for User Names and Passwords.

· You have designed a data model.

All tables to be synchronized must have a primary key. You may not execute UPDATES for data in the primary key columns in tables that are participating in the synchronization.

Procedure

...

1. In the master instance, define the master tables, database users, etc. in accordance with your data model.

See:

¡ Reference Manual, Data Definition

¡ SQL Tutorial, Data Definition

2. Insert the data into the master table.

See:

¡ Reference Manual, Data Manipulation

¡ SQL Tutorial, Data Manipulation

¡ Loader, Importing: Commands

3. In the client instances, define the client tables, database users, etc. in accordance with your data model.

Do not fill the client tables with data. Before you start the synchronization, initialize the client tables; the Synchronization Manager then copies all necessary data from the master tables to the client tables.

4. The synchronization user must be able to access all tables involved in the synchronization. Thus the database users who created the tables have to grant the synchronization user all privileges for these tables using the GRANT statement. See the Reference Manual, GRANT statement (grant_statement)

See also:

Technical System Landscape


Configuring the Message Server (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the Message Server

Procedure

...

1. On computer <msg_database_computer>, create a database instance <msg_database>; see

¡ Database Manager GUI, Creating a Database Instance

¡ Database manager CLI, Creating a Database Instance

This database instance does not have to be on the same computer as the message server.

The Synchronization Manager uses the database instance <msg_database> as a message database instance for the message server.

How large you configure the data area of this database instance to be depends on the following factors, among others: the scope of data changes, the number of database instances involved, and the amount of time synchronization messages remain on the message server before all the database instances have retrieved the changes.

For the General Database Parameter MAXUSERTASKS, we recommend configuring a value > 50.

When you create a database instance, you define the database system administrator <sysdba_user>.

When a database instance is created, the database system creates the synchronization user DBSERVICE with the password SECRET. For security reasons, we recommend changing the password of the synchronization user. Be sure to observe the conventions in Concepts of the Database System, Conventions for User Names and Passwords.

2. To configure the message server, enter the following command on the computer on which you want to run the message server:

<independent_program_path>\bin\msgserver config

This starts the interactive configuration program of the message server.

    3.      Depending on your system environment, the configuration program requests some or all of the following information:

¡ Directory in which your Java installation is located

¡ Directory in which the j2ee.jar file is located

¡ Computer <msg_database_computer> on which the message database instance is located

¡ Name of the message database instance <msg_database>

¡ Name and password of the synchronization user DBSERVICE

¡ Administration password for the message server

You can choose this password yourself.

¡ Administration port <msgsrv_admin_port> for the message server (default value: 7220), JNDI port <jndi_port> (default value: 7221), JMS port <jms_port> (default value: 7222).

If these ports are already in use on your computer, use other ports. To find out which ports are already in use, enter the following command: netstat -a

See also:

Starting the Message Server


Configuring Synchronizations (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Configuring Synchronizations

Purpose

When a synchronization is carried out, the synchronization services log the changes made to the involved tables and replicate those changes. To specify which tables are to be replicated in what way, define replication units.

Prerequisites

Configuring Database Instances

Process Flow

...

1. Define replication tables (in the master instance)

2. Define replication units

3. Activate replication units (see Activating and Deactivating Replication Units)

4. Initialize client tables

5. Configure synchronization services

Result

You have completed the configuration and can now start the synchronization.


Defining Replication Tables (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining Replication Tables

Use

You select tables in the master instance that you want to synchronize (replication tables). You can also define column groups for replication tables.

Prerequisites

· You have designed a data model.

· You have configured the Synchronization Manager GUI.

· You have configured the database instances.

· You have logged on to the master instance as a synchronization user using the Synchronization Manager GUI.

· The synchronization user has SELECT, INSERT, UPDATE and DELETE privileges for the tables that are to be synchronized.

Procedure

...

1. You are on the Replication Tables tab page.

Choose Replication Tables ® Add Table...

2. Select the schema to which the tables to be synchronized belong.

3. Select the tables to be synchronized.

4. You can also define column groups for replication tables.

a. To define a new column group for a table, select the table.

b. Choose New Column Group.

c. Enter a name for the column group.

d. Add the desired columns to the field Columns of Columns Group.

e. To version a column group, choose Versioned.

Result

Now you can define replication units for the replication tables.


Defining Replication Units (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining Replication Units

Use

You group the tables to be synchronized in logical replication units. You have to define at least one master replication unit for the master database instance and one client replication unit per client database instance.

Prerequisites

· You have designed a data model.

· You have defined replication tables in the master instance.

· You have started the Synchronization Manager GUI.

· You are logged on to the master database instance as a synchronization user.

Defining Master Replication Units

...

1. You are on the Replication Tables tab page.

To define a master replication unit, choose Replication Units ® Add Master Unit..

Enter the following information:

Field | Value
Unit Name | Name of the master replication unit
Unit Type | Type of the master replication unit

2. To add replication tables, select the replication unit.

Choose Replication Units ® Add Table...

Choose the schema to which the replication tables belong.

Select the desired tables.

3. You can also exclude columns and column groups from the synchronization.

To exclude a column or column group, select the replication table under the Tables node.

In the Column Filter for Replication area, deselect the column or column group.

Defining Client Replication Units

Perform the following steps for all client database instances that are to be involved in the synchronization.

...

1. You are on the Replication Tables tab page.

To define a client replication unit, select the master replication you want the client replication unit to belong to.

Choose Replication Units ® Add Client Unit...

Enter the following information:

Field | Value
Unit Name | Name of the client replication unit
Host | Computer on which the client database instance is located
Database | Name of the client database instance
User | Name of the synchronization user of the client database instance
Password | Password of the synchronization user
Save Password | Specifies whether the Synchronization Manager should save the password The Synchronization Manager saves the password in plain text.
Unit Type | Type of the client replication unit

2. You can also edit the synchronization properties of the client tables. This is necessary if, for example, a table in the client instance has a different name than in the master instance, or if you want to define a filter.

To edit the synchronization properties of a single client table, select that table in the Participant Tables area.

a. In the Participant Tables area, select the desired client table.

b. Choose Edit Table.

c. Edit the synchronization properties of the client table.

Field | Value
Table Schema | Name of the schema that the client table in the client instance belongs to.
Table Name | Name of the client table in the client instance
Master Column | Name of the column in the replication table in the master instance
Column Name | Column name in the client table in the client instance
Constraint Type | Type of filter condition
Constraint Value1 Constraint Value2 | Filter condition values

To change the synchronization properties of multiple client tables simultaneously, select those client tables in the Participant Tables area.

...

a. Choose Set Schema.

b. Specify the schema that the client tables in the client instance belong to.

Result

You have defined replication units.

To use these replication units for synchronization, you have to activate them (see Activating and Deactivating Replication Units).


Activating and Deactivating Replication Units (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Activating and Deactivating Replication Units

Use

For the Synchronization Manager to log the changes in the tables of a replication unit, you have to activate the replication unit. Logging these changes is a prerequisite for the tables of multiple instances to be synchronized.

Prerequisites

· You have defined replication units.

· You have logged on to the message server with the Synchronization Manager GUI.

· You have logged on to the master instance with the Synchronization Manager GUI; see Logging On To a Database Instance.

· You have started the MaxDB X Server.

Activating Replication Units

...

1. You are on the Replication Units tab page.

Select the replication unit to be activated.

Select one of the following commands:

Command | Description
Replication Units ® Activate Master Unit | Activates master replication unit
Replication Units ® Activate Client Unit | Activates client replication unit
Replication Units ® Activate All Units | Activates all replication units

2. If necessary, enter the password of the synchronization user of the respective database instance.

The Synchronization Manager creates shadow tables and other database objects for the synchronization in the involved database instances. These database objects are assigned to the SYNCHRONIZATIONSSERVICE schema.

You may not change or delete these database objects.

If the Synchronization Manager GUI is not able to establish a connection to the message server, it issues an error message stating this. If this occurs, ensure that you have started the message server and that it is connected. Then execute the following command: Replication Units ® Initialize Message Server

The next step is to initialize the client tables.

Deactivating Replication Units

...

1. You are on the Replication Units tab page.

2. Select the replication unit to be deactivated.

Select one of the following commands:

Command | Description
Replication Units ® Deactivate Master Unit | Deactivates master replication unit
Replication Units ® Deactivate Client Unit | Deactivates client replication unit
Replication Units ® Deactivate All Units | Deactivates all replication units


Initializing Client Tables (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Initializing Client Tables

Use

You initialize the client tables of a client instance. The Synchronization Manager copies the data from the respective master tables to the message server. If you start the synchronization service of a client instance, this synchronization service copies this data to the client tables.

Prerequisites

· The client tables contain no data records.

If client tables already contain data records, that data is ignored in the synchronization. When the client tables are initialized, the Synchronization Manager copies data records to the client tables even if they are already in the table.

· The master database instance and the client database instance are both in the ONLINE operational state.

· You have logged on to the message server with the Synchronization Manager GUI.

· You have logged on to the master instance with the Synchronization Manager GUI; see Logging On To a Database Instance.

· You have activated the replication units that are to participate in the synchronization.

Procedure

...

1. You are on the Replication Units tab page.

Select the replication unit whose client tables you want to initialize.

2. Choose Replication Units ® Send Content to Client.

Result

The client tables now contain all the data from the master tables, except for the data that was excluded from the synchronization in the definitions of the replication units.

Now you can configure synchronization services.


Configuring Synchronization Services (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring Synchronization Services

Use

You need one synchronization service for each master instance and each client instance that participates in the synchronization.

Prerequisites

You are logged on to the computer that hosts the database instance <database_name> for which you want to configure the synchronization service.

Procedure

Carry out the following steps for the master instance and all the client instances involved in the synchronization.

...

1. Execute the following command:

<independent_program_path>\bin\syncservice config –d <database_name>

2. Enter the following information:

Property | Value
synchronization user | Name of the synchronization user
synchronization user password | Password of the synchronization user
message server host | Computer on which the message server is running.
synchronization service admin port | Administration port of the synchronization service (the default value is 7223) If multiple synchronization services are started on the same computer, select a separate administration port for each service, such as 7223 and 7224
JNDI port of message server | JNDI port, message server (default value 7221) If you selected a different port than the default value when configuring the message server, enter this port here.
service port of message server | JMS port, message server (default value 7222) If you selected a different port other than the default value when configuring the message server, enter this port here.

See also:

Starting and Stopping Synchronization Services


Starting the Synchronization Manager GUI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting the Synchronization Manager GUI

Prerequisites

Configuring the Synchronization Manager GUI

Procedure

...

1. Enter the following command on the computer on which you configured the Synchronization Manager GUI:

<independent_program_path>\bin\syncmangui

2. If you are starting the Synchronization Manager GUI for the first time and have never started the message server or a synchronization service, the system asks you for the path of your Java installation and the path of the j2ee.jar file from your J2EE installation.

The system saves these entries in the syncman.cfg file. On Microsoft Windows, this file is in the directory <user_home>\sdb; on UNIX/Linux, it is in the directory <user_home>/.sdb.

See also:

Variables and Examples


Logging on to a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Logging on to a Database Instance

Prerequisites

· The database instance is in the ONLINE operational state; see

¡ Database Manager GUI, Monitoring the Operational State

¡ Database Manager CLI, Transferring to the ONLINE Operational State

· You have started the Synchronization Manager GUI.

Procedure

...

1. Choose Session ®Connect to Database...

2. Enter the following information:

Field | Value
Host | Name of the computer on which the database instance is running
Database | Database name
Service User | Name of the synchronization user of the database instance The synchronization user is created when the database instance is created. Default value DBSERVICE
Password | Password of the synchronization user Default value SECRET Be sure to observe the conventions in Concepts of the Database System, Conventions for User Names and Passwords.
SSL Connection | Only in SAP systems Defines whether the connection between the Synchronization Manager GUI and the database instance is encrypted


Starting and Stopping the Message Server (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting and Stopping the Message Server

Prerequisites

· Configuring the Message Server

· The message database instance is in the ONLINE operational state. See:

¡ Database Manager GUI, Starting (Restarting) the Database Instance

¡ Database Manager CLI, Transferring to the ONLINE Operational State

Starting the Message Server

Enter the following command:

<independent_program_path>\bin\msgserver start

Stopping the Message Server

Enter the following command:

<independent_program_path>\bin\msgserver stop

See also:

Variables and Examples


Logging On To the Message Server (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Logging On To the Message Server

Prerequisites

· You have started the message server.

· You have started the Synchronization Manager GUI.

Procedure

...

1. Choose Session ® Connect to Message Server...

2. Enter the following information:

Field | Value
Host | Computer on which the message server is running.
Port | Message server port
Password | Administration password for the message server Be sure to observe the conventions in Concepts of the Database System, Conventions for User Names and Passwords.
SSL Connection | Only in SAP systems Defines whether the connection between the Synchronization Manager GUI and the message server is encrypted


Synchronization (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Synchronization

Purpose

A master database instance and one or more client database instances synchronize their data.

A database instance does not have to be connected to the network on a continuous basis. If you reconnect a database instance to the network, you have to start the synchronization service for that database instance. The synchronization service then updates all the data in the database instance and sends any data changes to the other database instances.

Prerequisites

· You have completed the configuration.

· You have started the message server.

Process Flow

...

1. Start the synchronization service

2. You can now change data in one or more of the database instances.

The synchronization services of the respective database instances send the changes in their database instances to the message server and retrieve the changes from the other database instances from the message server. The synchronization service resolves collisions.


Starting and Stopping Synchronization Services (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting and Stopping Synchronization Services

Use

Synchronization services perform the following tasks:

· Logging all data changes in tables participating in the synchronization

· Sending that data to the message server

· Receiving data changes from other database instances involved in the synchronization

Prerequisites

· You have configured the synchronization services.

· You have started the message server.

· You are logged on to the computer with the database instance <database_name> that is to participate in the synchronization.

Starting the Synchronization Service

Enter the following command for every database instance that you want to participate in the synchronization:

<independent_program_path>\bin\syncservice start –d <database_name>

Stopping the Synchronization Service

Enter the following command:

<independent_program_path>\bin\syncservice stop –d <database_name>

See also:

Variables and Examples

Concepts of the Database System, Conventions for User Names and Passwords


Utilities (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Utilities

Purpose

This documentation describes the following database tools :

· Event Dispatcher: The event dispatcher accepts the events output by the database instance and reacts to them.

· XCONS: Requesting information about database instances

· XUSER: Creation and management of XUSER entries for simplified logon to database tools and interfaces with user keys

The following program is also covered:

· X Server: Database system communication server

Implementation Considerations

The programs are part of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples


Event Dispatcher (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Event Dispatcher

Purpose

You can use event dispatchers to automate administrative tasks.

Event dispatchers monitor database instances. If the database instances monitored by an event dispatcher reach a certain status and trigger an event, the event dispatcher calls a previously-specified program.

The event dispatcher is a command line tool and can be used for all operating systems supported by the database system.

Implementation Considerations

The event dispatcher is a component of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Integration

To activate and deactivate events, use the Database Manager CLI database tool. See Database Manager CLI, Using Events of the Database Instance

The database system uses the event dispatcher implicitly for automatic extension of the data area (DBM command auto_extend) and automatic update of statistics of the SQL optimizer (DBM commandauto_update_statistics).

Features

Event dispatchers can use the following events:

· Concepts of the Database System, Overview of Database Events

· Special Events of the Event Dispatcher

Configuring Event Dispatchers

Automating a Management Task Using an Event Dispatcher

Overview of Event Dispatcher Commands

Example

Example: E-mail Notification After the DATABASEFULL Event

Example: Log Backup After the LOGABOVELIMIT Event

See also:

Concepts of the Database System,

· Automating Management Tasks

· Syntax Notation

· Variables and Examples


Special Events of the Event Dispatcher (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Special Events of the Event Dispatcher

Use

As well as events that serve to automate administration tasks (see Concepts of the Database System, Overview of Database Events), there are also special events of the event dispatcher. These events provide information about the status of the event dispatcher.

The special events of the event dispatcher are always active so you do not need to activate them with the Database Manager CLI.

Special Events of the Event Dispatcher

Name | When does the database instance trigger this event?
DISPINFO:DISPSTART | When a user starts the event dispatcher.
DISPINFO:DISPSTOP | When a user stops the event dispatcher.
DISPWARN:SHUTDOWN | When the database instance has been set to the OFFLINE operational state.
DISPERR:DBCRASH | When the database instance kernel crashes (system breakdown).
DISPERR:CONNLOST | When the event dispatcher loses the connection to the DBM server. If you have started the event dispatcher on the same computer as the database application, this event can also be used to inform you of a breakdown in the network connection between the database application and the database instance.
DISPWARN:MISSEDEVT | When the database instance kernel has sent an event and the event dispatcher does not react to this.
DISPERR:NOEVENTTASK | When it was not possible to start the event dispatcher because there were no more event tasks free. To configure the number of event tasks, use the database parameter _MAXEVENTTASKS, see Concepts of the Database System, Support Database Parameters.

See also:

Overview of Event Dispatcher Commands


Configuring Event Dispatchers (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Configuring Event Dispatchers

Use

You configure event dispatchers.

Activities

· To specify the maximum number of event dispatchers for a database instance, configure the _MAXEVENTTASKS database parameter. This parameter specifies the maximum number of event tasks. Every event dispatcher requires an event task.

See Concepts of the Database System, Support Database Parameters.

The DBM commands auto_extend and auto_update_statistics use an event dispatcher implicitly and each require their own event task.

· To configure an individual event dispatcher, add entries to an event dispatcher configuration file.

See the add command.

See also:

Automating a Management Task Using an Event Dispatcher


Automating an Administration Task Using an Event Dispatcher (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Automating an Administration Task Using an Event Dispatcher

Purpose

You automate an administration task using an event dispatcher.

Prerequisites

You need to have activated the event as appropriate using the Database Manager.

You can find an overview of the events you can activate and deactivate in Concepts of the Database System, Overview of Database Events.

You do not need to activate the special event dispatcher events

Process Flow

...

1. You add a new entry to the configuration file for the event dispatcher using the add command.

If no configuration file as yet exists, the event dispatcher then creates a configuration file when the add command is executed.

2. If you have not yet started the event dispatcher, start the event dispatcher with this configuration file using the start command.

Result

The event dispatcher monitors the database instance.

If the database instance monitored triggers an event, the event dispatcher analyzes the event. If the latter finds an entry in its configuration file, the event dispatcher then calls the program specified and transfers any necessary parameters to it.

Example

Example: E-mail Notification After the DATABASEFULL Event

Example: Log Backup After the LOGABOVELIMIT Event

See also:

Configuring Event Dispatchers

Overview of Event Dispatcher Commands

Concepts of the Database System,

· Automating Administration Tasks

· Overview of Database Events


Example: Log Backup After the LOGABOVELIMIT Event (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Log Backup After the LOGABOVELIMIT Event

If the log area of the database instance DEMODB on the PARMA database computer is more than 80% full, the database instance should trigger the LOGABOVELIMIT event. The event dispatcher should then immediately switch on the automatic log backup.

Prerequisites

· The DBM operator (in the example OLEG with the password MONDAY) must have the DBInfoRead server authorization, see Concepts of the Database System, Server Authorizations for the DBM Server.

· You must have created a backup medium mylogbackup for automatic log backup. See Concepts of the Database System, Backup Media.

Procedure

...

1. You activate the LOGABOVELIMIT event with the Database Manager CLI, assign the priority HIGH for this event and set the value at which the database instance is to trigger the event to 80 (%).

dbmcli -d DEMODB -u OLEG,MONDAY -n PARMA event_set LOGABOVELIMIT HIGH 80

OK

2. You add a new entry to the testconfig.cfg configuration file in the C:\test directory with the add command:

dbmevtdisp add C:\test\testconfig.cfg Name == LOGABOVELIMIT Priority == HIGH Value1 == 80 Command == "dbmcli -d DEMODB -u OLEG,MONDAY –n PARMA autolog_on mylogbackup"

OK

0

3. From your computer, you start the event dispatcher on the PARMA database computer with the following command:

dbmevtdisp start C:\test\testconfig.cfg –l C:\test\test.log –d DEMODB –u OLEG,MONDAY –n PARMA

Event Dispatcher instance 1 running

using configuration file C:\test\testconfig.cfg

event with name DISPINFO:DISPSTART not dispatched (count 0)

Result

An event dispatcher with the ID 1 (instance 1) has been started on the PARMA computer and is now monitoring the DEMODB database instance on the same computer. The event dispatcher logs its actions in the test.log log file.

The event dispatcher triggers the DISPINFO:DISPSTART event every time it is started. As you have not added an entry to the configuration file for this event, you receive the message not dispatched.

See also:

Example: E-mail Notification After the DATABASEFULL Event

Overview of Event Dispatcher Commands


Example: E-Mail Notification After the DATABASEFULL Event (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: E-Mail Notification After the DATABASEFULL Event

If the data area of the database instance DEMODB on the PARMA database computer is full, the database instance should trigger the DATABASEFULL event. An event dispatcher should then call the mail program, which sends an e-mail to the administrator responsible using the e-mail address admin@example.com.

Procedure

...

1. Create a file dbfull.txt on the PARMA database computer in the <user_home>/sdb directory. You enter e-mail text for the administrator in this file.

The DATABASEFULL event is always active. You thus do not need to activate this event with the DBM command event_set.

2. You add a new entry to the testconfig.cfg configuration file in the <user_home>/sdb directory with the add command:

dbmevtdisp add ~/sdb/testconfig.cfg Name == DATABASEFULL Priority == LOW Command == "bash –c \"mail –s 'Database DEMODB on PARMA is full.' admin@example.com < ~/sdb/dbfull.txt\""

OK

1

In order to ensure that the event dispatcher transfers the mail command in full, you mask the double quotation marks before the key word mail and after dbfull.txt.

The event dispatcher cannot start the mail program directly to read the e-mail body from a file but has to call it in a separate shell.

3. You start the event dispatcher from your computer on the PARMA database computer with the authentication data of the DBM operator OLEG using the following command:

dbmevtdisp start ~/sdb/testconfig.cfg –l ~/sdb/test.log –d DEMODB –u OLEG,MONDAY –n PARMA

Event Dispatcher instance 1 running

using configuration file ~/sdb/testconfig.cfg

event with name DISPINFO:DISPSTART not dispatched (count 0)

The event dispatcher has been started on the PARMA computer and is now monitoring the DEMODB database instance on the same computer. The event dispatcher logs its actions in the test.log log file.

The event dispatcher triggers the DISPINFO:DISPSTART event every time it is started. As you have not added an entry for this event to the configuration file, you receive the message not dispatched.

Variant

To enable event dispatchers for various database computers on various database instances to use the same configuration file, replace the name of the database instance and the name of the database computer in the configuration file using the \$DBNAME\$ and \$SERVERNAME\$ variables.

To prevent the shell interpreting these variables as environment variables, mask the variable names.

For more information, see the description for the add command.


Overview of Event Dispatcher Commands (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Overview of Event Dispatcher Commands

Event Dispatcher Commands

Command | Description
add | Adds a new entry to an event dispatcher configuration file
delete | Deletes an entry from an event dispatcher configuration file
list | Displays the contents of an event dispatcher configuration file
start | Starts an event dispatcher
state | Displays the status of all event dispatchers for the database instance
stop | Terminates an event dispatcher
version | Shows information on the software version of the event dispatcher

See also:

Database Manager CLI, Using Events of the Database Instance


add (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation add

Use

You add a new entry to an event dispatcher configuration file. An entry in a configuration file assigns conditions (event categories and other event properties) to a command of the Database Manager CLI or another program. If the event dispatcher that uses the configuration file has already been started, it takes into account the new entry immediately.

Prerequisites

If required, you need to have activated the event with the Database Manager CLI.

You can find an overview of the events you can activate and deactivate in Concepts of the Datsbase System, Overview of Database Events.

The special events of the event dispatcher are always active.

Procedure

dbmevtdisp add <configuration_file> <condition> <command>

<configuration_file> | Configuration file with complete path If this file does not yet exist, the event dispatcher then creates this in the current folder when the add command is executed.
<condition> | Condition that must be fulfilled in order for the event dispatcher to execute the <command>. Syntax: Name == <event_category> [Priority == HIGH|MEDIUM|LOW] [Value1 ==|>=|<=|>|< <NumVal>] [Value2 ==|>=|<=|>|< <NumVal>]
<NumVal> | Values that the event dispatcher compares with the values VALUE1 and VALUE2 that the database system returns whenever an event occurs (additional information on the database status according to event category).
<command> | Command executed when <condition> is fulfilled Syntax: Command == <program> [<parameters>]
<event_category> | Event category You can use the * character as a placeholder.
<program> | Program (and command of this program if required) called whenever the event occurs
<parameters> | Parameters that the event dispatcher transfers to the <program> whenever the event occurs You can use any parameters you like. You can find a list of special predefined parameters in the following table.

The following table lists the predefined parameters you can use in the configuration file of an event dispatcher.

Predefined Parameters

<parameter> | Description
$DBNAME$ | Name of the database instance monitored
$DBMUSERPW$ | Name and password of DBM operator by means of which the event dispatcher logs on to the database instance.
$EVTNAME$ | Event category
$EVTVAL1$ | Initial value VALUE1 returned by the database system whenever the event occurs (additional information on database status, depending on the event category)
$EVTVAL2$ | Second value VALUE2 returned by the database system whenever the event occurs (additional information on database status, depending on the event category)
$EVTDATE$ | Date on which event was triggered
$EVTTIME$ | Time at which event was triggered
$EVTTEXT$ | Description of event
$EVTCOUNT$ | Number of times event has already been triggered
$EVTPRIO$ | Priority of event
$SERVERNAME$ | Database computer

Result

OK
<entry_ID>

<entry_ID> is a numerical ID that identifies the newly-created entry in the configuration file.

You need this ID if you want to delete the entry again from the configuration file.

Example

You create a new entry in the configuration file C:\test\testconfig.cfg. If an event dispatcher is started with this configuration file, this entry has the effect that, if the event dispatcher receives a LOGFULL event, it calls the alarmapp program and transfers the name of the database instance that has triggered the event to this program.

dbmevtdisp add C:\test\testconfig.cfg Name == LOGFULL Command == "alarmapp $DBNAME$"

OK
2

The event dispatcher has allocated the ID 2 to the newly-created entry in the configuration file.

See also:

Overview of Event Dispatcher Commands


delete (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation delete

Use

You delete an entry from an event dispatcher configuration file. Deletion of entry is immediately effective.

Prerequisites

You must have created an event dispatcher configuration file and added entries for this configuration file using the add command.

Procedure

dbmevtdisp delete <entry_ID> <configuration_file>

<entry_ID> | Numerical ID identifying the entry in the configuration file to be deleted The event dispatcher generates this ID when adding entries. To display entries for a configuration file, use the list command.
<configuration_file> | Path and name of configuration file from which the entry is to be deleted

Result

OK

Example

You delete the entry with the ID 2 from the configuration file C:\test\testconfig.cfg.

dbmevtdisp delete 2 C:\test\testconfig.cfg

OK


list (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation list

Use

You display the contents of an event dispatcher configuration file.

Prerequisites

You have created a <configuration_file> for an event dispatcher and generated entries in this configuration file with the add command.

Procedure

dbmevtdisp list <configuration_file>

Result

OK
ID <entry_ID_1>
condition: <condition_1>
command: <command_1>
.
.
.
ID <entry_ID_n>
condition: <condition_n>
command: <command_n>

<entry_ID_i>

Numerical ID identifying the entry in the configuration file

<condition_i>

Condition that must be fulfilled in order for the event dispatcher to execute the <command_i> command.

You can find information on the available database events in Concepts of the Database System, Overview of Database Events.

You can find a list of special event dispatcher events in the section Special Events of the Event Dispatcher.

<command_i>

Command executed when <condition_i> is fulfilled

Example

You display the contents of the configuration file C:\test\testconfig.cfg.

dbmevtdisp list C:\test\testconfig.cfg

OK
ID 0
condition: ((Name == "DBFILL*") && (Value1 < 10))
command: alarmapp $DBNAME$
ID 1
condition: ((Name == "UPDSTATWANTED"))
command: dbmcli -d $DBNAME$ -u $DBMUSERPW$ sql_updatestat_per_systemtable

The configuration file contains the following entries:

· Entry with ID 0

If the event dispatcher receives an event with a name that begins with the character string DBFILL and a Value1 field containing a value less than 10, it starts the alarmapp program, then transfers the name of the database instance that triggered the event to the program as a parameter.

· Entry with ID 1

If the event dispatcher receives an event with the name UPDSTATWANTED, it logs on to the database instance that triggered the event using the database tool Database Manager CLI. In doing so, it uses the name and password of the DBM user that started the event dispatcher. It then executes the DBM command sql_updatestat_per_systemtable.

See also:

Overview of Event Dispatcher Commands


start (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation start

Use

You start an event dispatcher that monitors a database instance.

Prerequisites

· You must have added entries to an event dispatcher configuration file using the add command.

· To enable the event dispatcher to log on to the database instance, you need the name and password of a DBM operator who has the DBInfoRead server authorization and at least one of the server authorizations EvtDispAdmin | EvtDispUse.

Procedure

dbmevtdisp start [-remoteaccess] <configuration_file> -l <log_file> <database_authentication>

-remoteaccess | If you do not specify this option, you can only stop the event dispatcher from the database computer you used to start it. If you specify this option, you can stop the event dispatcher from any computer.
<configuration_file> | Configuration file for use by event dispatcher We recommend you create the configuration file on the computer you used to start the event dispatcher.
-l <log_file> | Log file of event dispatcher You have to specify a log file.
<database_authentication> | Authentication data used by the event dispatcher to log on to the database instance to be monitored Syntax: -d <database_name> (-u <dbm_user_name,dbm_user_password>)|(-U <user_key>) [-n <database_computer>] [-e SSL] See Database Manager CLI, Logging on to the Database Manager

Result

Event Dispatcher instance <instance_ID> running
using configuration file <configuration_file>

The database system assigns a numerical <instance_ID> to the event dispatcher. This ID is unique for the database instance monitored by the event dispatcher. You need the ID to stop the event dispatcher.

Example

You start an event dispatcher that uses the configuration file C:\test\testconfig.cfg and the log file C:\test\mylog.log and logs on to the DEMODB database instance with the authentication data of the DBM operator OLEG using the password MONDAY on the database computer PARMA.

dbmevtdisp start C:\test\testconfig.cfg –l C:\test\mylog.log –d DEMODB -u OLEG,MONDAY –n PARMA

See also:

Overview of Event Dispatcher Commands


state (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation state

Use

You show the status of all event dispatchers belonging to a database instance.

Prerequisites

DBM users must have the following properties to be able to use the state command:

· Server authorization EvtDispAdmin. These DBM operators receive a list of all event dispatchers for the database instance.

· Server authorization EvtDispUse. These DBM operators receive a list of event dispatchers started under their user name.

Procedure

dbmevtdisp state <database_authentication>

<database_authentication>

Authentication data used by the event dispatcher to log on to the database instance to be monitored

Syntax:

-d <database_name> (-u <dbm_user_name,dbm_user_password>)|(-U <user_key>) [-n <database_computer> [-e SSL]]

See Database Manager CLI, Logging on to the Database Manager

Result

OK
Instance ID <instance_ID_1>
user: <dbm_user_name_1>
host: <database_computer_1>
configuration file: <configuration_file_1>
log file: <log_file_1>
.
.
.
Instance ID <instance_ID_n>
user: <dbm_user_name_n>
host: <database_computer_n>
configuration file: <configuration_file_n>
log file: <log_file_n>

<instance_ID_i> | Event dispatcher i ID
<dbm_user_name_i> | DBM operator who has started the event dispatcher
<database_computer_name_i> | Database computer on which event dispatcher i is running
<configuration_file_i> | Configuration file used by event dispatcher i
<log_file_i> | Log file used by event dispatcher i

Example

The DBM operator OLEG with the password MONDAY shows the event dispatcher for database instance DEMODB on the local computer.

dbmevtdisp state -d DEMODB -u OLEG,MONDAY

OK
Instance ID 1
user: OLEG
host: PARMA
configuration file: testconfig.cfg
log file: mylog.log
Instance ID 0
user: DBADMIN
host: GENUA
configuration file: ed.cfg
log file: ed.log

The following event dispatchers are currently running for database instance DEMODB.

· Event dispatcher with ID 1

¡ Started by DBM operator OLEG on computer PARMA

¡ Configuration file testconfig.cfg

¡ Log file mylog.log

· Event dispatcher with ID 0

¡ Started by DBM user OLEG on computer GENUA

¡ Configuration file ed.cfg

¡ Log file ed.log

See also:

Overview of Event Dispatcher Commands


stop (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation stop

Use

You stop an event dispatcher.

Prerequisites

· The event dispatcher must have been started and also have received a numerical ID <instance_ID> (see start).

· If the –remoteaccess option was not specified on starting the event dispatcher, it can only be stopped from the database computer or the computer used to start it.

· To enable the event dispatcher to log on to the database instance, you require the name and password of a DBM operator with the following properties:

¡ EvtDispAdmin server authorization: DBM operators with can stop all event dispatchers

¡ EvtDispUse server authorization: DBM operators can only stop those event dispatchers started under their user name.

Procedure

dbmevtdisp stop <instance_ID> <database_authentication>

<instance_ID> | ID of event dispatcher you would like to stop
<database_authentication> | Authentication data used by the event dispatcher to log on to the database instance to be monitored Syntax: -d <database_name> (-u <dbm_user_name,dbm_user_password>)|(-U <user_key>) [-n <database_computer> [-e SSL]] See Database Manager CLI, Logging on to the Database Manager

Result

OK

See also:

Overview of Event Dispatcher Commands


version (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation version

Use

You display information on the event dispatcher software version.

Procedure

dbmevtdisp version

Result

MaxDB Event Dispatcher, Version <version>
<copyright>

<version> | Software version of event dispatcher
<copyright> | Copyright

See also:

Overview of Event Dispatcher Commands


XCONS (SAP Library - MaxDB Library)

 Entering content frame

Component documentation XCONS

Purpose

The XCONS (database console) database tool shows the operating system resources utilized by the database system, how database sessions have been allocated to threads, and the status of active database sessions.

We recommend that you only use XCONS in production systems if you have a sound knowledge of databases and operating systems.

XCONS is a command line tool and can be used on all operating systems supported by the database system.

Implementation Considerations

XCONS is part of the MaxDB software package, which you can download from the MaxDB Website (see Download and Installation Profiles).

For further information about the database system, see the documentation Concepts of the Database System and the Glossary.

Features

You can use XCONS to display information about the database instance.

The Database Analyzer database tool uses XCONS.


Displaying Information About the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Displaying Information About the Database Instance

Procedure

Syntax

x_cons <database_name> <command> [<interval> [<repeat>]]

command | XCONS command
interval | Time between repetitions of the same command. If you do not specify interval, the command is only executed once.
repeat | Number of times the command is repeated. If you specify interval but not repeat, the command is repeated indefinitely.

XCONS Commands

time <enable | disable> | Activates the internal time measurement function. Note that this can lessen the performance of your system.
cancel <taskindex> | Cancels the command currently being executed by the task with the index taskindex
pagecache_release | Releases the page cache
diagnose_pagecache | Analyzes the page cache. The results are written to the log file knldiag.
kill <taskindex> | Closes the session of the task with the index taskindex
affinity <uktindex> | Note that this command was designed for development tasks and for this reason should not be used in production operation. Only use this command if requested to do so by Support. This command allows the user kernel thread with the index uktindex to be bound to one processor.
procmask <procmask> | Note that this command was designed for development tasks and for this reason should not be used in production operation. Only use this command if requested to do so by Support. For Microsoft Windows only. User kernel threads are permanently bound to individual processors.
trace_flush | Flushes the trace file
show io | Shows volume access statistics
show aio | Only for backups; shows volume access statistics
show storage | Shows the memory utilization. On Microsoft Windows, the task stack is also displayed.
show tasks | Shows statistics for all tasks
show active [dw | sv | us | gc] | Shows statistics for active tasks. You can also show the statistics for specific task groups only: DW (data writer=pager), SV (server task), US (user task), GC (garbage collector).
show runnable [dw | sv | us | gc] | Shows information about runnable tasks; can also be used for specific task groups only
show moveinfo | Only for load balancing; shows history and how tasks are currently moving between user kernel threads
show t_cnt [dw | sv | us | gc | <taskindex>] | Displays detailed information about all tasks in a specific task group or about the task with the index taskindex
show t_queue | Shows task queues
show t_reg | Shows semaphores (use of critical regions by the tasks)
show t_stat | Shows task statistics
show t_move | Only for load balancing; indicates whether tasks can currently be moved from one user kernel thread to another
show versions | Shows the version of the database kernel and the runtime environment
show regions | Shows information about the critical regions
show state | Shows the operational state of the database instance In addition to the operational states, intermediate statuses are also displayed here. These are short-term statuses occupied by the database instance when moving between two operational states such as: STARTING, SHUTDOWN, SHUTDOWNREINIT, SHUTDOWNKILL, STOP, KILL, ABORT, UNKNOWN
show rte | Shows information about the runtime environment (threads, and so on)
show queues | Shows queues
show suspends | Shows the reasons why tasks that are currently suspended have been suspended
show sleep | Shows statistics that indicate how long the individual user kernel threads were suspended
show thrd_times | For Microsoft Windows only. Shows how much processor time the threads have used
show all | Shows all available information and statistics

Example

Displaying all active tasks of the database instance DEMODB repeating this ten times at intervals of one second:

x_cons DEMODB show active 1 10

Display help for all XCONS commands:

x_cons DEMODB help

See also:

· Concepts of the Database System, Overview of Tasks

· Database Manager CLI, Displaying Information About the Database Instance

· Calling XCONS in the database assistant of an SAP system: Database Management in CCMS, Structure link Database Console


XUSER (SAP Library - MaxDB Library)

 Entering content frame

Component documentation XUSER

Purpose

The XUSER database tool enables user log-in data to be stored and provides simplified log-on to database instances. You can use XUSER to store log-in data for database system administrators (SYSDBA users), database manager operators (DBM operators) and database users.

XUSER is a command line tool and can be used on all operating systems supported by the database system. XUSER can be used in SAP systems.

Implementation Considerations

XUSER is part of the MaxDB software package, which you can download from the MaxDB Website (see Download and Installation Manual).

For further information about the database system, see the documentation Concepts of the Database System and the Glossary.

Integration

You can also call the XUSER program from the Database Manager CLI. Not all XUSER functions are available from here however. See Database Manager CLI, Logging-on to the XUSER program: -ux

Features

Log-on data for logging on to database instances is defined as XUSER entry data and stored under a user key. When logging on to a database instance, you specify the user key only.

XUSER entries are stored separately for each operating system user. XUSER entries are stored in the registry in Microsoft Windows, and in the file system in UNIX/Linux.

Operating system users can define up to 32 user keys for themselves. If several users are working with the same computer but log on under different user names using one database instance, individual user data can be managed separately in such cases.

Creating or Changing XUSER Entries

Using a User Key when Logging-On to a Database Instance

Displaying Data for XUSER Entries

Deleting XUSER Entries

XUSER Options

Restrictions

Some database tools (Loader and Database Manager GUI) and applications that use the ODBC interface (such as SQL Studio) cannot access XUSER data.

XUSER is not used to manage the actual users. XUSER is used only to manage the XUSER entries for these users. You can only access a database instance using a user stored under an XUSER entry if this user has actually been created for this database instance. Similarly, you can only manage a database instance using a Database Manager operator stored in an XUSER entry if you have created this Database Manager operator beforehand.


Using a User Key when Logging On to a Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Using a User Key when Logging On to a Database Instance

Use

Several database tools and interfaces support the XUSER program and logon to a database instance with a user key.

Procedure

To log on to a database instance using a user key, specify the option –U <user_key> [<options>]when you log on. <user_key> is the user key saved in the XUSER program.

When entering the user key, note that it is case sensitive.

Note also that logon can only be successful if the user stored under the specified user key has actually been created beforehand.

If you also specify log-on options, these override the corresponding data in the XUSER entry.

If you log on to XUSER using SQL applications and do not specify a user key, the logon is carried out using the user data stored under the user key DEFAULT.

If you use the Database Manager to connect to XUSER, and do not specify a user key, then the connection is made with the user data saved under the user name DBMUSR.

Example

You log on to the Database Manager CLI using the user key ag.

dbmcli -U ag

The user key ag contains the DBM user name anna_ghobadi and the password may for the DEMODB database instance.


Creating or Changing XUSER Entries (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating or Changing XUSER Entries

Creating New XUSER Entries

You can either create new XUSER entries interactively or import them from an XUSER file.

The predefined user key DEFAULT already exists. This user key cannot be changed. If no data is yet saved under this user key, then the first entry you define is always saved under the user key DEFAULT, regardless of any user key specified.

If you do not specify a user key when making an XUSER entry, all data is then stored under the DEFAULT user key. Any existing data is then overwritten.

Changing XUSER Entries

You change an existing XUSER entry by completely overwriting its data.

Operating system users can usually only change their own XUSER entries.

Exceptions:

· The operating system user that has defined the DEFAULT user key can change this XUSER entry.

· With Microsoft Windows, an operating system user who belongs to the Administrators group can change the XUSER entries of other operating system users. This is necessary where an operating system user that exists for an XUSER entry is not able to log on to the operating system interactively.

Syntax

xuser [<options>] set

For information on <options>, see XUSER Options.

Example

You create an XUSER entry with the user key ag using the operating system user ANNA. Using this XUSER user key, you save your log-on data for the database instance DEMODB: Database Manager user name anna_ghobadi and the password may.

xuser –U ag –d DEMODB –u anna_ghobadi,may


Displaying Data for XUSER Entries (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Displaying Data for XUSER Entries

xuser [-U <user_key>] [-c <os_user>\<domain>] list

To display data for all XUSER entries stored, use the command for you operating system user without any options.

See also:

XUSER Options


Deleting XUSER Entries (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Deleting XUSER Entries

xuser [-U <user_key>] [-c <os_user>\<domain>] clear

In order to delete all XUSER entries assigned to your operating system user, do not specify any options.

XUSER is not a tool for managing database users or Database Manager operators. It only manages XUSER entries for these users in the XUSER program. Deleting an XUSER entry does not mean the corresponding user is also deleted. To delete users, use the Database Manager database tool.

See also:

XUSER Options


XUSER Options (SAP Library - MaxDB Library)

 Entering content frame

Function documentation XUSER Options

Use

You can call XUSER with options:

xuser [<options>] [set|clear|list]

XUSER Options

<option> | Description
-A | The XUSER program interprets the entries as ASCII8. The default value for the character set is UTF-8.
-b <file_name> | XUSER reads the XUSER entries from the XUSER file <file_name>. See: Importing XUSER Entries from a File
-c <domain>\<os_user> | Only for Microsoft Windows Operating system users <os_user> in the <domain>, for which the XUSER entry is changed. You require administration rights in order to use this option.
-d <database_name> | Name of the database instance If you do not specify a database name, no database instance will be assigned to the XUSER entry.
-e <encryption> | Only in SAP systems <encryption> type used for connection to database instance At present you can only select the value SSL for <encryption> If you are not using an encryption, omit this option.
-h | Displays help
-l <isolation_level> | Isolation level For application programs only If you do not specify an <isolation_level>, the XUSER program uses the value –1.
-n <database_computer> | Name of the computer on which the database instance is running Character string with a maximum of 64 characters The character string is case-sensitive. If you do not specify a <database_computer>, the XUSER program uses the local computer.
-S <SQL_mode> | SQL mode Character string with a maximum of 8 characters You do not specify an <SQL_mode>, the XUSER program uses the SQL mode INTERNAL.
-t <timeout> | Timeout value in seconds Possible values: -1, <seconds>,0 -1: The default value for the database instance is transferred to the XUSER program. 0: no timeout If you do not specify a <timeout>, the XUSER program uses the value –1.
-U <user_key> | User key of the XUSER entry Character string with maximum of 18 characters (9 characters in UNICODE) Note the character string is case-sensitive.
-u <user_name>,<password> | User name (Database user or DBM operator) and password Character strings, each with a maximum of 18 characters (9 characters in UNICODE) If user name or password contain lowercase letters or special characters, you should enclose these in quotation marks. The XUSER program will otherwise convert lowercase letters to uppercase letters automatically.
-V | Displays version of XUSER program


Importing XUSER Entries from a File (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Importing XUSER Entries from a File

Use

You can create XUSER entries and change and delete these by importing information from a file.

Procedure

...

1. Using a text editor, create the file from which you wish to import XUSER entries.

Each line of the file contains the options for an XUSER entry and the set or clear command.

You cannot use the –b option in the file.

You can use any name for the file.

2. To import the <file> into XUSER, enter the following command:

xuser -b <file>

Example

You import a file to XUSER containing the following:

-U MK –u MONA,RED –d DEMODB –n GENUA –t 90 –l 1 set

-U DK –u DAVID,BLUE –d DEMODB set

This creates the following XUSER entries:

  • User key MK, User MONA, Password RED, Database name DEMODB, Computer GENUA, Timeout 90 seconds, Isolation level 1.
  • User key DK, User DAVID, Password BLUE, Database name DEMODB


X Server (SAP Library - MaxDB Library)

 Entering content frame

Component documentation X Server

Purpose

The Max DB X Server is the communication server for the database system. The X Server listens out for connection requests from clients such as database applications and database tools.

The X Server is necessary if a client is establishing a connection to a database instance located on a remote computer. The JDBC interface also requires the X server for local communication. Communication between clients and X Server can be encrypted with SSL/TLS in SAP systems.

The X Server can be used on all operating systems supported by the database system.

Implementation Notes

The X Server is part of the MaxDB software package, which you can download from the MaxDB Website (see Download and Installation Profiles).

For further information about the database system, see the documentation Concepts of the Database System and the Glossary.

Features

· Starting the X Server

· Stopping the X Server

· Ports and Protocols of the X Server.

See also:

Concepts of the Database System,

· Network Communication

· Data Encryption

· Overview of the Processes

MaxDB Security Guide, Using the MaxDB X Server Behind a Firewall


Starting the X Server (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Starting the X Server

Use

On Microsoft Windows, the MaxDB installation program registers the X Server as the service XServer, sets the Startup Type Startup Type for this service to Automatic Automatic and starts the service. You do not have to start this manually.

On UNIX/Linux, the X Server is not automatically installed as a service. You can either enter the X Server in the appropriate start scripts for the operating system or start it manually when required. After startup, the X Server runs in the background as the process vserver. When starting the X Server, a special process for supporting the SAP NI network protocol is started.

Procedure

x_server [<options>] [start]

Options for Calling the X Server

<option>

Explanation

-D <debugging_level>

Defines the debugging level. You can specify values from 0 (no debugging information is written) to 9 (maximum debugging information). The default value is 0.

-F

If you set this option, the X Server does not determine the computer name of the application logging on to the DNS server (no reverse DNS lookup).

If it is taking a long time to connect to a remote database instance, you should restart the X Server with this option. This will tell you whether the DNS server is responsible for the slow connection.

-S <port>

For UNIX/Linux only: assigns a different port <port> to the X Server. The X server uses port 7210 as default. See Ports and Protocols of the X Server

-V

Displays the version of the X Server.

-w

Only for UNIX/Linux, only in SAP systems

Restricts the command to the SAP NISSL connection

-W

Only for UNIX/Linux, only in SAP systems

Suppresses automatic usage of SAP NISSL

-y

Only for UNIX/Linux, only in SAP systems

Restricts the command to the SAP NI connection

-Y

Only for UNIX/Linux, only in SAP systems

Suppresses automatic use of SAP NI and SSL

-Z <file_size>

Specifies the size of the log file xserver_<computer_name>.prt in KB. computer_name is the name of the computer on which the X Server is running.


Stopping the X Server (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Stopping the X Server

Use

You stop the X Server.

Once the X Server has been stopped, database tools and applications can no longer communicate with a database instance located on a remote computer.

The JDBC interface also requires the X Server for local communication.

Prerequisites

For UNIX/Linux: You must be logged on as an operating system user belonging to <sdba_group>.

Procedure

x_server stop


Ports and Protocols of the X Server (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Ports and Protocols of the X Server

Use

Clients can exchange data with the X Server using a variety of protocols.

Features

The MaxDB X server uses the following ports.

Ports and Protocols of the X Server

Port Number | Protocol | Protocol Identifier | Remarks
7210 | TCP/IP | remote:// |
7269 | NI | sapni:// | Only in SAP systems, uses SAP network protocol NI
7270 | SSL/TLS NISSL | remotes:// sapnis:// | Only in SAP systems, uses SAP encryption library and SAP network protocol NI

Ports and Protocols of the X Server

This graphic is explained in the accompanying text

The ports are entered in the services file:

· UNIX/Linux: /etc/services

· Microsoft Windows: <windows_directory>\system32\drivers\etc\services

See also:

· MaxDB Security Guide, Using the MaxDB X Server Behind a Firewall

· Concepts of the Database System, Data Encryption


Interfaces (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Interfaces

Title of the Documentation | Contents
ODBC Manual | Basics and special features of the MaxDB ODBC driver
SQLDBC Manual | SQL database connectivity for developing applications and interfaces for MaxDB
JDBC Manual | Basics and special features of the MaxDB JDBC driver
Perl Manual | Description of the programming interfaces for SQL, Database Manager and Loader for developing database applications with Perl.
Python Manual | Description of the programming interfaces for SQL, Database Manager and Loader for developing database applications with Python.
PHP Manual | Description of the MaxDB PHP software enhancement for developing database applications with PHP.
WebDAV | Description of how to access a document store in a MaxDB database instance using the MaxDB WebDAV servlet
Backint for MaxDB | Description of the Backint for MaxDB interface for external backup tools


ODBC Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation ODBC Manual

Purpose

You can use the MaxDB ODBC driver to access the MaxDB database system via the ODBC interface. If the ODBC application is operated on the same computer as the database instance, communication takes place using shared memory. If the ODBC application and the database instance operate on different computers, then the ODBC application accesses the database instance using TCP/IP.

The MaxDB ODBC driver can be used on all operating systems supported by the database system.

Implementation Considerations

The MaxDB ODBC driver is a component of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

The information provided here applies to database systems as of version 7.3.01. To understand this documentation, you require a basic knowledge of the C programming language, knowledge of SQL, and a general knowledge of database systems.

A detailed description of the ODBC functions and an ODBC syntax reference is provided in the Microsoft Developer Network (msdn.microsoft.com). For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

· Properties of the MaxDB ODBC Driver

· The MaxDB ODBC Driver on Microsoft Windows

· The MaxDB ODBC driver on UNIX/Linux

Restrictions

Supported ODBC Versions

Example

Concepts of the Database System, Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Windows)

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples


Supported ODBC Versions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Supported ODBC Versions

The MaxDB ODBC driver fulfils the ODBC 3.51 interface specification.

When developing your own applications, note that there are differences between the ODBC 2.x and ODBC 3.x versions. Therefore, use the function SQLSetEnvAttr to set the SQL_ATTR_ODBC_VERSION before you request a connection handle with SQLAllocHandle.


Properties of the MaxDB ODBC Driver (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Properties of the MaxDB ODBC Driver

Data is accessed using the Structured Query Language (SQL). The functions of the MaxDB ODBC driver are described in more detail for selected areas:

Supported Data Types [Page 6]

Conversion of SQL and C Data Types [Page 7]

Processing SQL Statements [Page 8]

ODBC-API Compatibility [Page 9]

Unicode Support [Page 20]


Supported Data Types (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Supported Data Types

The ODBC interface differentiates between the data types made available by the database system (SQL data types) and the data types used in the ODBC application (C data types).

SQL Data Types [Page 6]

C Data Types [Page 6]


SQL Data Types (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Data Types

Every database system defines its own SQL data types. An ODBC driver processes only those data types that are defined by the associated database system.

You can use the SQLGetTypeInfo function to determine how an ODBC driver maps the SQL data types of the database system to the ODBC supported data types and to its own driver-specific data types, as well as the specifications for length, decimal places (scale), and the number of valid digits (precision).

The data types defined for the MaxDB database system are listed in the Data Type (data_type) [Extern] section of the Reference Manual.

MaxDB data types supported by the MaxDB ODBC driver

Character | CHAR, VARCHAR, LONG, CHAR BYTE, VARCHAR BYTE, LONG BYTE
Numeric | DECIMAL, FIXED, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION
Date | DATE, TIME, TIMESTAMP
Other | BOOLEAN, CHAR EBCDIC, VARCHAR EBCDIC


C Data Types (SAP Library - MaxDB Library)

 Entering content frame

Background documentation C Data Types

ODBC C data types represent those data types of C variables in which the application data intended for communication with the database is processed.

Relationship Between SQL and C Data Types

fCType | ODBC C Typedef | C Type
SQL_C_CHAR | SQLCHAR * | unsigned char *
SQL_C_SSHORT | SQLSMALLINT | short int
SQL_C_SLONG | SQLINTEGER | long int (32 bit)
SQL_C_USHORT | SQLUSMALLINT | unsigned short int
SQL_C_ULONG | SQLUINTEGER | unsigned long int (32 bit)
SQL_C_FLOAT | SQLREAL | float
SQL_C_DOUBLE | SQLDOUBLE | double
SQL_C_BIGINT | SQLBIGINT | _int64, long (64 bit)
SQL_C_UBIGINT | SQLUBIGINT | unsigned _int64, unsigned long (64 bit)
SQL_C_BINARY | SQLCHAR* | unsigned char*
SQL_C_DATE | SQL_DATE_STRUCT | struct tagDATE_STRUCT { SQLSMALLINT year; SQLSMALLINT month; SQLSMALLINT day;}
SQL_C_TIME | SQL_TIME_STRUCT | struct tagTIME_STRUCT { SQLSMALLINT hour; SQLSMALLINT minute; SQLSMALLINT second;}
SQL_C_TIMESTAMP | SQL_TIMESTAMP_STRUCT | struct tagTIMESTAMP_STRUCT { SQLSMALLINT year; SQLSMALLINT month; SQLSMALLINT day; SQLSMALLINT hour; SQLSMALLINT minute; SQLSMALLINT second; SQLUINTEGER fraction;}
SQL_C_BIT | SQLCHAR | unsigned char


Conversion of SQL and C Data Types (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Conversion of SQL and C Data Types

The MaxDB ODBC driver enables all supported data types to be converted.

See also:

MSDN Library msdn.microsoft.com, sections Converting Data from SQL to C Data Types and Converting Data from C to SQL Data Types.


Processing SQL Statements (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Processing SQL Statements

Use

The MaxDB ODBC driver supports the complete ODBC SQL syntax.

Detailed information about the ODBC function calls is provided in the MSDN Library (http://msdn.microsoft.com) in the ODBC Programmer’s Reference, Chapter SQL Statements, Escape Sequences in ODBC, Section Scalar Functions

Functions

Type | Names
Numeric functions | ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, DEGREES, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, TRUNCATE, PI, RADIANS, ROUND
String functions | CONCAT, LCASE, LEFT, LENGTH, LOCATE, LTRIM, REPLACE, RIGHT, RTRIM, SOUNDEX, SUBSTRING, UCASE,
System functions | DBNAME, IFNULL, USERNAME
Time and date functions | CURDATE, CURTIME, DAYNAME, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, MONTH, MONTHNAME, NOW, SECOND, WEEK, YEAR

The MaxDB ODBC driver extends the standard SQL syntax in the following areas:

Database procedures

Cursor Functions

Example

SELECT {fn MONTH(NOW())} FROM dual


Database Procedures (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Database Procedures

Database procedures can be processed as SQL statements.

The ODBC syntax for procedures does not support return values of functions. Therefore, a specification in the format
{ ? = call ...}
is invalid.


Cursor Functions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Cursor Functions

The MaxDB ODBC driver supports three types of positionable cursors: static, dynamic, and keyset-driven. These differ in the extent to which changes to the database data by the current session or the sessions of other users are visible.

Since MaxDB can lock tables row-by-row, a user can change data in a table even if another user has also opened parts of this table. The prerequisite for this is that the rows to be changed are outside the part of the table that the other user has opened.
Locks for individual pages or entire tables lead to significantly longer waits than row locks in operation with multiple concurrent users.

Using the function SQLSetPos, an application can execute positioning INSERT, UPDATE, and DELETE statements.


ODBC-API Compatibility (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ODBC-API Compatibility

In the MaxDB ODBC driver, all functions can be executed on both Microsoft Windows and UNIX/Linux.

The ODBC API is structured into the areas core, level 1, and level 2.

There is an overview of the functions that are defined for the individual API compatibility levels below.

Core API [Page 9]

Level 1 API [Page 10]

Level 2 API [Page 20]


Core API (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Core API

Overview of the functions that are defined in the MaxDB ODBC driver for the core API

Function

Remarks

SQLAllocConnect

-

SQLAllocEnv

-

SQLAllocStmt

-

SQLBindCol

If the length specification pcbValueMax is smaller than the length of a bound LONG column, the MaxDB ODBC driver returns the value SQL_NO_TOTAL for pcbValue. In all other cases, pcbValue specifies the length of the copied bytes.

You can then fetch other parts of this LONG column with the SQLGetData function.

SQLCancel

-

SQLColAttributes

-

SQLConnect

-

SQLDescribeCol

-

SQLDisconnect

-

SQLError

-

SQLExecDirect

-

SQLExecute

-

SQLFetch

-

SQLFreeConnect

-

SQLFreeEnv

-

SQLFreeStmt

-

SQLGetCursorName

Case-sensitive, maximum length 18 characters
Take this into account, for example, with the statement SELECT FOR UPDATE, as identifiers that are not enclosed in quotation marks are automatically converted into uppercase letters.

The MaxDB ODBC driver constructs default values for cursor names in accordance with the following schema:
SQL_CURSOR_nnnn, where nnnn is an internal counter.
SQL_CUR_nnnnnnn, if n >= 10000

SQLNumResultCols

-

SQLPrepare

-

SQLRowCount

Specifies the number of affected rows for all SELECT, INSERT, DELETE statements, and so on.

If no result set was created, the value -1 is displayed for the undeterminable number of affected rows.

SQLSetCursorName

-

SQLTransact

-


Level 1 API (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Level 1 API

Overview of the functions that are defined in the MaxDB ODBC driver for the Level 1 API

Function

Remark

SQLBindParameter

If you want to process more than one LONG column with an INSERT, UPDATE, or DELETE statement, and bind the parameters with the attribute SQL_DATA_AT_EXECUTE, note that, for the SQLPutData function, it is only possible to assign the NULL value to one LONG column, at most.
If you want to set more than one LONG column to the NULL value with only one statement, you must bind the columns in the length specification (pcbValue) using the attribute SQL_NULL_DATA. Otherwise, you receive the message
szSqlState = S1000 SQLCODE =-22002.

SQLColumns

-

SQLDriverConnect

Keyword for the name of the database server: SERVERNODE
Keyword for the name of the database instance: SERVERDB

SQLGetConnectAttr

Remark [Page 11]

SQLGetData

-

SQLGetFunctions

Remark [Page 12]

SQLGetInfo

Remark [Page 14]

SQLGetStmtAttr

-

SQLGetTypeInfo

You can determine the data types supported by the MaxDB database system using the function SQLGetTypeInfo.

The following data types are supported:
CHAR, VARCHAR, DECIMAL, FIXED, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION, DATE, TIME, TIMESTAMP, LONG, CHAR() BYTE, VARCHAR() BYTE, LONG BYTE, BOOLEAN

If the database is configured so that UNICODE characters can be processed, MaxDB also supports the following data types:
CHAR() UNICODE, VARCHAR() UNICODE, LONG UNICODE

SQLParamData

For LONG columns that contain NULL values, see remark for SQLBindParameter

SQLPutData

For LONG columns that contain NULL values, see remark for SQLBindParameter

SQLSetConnectAttr

See SQLGetConnectAttr

SQLSetParam

-

SQLSetStmtAttr

-

SQLSpecialColumns

-

SQLStatistics

-

SQLTables

The MaxDB ODBC driver supports the following table types (szTableType):
ALIAS, RESULT, SNAPSHOT, SYSTEM, SYSTEM TABLE, TABLE, UNLOADED, VIEW


Remark for SQLGetConnectAttr (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Remark for SQLGetConnectAttr

List of all supported attributes and return codes of the MaxDB ODBC driver

Attributes | Return Codes
SQL_ ATTR_ACCESS_MODE | pvParam = SQL_MODE_READ_WRITE
SQL_ ATTR_AUTOCOMMIT | pvParam = SQL_AUTOCOMMIT_ON
SQL_ATTR_CONNECTION_DEAD |
SQL_ATTR_CURRENT_CATALOG |
SQL_ ATTR_LOGIN_TIMEOUT | pvParam = 15
SQL_ATTR_ODBC_CURSORS |
SQL_ATTR_QUIET_MODE |
SQL_ ATTR_OPT_TRACE | pvParam = SQL_OPT_TRACE_OFF =0
SQL_ ATTR_OPT_TRACEFILE | (The file name set with SQLSetConnectAttr, default value: \SQL.LOG)
SQL_ ATTR_TRANSLATE_LIB |
SQL_ ATTR_TRANSLATE_OPTION | pvParam = 0
SQL_ ATTR_TXN_ISOLATION | pvParam = SQL_TXN_REPEATABLE_READ
SQL_ MODE = SQL_CONNECT_OPT_START + 2 | pvParam = (1 = INTERNAL, 2 = DB2, 3 = ANSI, 4 = ORACLE)


Remark for SQLGetFunctions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Remark for SQLGetFunctions

If the function ID SQL_API_ODBC3_ALL_FUNCTION is specified, the macro SQL_FUNC_EXISTS returns the result TRUE for the following values:

SQL_API_SQLALLOCCONNECT

SQL_API_SQLALLOCENV

SQL_API_SQLALLOCHANDLE

SQL_API_SQLALLOCHANDLESTD

SQL_API_SQLALLOCSTMT

SQL_API_SQLBINDCOL

SQL_API_SQLBINDPARAM

SQL_API_SQLBINDPARAMETER

SQL_API_SQLBROWSECONNECT

SQL_API_SQLBULKOPERATIONS

SQL_API_SQLCANCEL

SQL_API_SQLCLOSECURSOR

SQL_API_SQLCOLATTRIBUTES

SQL_API_SQLCOLUMNPRIVILEGES

SQL_API_SQLCOLUMNS

SQL_API_SQLCONNECT

SQL_API_SQLCOPYDESC

SQL_API_SQLDATASOURCES

SQL_API_SQLDESCRIBECOL

SQL_API_SQLDESCRIBEPARAM

SQL_API_SQLDISCONNECT

SQL_API_SQLDRIVERCONNECT

SQL_API_SQLDRIVERS

SQL_API_SQLENDTRAN

SQL_API_SQLERROR

SQL_API_SQLEXECDIRECT

SQL_API_SQLEXECUTE

SQL_API_SQLEXTENDEDFETCH

SQL_API_SQLFETCH

SQL_API_SQLFETCHSCROLL

SQL_API_SQLFOREIGNKEYS

SQL_API_SQLFREECONNECT

SQL_API_SQLFREEENV

SQL_API_SQLFREEHANDLE

SQL_API_SQLFREESTMT

SQL_API_SQLGETCONNECTATTR

SQL_API_SQLGETCONNECTOPTION

SQL_API_SQLGETCURSORNAME

SQL_API_SQLGETDATA

SQL_API_SQLGETDESCFIELD

SQL_API_SQLGETDESCREC

SQL_API_SQLGETDIAGFIELD

SQL_API_SQLGETDIAGREC

SQL_API_SQLGETENVATTR

SQL_API_SQLGETFUNCTIONS

SQL_API_SQLGETINFO

SQL_API_SQLGETSTMTATTR

SQL_API_SQLGETSTMTOPTION

SQL_API_SQLGETTYPEINFO

SQL_API_SQLMORERESULTS

SQL_API_SQLNATIVESQL

SQL_API_SQLNUMPARAMS

SQL_API_SQLNUMRESULTCOLS

SQL_API_SQLPARAMDATA

SQL_API_SQLPARAMOPTIONS

SQL_API_SQLPREPARE

SQL_API_SQLPRIMARYKEYS

SQL_API_SQLPROCEDURECOLUMNS

SQL_API_SQLPROCEDURES

SQL_API_SQLPUTDATA

SQL_API_SQLROWCOUNT

SQL_API_SQLSETCONNECTATTR

SQL_API_SQLSETCONNECTOPTION

SQL_API_SQLSETCURSORNAME

SQL_API_SQLSETDESCFIELD

SQL_API_SQLSETDESCREC

SQL_API_SQLSETENVATTR

SQL_API_SQLSETPARAM

SQL_API_SQLSETPOS

SQL_API_SQLSETSCROLLOPTIONS

SQL_API_SQLSETSTMTATTR

SQL_API_SQLSETSTMTOPTION

SQL_API_SQLSPECIALCOLUMNS

SQL_API_SQLSTATISTICS

SQL_API_SQLTABLEPRIVILEGES

SQL_API_SQLTABLES

SQL_API_SQLTRANSACT


Remark for SQLGetInfo (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Remark for SQLGetInfo

List of all attributes and return codes supported by the MaxDB ODBC driver

Attributes

Return Codes

SQL_ACCESSIBLE_PROCEDURES

rgbInfoValue = "N"

SQL_ACCESSIBLE_TABLES

rgbInfoValue = "N"

SQL_ACTIVE_CONNECTIONS

rgbInfoValue = 0

SQL_ACTIVE_STATEMENTS

rgbInfoValue = 32767

SQL_ALTER_TABLE

rgbInfoValue =
  SQL_AT_ADD_COLUMN
| SQL_AT_DROP_COLUMN
| SQL_AT_ADD_COLUMN_DEFAULT
| SQL_AT_ADD_CONSTRAINT
| SQL_AT_ADD_TABLE_CONSTRAINT
| SQL_AT_DROP_COLUMN_CASCADE
| SQL_AT_DROP_COLUMN_DEAFAULT
| SQL_AT_SET_COLUMN_DEFAULT

SQL_BOOKMARK_PERSISTENCE

rgbInfoValue =
  SQL_BP_SCROLL
| SQL_BP_UPDATE

SQL_CATALOG_LOCATION

rgbInfoValue = 1 (SQL_CL_START)

SQL_CATALOG_NAME_SEPARATOR

rgbInfoValue = "."

SQL_CATALOG_TERM

rgbInfoValue = "Qualifier"

SQL_CATALOG_USAGE

rgbInfoValue = 0x00000000

SQL_COLUMN_ALIAS

rgbInfoValue = "Y"

SQL_CONCAT_NULL_BEHAVIOR

rgbInfoValue = 0 (SQL_CB_NULL)

SQL_CONVERT_BIGINT

SQL_CONVERT_BINARY

SQL_CONVERT_BIT

SQL_CONVERT_CHAR

SQL_CONVERT_DATE

SQL_CONVERT_DECIMAL

SQL_CONVERT_DOUBLE

SQL_CONVERT_FLOAT

SQL_CONVERT_FUNCTIONS

rgbInfoValue = 0x00000000L

SQL_CONVERT_INTEGER

SQL_CONVERT_LONGVARBINARY

rgbInfoValue = 0x00000000L

SQL_CONVERT_LONGVARCHAR

SQL_CONVERT_NUMERIC

SQL_CONVERT_REAL

SQL_CONVERT_SMALLINT

SQL_CONVERT_TIME

SQL_CONVERT_TIMESTAMP

SQL_CONVERT_TINYINT

SQL_CONVERT_VARBINARY

SQL_CONVERT_VARCHAR

SQL_CORRELATION_NAME

rgbInfoValue = 2 (SQL_CN_ANY)

SQL_CURSOR_COMMIT_BEHAVIOR

rgbInfoValue =
SQL_CB_PRESERVE
| SQL_CB_DELETED (SQLMode = ANSI)

SQL_CURSOR_ROLLBACK_BEHAVIOR

rgbInfoValue =
SQL_CB_PRESERVE
| SQL_CB_DELETED (SQLMode = ANSI)

SQL_DATA_SOURCE_NAME

rgbInfoValue = (Name of the opened data source)

SQL_DATA_SOURCE_READ_ONLY

rgbInfoValue = "N"

SQL_DBMS_NAME

rgbInfoValue = "SAP DB"

SQL_DBMS_VER

rgbInfoValue = "/07.03.nnn"

SQL_DEFAULT_TXN_ISOLATION

rgbInfoValue = SQL_TXN_READ_COMMITTED

SQL_DRIVER_HDBC

rgbInfoValue = (Handle of the driver logon)

SQL_DRIVER_HENV

rgbInfoValue = (Handle of the driver environment)

SQL_DRIVER_HLIB

rgbInfoValue = (Handle of the library)

SQL_DRIVER_HSTMT

rgbInfoValue = (Handle of the driver statement)

SQL_DRIVER_NAME

rgbInfoValue = "sqlod32.dll", "libsqlod.so" (UNIX)

SQL_DRIVER_ODBC_VER

rgbInfoValue = "03.51"

SQL_DRIVER_ODBC_VER

rgbInfoValue = (Version of the Driver Manager > 3.51)

SQL_DRIVER_VER

rgbInfoValue = "7.<minor_version>.<correction_level>"

SQL_EXPRESSIONS_IN_ORDERBY

rgbInfoValue = "N"

SQL_FETCH_DIRECTION

rgbInfoValue =
  SQL_FD_FETCH_NEXT
| SQL_FD_FETCH_FIRST
| SQL_FD_FETCH_LAST
| SQL_FD_FETCH_PRIOR
| SQL_FD_FETCH_ABSOLUTE
| SQL_FD_FETCH_RELATIVE
| SQL_FD_FETCH_BOOKMARK

SQL_FILE_USAGE

rgbInfoValue = 0 (SQL_FILE_NOT_SUPPORTED)

SQL_GETDATA_EXTENSIONS

rgbInfoValue =
  SQL_GD_ANY_COLUMN
| SQL_GD_ANY_ORDER
| SQL_GD_ANY_BOUND
| SQL_GD_ANY_BLOCK

SQL_GROUP_BY

rgbInfoValue = SQL_GB_GROUP_BY_CONTAINS_SELECT

SQL_IDENTIFIER_CASE

rgbInfoValue = 1 (SQL_IC_UPPER)

SQL_IDENTIFIER_QUOTE_CHAR

rgbInfoValue = "\""

SQL_INTEGRITY

rgbInfoValue = "N"

SQL_KEYWORDS

rgbInfoValue = (List of key words, dependent on SQLMode)

SQL_LIKE_ESCAPE_CLAUSE

rgbInfoValue = "Y"

SQL_LOCK_TYPES

rgbInfoValue = 1 SQL_LCK_NO_CHANGE

SQL_MAX_BINARY_LITERAL_LEN

rgbInfoValue = 0

SQL_MAX_CATALOG_NAME_LEN

rgbInfoValue = 0

SQL_MAX_CHAR_LITERAL_LEN

rgbInfoValue = 0

SQL_MAX_COLUMN_NAME_LEN

rgbInfoValue = 32

SQL_MAX_COLUMNS_IN_GROUP_BY

rgbInfoValue = 128

SQL_MAX_COLUMNS_IN_INDEX

rgbInfoValue = 16

SQL_MAX_COLUMNS_IN_ORDER_BY

rgbInfoValue = 128

SQL_MAX_COLUMNS_IN_SELECT

rgbInfoValue = 1023

SQL_MAX_COLUMNS_IN_TABLE

rgbInfoValue = 1023

SQL_MAX_CONCURRENT_ACTIVITIES

rgbInfoValue = 32767

SQL_MAX_CURSOR_NAME_LEN

rgbInfoValue = 32

SQL_MAX_DRIVER_CONNECTIONS

rgbInfoValue = 0

SQL_MAX_INDEX_SIZE

rgbInfoValue = 1024

SQL_MAX_OWNER_NAME_LEN

rgbInfoValue = 32

SQL_MAX_PROCEDURE_NAME_LEN

rgbInfoValue = 32

SQL_MAX_QUALIFIER_NAME_LEN

rgbInfoValue = 0

SQL_MAX_ROW_SIZE

rgbInfoValue = 0

SQL_MAX_ROW_SIZE_INCLUDES_LONG

rgbInfoValue = "N"

SQL_MAX_SCHEMA_NAME_LEN

rgbInfoValue = 32

SQL_MAX_STATEMENT_LEN

rgbInfoValue = 0

SQL_MAX_TABLE_NAME_LEN

rgbInfoValue = 32

SQL_MAX_TABLES_IN_SELECT

rgbInfoValue = 64

SQL_MAX_USER_NAME_LEN

rgbInfoValue = 32

SQL_MULT_RESULT_SETS

rgbInfoValue = "Y"

SQL_MULTIPLE_ACTIVE_TXN

rgbInfoValue = "Y"

SQL_NEED_LONG_DATA_LEN

rgbInfoValue = "N"

SQL_NON_NULLABLE_COLUMN

rgbInfoValue = 1 (SQL_NNC_NON_NULL)

SQL_NULL_COLLATION

rgbInfoValue = 1 (SQL_NC_LOW)

SQL_NUMERIC_FUNCTIONS

rgbInfoValue =
  SQL_FN_NUM_ABS
| SQL_FN_NUM_ACOS
| SQL_FN_NUM_ASIN
| SQL_FN_NUM_ATAN
| SQL_FN_NUM_ATAN2
| SQL_FN_NUM_CEILING
| SQL_FN_NUM_COS
| SQL_FN_NUM_COT
| SQL_FN_NUM_EXP
| SQL_FN_NUM_FLOOR
| SQL_FN_NUM_LOG
| SQL_FN_NUM_MOD
| SQL_FN_NUM_SIGN
| SQL_FN_NUM_SIN
| SQL_FN_NUM_SQRT
| SQL_FN_NUM_TAN
| SQL_FN_NUM_PI
| SQL_FN_NUM_DEGREES
| SQL_FN_NUM_RADIANS
| SQL_FN_NUM_ROUND

SQL_ODBC_API_CONFORMANCE

rgbInfoValue = 2 (SQL_OAC_LEVEL2)

SQL_ODBC_SAG_CLI_CONFORMANCE

rgbInfoValue = 1 (SQL_OSCC_COMPLIANT)

SQL_ODBC_SQL_CONFORMANCE

rgbInfoValue = 2 (SQL_OSC_EXTENDED)

SQL_ODBC_SQL_OPT_IEF

rgbInfoValue = "N"

SQL_ODBC_VER

rgbInfoValue = "03.520000"

SQL_ORDER_BY_COLUMNS_IN_SELECT

rgbInfoValue = "N"

SQL_OUTER_JOINS

rgbInfoValue = "Y"

SQL_OWNER_TERM

rgbInfoValue = "Owner"

SQL_OWNER_USAGE

rgbInfoValue =
  SQL_OU_DML_STATEMENTS
| SQL_OU_PROCEDURE_INVOCATION
| SQL_OU_TABLE_DEFINITION
| SQL_OU_INDEX_DEFINITION
| SQL_OU_PRIVILEGE_DEFINITION

SQL_POS_OPERATIONS

rgbInfoValue =
  SQL_POS_UPDATE
| SQL_POS_DELETE
| SQL_POS_ADD (only allowed with dynamic cursors)
| SQL_POS_POSITION
| SQL_POS_REFRESH

SQL_POSITIONED_STATEMENTS

rgbInfoValue =
  SQL_PS_POSITIONED_DELETE
| SQL_PS_POSITIONED_UPDATE
| SQL_PS_SELECT_FOR_UPDATE

SQL_PROCEDURE_TERM

rgbInfoValue = "stored procedure"

SQL_PROCEDURES

rgbInfoValue = "Y"

SQL_QUALIFIER_LOCATION

rgbInfoValue = 1 (SQL_CL_START)

SQL_QUALIFIER_NAME_SEPARATOR

rgbInfoValue = "."

SQL_QUALIFIER_TERM

rgbInfoValue = "Qualifier"

SQL_QUALIFIER_USAGE

rgbInfoValue = 0x00000000

SQL_QUOTED_IDENTIFIER_CASE

rgbInfoValue = 3 (SQL_IC_SENSITIVE)

SQL_ROW_UPDATES

rgbInfoValue = "Y"

SQL_SCHEMA_TERM

rgbInfoValue = "Owner"

SQL_SCHEMA_USAGE

rgbInfoValue =
  SQL_OU_DML_STATEMENTS
| SQL_OU_PROCEDURE_INVOCATION
| SQL_OU_TABLE_DEFINITION
| SQL_OU_INDEX_DEFINITION
| SQL_OU_PRIVILEGE_DEFINITION

SQL_SCROLL_CONCURRENCY

rgbInfoValue =
  SQL_SCCO_READ_ONLY
| SQL_SCCO_LOCK
| SQL_SCCO_OPT_ROWVER
| SQL_SCCO_OPT_VALUES

SQL_SCROLL_OPTIONS

rgbInfoValue =
  SQL_SO_FORWARD_ONLY
| SQL_SO_KEYSET_DRIVEN
| SQL_SO_DYNAMIC
| SQL_SO_STATIC

SQL_SEARCH_PATTERN_ESCAPE

rgbInfoValue = "\"

SQL_SERVER_NAME

rgbInfoValue = (Name of the database server)

SQL_SPECIAL_CHARACTERS

rgbInfoValue = "#@$"

SQL_STATIC_SENSITIVITY

rgbInfoValue = 0x00000000

SQL_STRING_FUNCTIONS

rgbInfoValue =
  SQL_FN_STR_LEFT
| SQL_FN_STR_LTRIM
| SQL_FN_STR_LENGTH
| SQL_FN_STR_LCASE
| SQL_FN_STR_REPLACE
| SQL_FN_STR_RIGHT
| SQL_FN_STR_RTRIM
| SQL_FN_STR_SUBSTRING
| SQL_FN_STR_UCASE
| SQL_FN_STR_SOUNDEX

SQL_SUBQUERIES

rgbInfoValue =
  SQL_SQ_COMPARISON
| SQL_SQ_EXISTS
| SQL_SQ_IN
| SQL_SQ_CORRELATED_SUBQUERIES

SQL_SYSTEM_FUNCTIONS

rgbInfoValue =
  SQL_FN_SYS_USERNAME
| SQL_FN_SYS_DBNAME
| SQL_FN_SYS_IFNULL

SQL_TABLE_TERM

rgbInfoValue = "Table"

SQL_TIMEDATE_ADD_INTERVALS

rgbInfoValue = 0x00000000

SQL_TIMEDATE_DIFF_INTERVALS

rgbInfoValue = 0x00000000

SQL_TIMEDATE_FUNCTIONS

rgbInfoValue =
  SQL_FN_TD_NOW
| SQL_FN_TD_CURDATE
| SQL_FN_TD_DAYOFMONTH
| SQL_FN_TD_DAYOFWEEK
| SQL_FN_TD_DAYOFYEAR
| SQL_FN_TD_MONTH
| SQL_FN_TD_WEEK
| SQL_FN_TD_YEAR
| SQL_FN_TD_CURTIME
| SQL_FN_TD_HOUR
| SQL_FN_TD_MINUTE
| SQL_FN_TD_SECOND
| SQL_FN_TD_DAYNAME
| SQL_FN_TD_MONTHNAME

SQL_TXN_CAPABLE

rgbInfoValue = 2 (SQL_TC_ALL)

SQL_TXN_ISOLATION_OPTION

rgbInfoValue =
  SQL_TXN_READ_UNCOMMITTED
| SQL_TXN_READ_COMMITTED
| SQL_TXN_REPEATABLE_READ
| SQL_TXN_SERIALIZABLE

SQL_UNION

rgbInfoValue =
  SQL_U_UNION
| SQL_U_UNION_ALL

SQL_USER_NAME

rgbInfoValue = (Name of the active user)


Level 2 API (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Level 2 API

Overview of the functions that are defined in the MaxDB ODBC driver for the Level 2 API

Function

Remark

SQLBrowseConnect

SQLColumnPrivileges

SQLDataSources (*)

SQLDescribeParam

SQLExtendedFetch

You can only insert rows using the function with the dynamic cursor model (SQL_CURSOR_DYNAMIC). This is not possible with any other cursor models.

UPDATE and DELETE statements are possible both with the static (SQL_CURSOR_STATIC) and with the keyset-driven cursor (SQL_CURSOR_KEYSETDRIVEN) models.

SQLFetchScroll

SQLForeignKeys

SQLMoreResults

The function calls SQLFreeStmt with the attribute SQL_CLOSE to close the previous result set and then returns SQL_NO_DATA_FOUND.

SQLNativeSql

SQLNumParams

SQLParamOptions

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

All attributes are valid.
The attribute SQL_ADD is only possible in the dynamic cursor model (SQL_CURSOR_DYNAMIC).
Only the attribute SQL_LOCK_NO_CHANGE is permissible for the fLock argument.

SQLSetScrollOptions

SQLTablePrivileges


UNICODE Support (SAP Library - MaxDB Library)

 Entering content frame

Background documentation UNICODE Support

The MaxDB ODBC driver supports UNICODE. Two ODBC drivers are available as of versions 7.4.03.32 / 7.5.00.11:

· ASCII version; always linked to the database kernel via ASCII: sqlod32 (Microsoft Windows) or libsqlod (UNIX).

· UNICODE version; linked to ASCII database kernels via ASCII and to UNICODE database kernels via UCS2: sqlod32w (Microsoft Windows) or libsqlodw (UNIX)

UNIX/Linux:

The ODBC driver cannot be used at present on platforms where the standard UNICODE type WCHAR_T is defined using four bytes. The database and ODBC driver process UNICODE internally as values that are two bytes long.

Applications that do not need Driver Manager functionality can be linked statically with the ODBC driver.

The functions listed below are also available with the UNICODE version of the ODBC driver, irrespective of whether the data source supports UNICODE or not.

Overview of the functions that are defined in the MaxDB ODBC driver for access to UNICODE data

SQLBrowseConnectW

SQLColAttributesW

SQLColAttributeW

SQLColumnPrivilegesW

SQLColumnsW

SQLConnectW

SQLDataSourcesW

SQLDescribeColW

SQLDriverConnectW

SQLDriversW

SQLErrorW

SQLExecDirectW

SQLForeignKeysW

SQLGetConnectAttrW

SQLGetConnectOptionW

SQLGetCursorNameW

SQLGetDescFieldW

SQLGetDescRecW

SQLGetDiagFieldW

SQLGetDiagRecW

SQLGetInfoW

SQLGetStmtAttrW

SQLGetTypeInfoW

SQLNativeSqlW

SQLPrepareW

SQLPrimaryKeysW

SQLProcedureColumnsW

SQLProceduresW

SQLSetConnectAttrW

SQLSetConnectOptionW

SQLSetCursorNameW

SQLSetDescFieldW

SQLSetStmtAttrW

SQLSpecialColumnsW

SQLStatisticsW

SQLTablePrivilegesW

SQLTablesW


The MaxDB ODBC Driver on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Background documentation The MaxDB ODBC Driver on Microsoft Windows

Installation on Microsoft Windows

Creating Data Sources on Microsoft Windows

Installierte Files (Microsoft Windows)


Installation on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installation on Microsoft Windows

Use

The MaxDB ODBC driver is included in the installation profiles Server, Web Tools, and DB Analyzer, and is available as the individual software component ODBC. You therefore have various options for installing it.

You can install one of the above installation profiles in its entirety. You can also install the individual software component ODBC, for example, for client-only installations. However, to do this, you will need to install the software component Base as well.

The system default value for the installation path is <independent_program_path>\pgm.

For detailed information on installation, see the Installation Manual.

Prerequisites

· Microsoft Data Access Components (MDAC) version 2.7 or higher

· Microsoft ODBC Driver Manager 3.52 or higher

Result

Information about all installed ODBC drivers is stored by the system in the file HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI. A driver-specific key is also created for each ODBC driver, and is also stored in this file.

Example
The following entries are made in the Registry for the MaxDB ODBC driver during the installation:

HKEY_LOCAL_MACHINE
     SOFTWARE\ODBC\ODBCINST.INI
          MaxDB
          MaxDB (Unicode)

The names of the ODBC driver DLLS and the name of the setup DLL are stored under each driver-specific key. The ODBC Administrator tool uses this information to load the corresponding DLL when creating new data sources.

Example
The following entry is made under the MaxDB key:

HKEY_CURRENT_USER
SOFTWARE\ODBC\ODBCINST.INI\MaxDB
Driver=<independent_program_path>\pgm\sqlod32.dll
        Setup=<independent_program_path>\pgm\sqlsp32.dll


Creating Data Sources on Microsoft Windows (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating Data Sources on Microsoft Windows

Use

You can create data sources using the ODBC Administrator tool.

The specifications for the data sources are stored by the system in the file HKEY_CURRENT_USER/Software/ODBC/ODBC.INI.

Procedure

...

1. Choose Start ® Settings ® Control Panel ® Administrative Tools ®Data Sources (ODBC). This opens the ODBC Data Source Administrator.

2. Choose Add.

3. From the displayed list of the installed ODBC drivers, choose the entry MaxDB and confirm your choice by choosing Finish.

4. Make the following entries:

Data Source Name | Name of the data source. The data source is identified using this name. Use this name to simplify logging on to the database server. The name of the data source may not contain any special characters.
Description | Description of the data source
Database Name | Name of the database instance
Database Server | Name of the database computer. If the database instance and the application are on the same computer, you do not need to fill out this field.

5. If you want to specify options for the new data source, choose Settings.
Proceed with the entry of options for data sources [Page 24].
If you do not want to specify any options, choose OK.
Your entries become effective when the next ODBC connection is created.


Options for Data Sources (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Options for Data Sources (Microsoft Windows)

You can specify various options to influence the way the MaxDB ODBC driver operates. These options become active the next time that you connect to the database server.

The following options are possible:

Option

Remarks

SQL Mode [Page 24]

Selects the database-specific SQL mode

Isolation Level [Page 25]

Overrides the default value of the MaxDB ODBC driver for the lock operation type (the default value is Committed).

Trace On [Page 26]

Activates or deactivates the driver log.
If you have set this option, the MaxDB ODBC driver creates a log of the database session. All SQL statements that the application transfers to the database system are recorded in the log.

Caution
A large number of file operations are performed if you activate logging. This affects the execution speed of the application. You should therefore deactivate logging again after your analysis.

This driver log is not identical to the Driver Manager log, which you can activate and deactivate in the ODBC Data Source Administrator on the Tracing tab page.


SQL Mode (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Mode (Microsoft Windows)

Use

If you specify the SQL Mode option, you can use the MaxDB ODBC driver in a different SQL mode. This means that the driver can process not only the ODBC and MaxDB-specific SQL syntax, but also the ORACLE or DB2 syntax, for example.

Specifying this option can simplify the way SQL statements are customized when ODBC applications are migrated from other database systems.

Procedure

...

1. Start the ODBC Data Source Administrator by choosing Start ® Settings ® Control Panel ® Administrative Tools ® Data Sources.

2. Choose Add.

3. Choose the MaxDB ODBC driver and then Finish.

4. Specify the name of the data source, the name of the database instance, and the name of the database computer. Choose Options.

5. In the SQL Mode field, choose an SQL mode.

6. Confirm the windows until the ODBC Data Source Administrator closes.

Result

The next time that you connect to the database computer using this data source, the MaxDB ODBC driver operates in the selected SQL mode.


Isolation Level (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Isolation Level (Microsoft Windows)

Use

MaxDB allows concurrent transactions on database objects. To do this, it uses a lock concept that creates locks on rows and tables to contain individual transactions. The lock operation type plays an important role in this. This is determined by defining an isolation level.

Use the Isolation Level option if you want to change the system default value for the lock operation type (Committed). The value defined in this way then applies for all connections of the data source.

The set lock operation type can be overridden by the application using the function SQLSetConnectAttr and queried with SQLGetConnectAttr.

Overview of the possible lock operation types

 | Dirty Read | Non-Repeatable Read | Phantom Read
Uncommitted | x | x | x
Committed |  | x | x
Repeatable |  |  | x
Serializable |  |  |

The lock operation type Uncommitted corresponds to the weakest isolation level (0), while Serializable corresponds to the strongest isolation level (4).

Procedure

...

1. Start the ODBC Data Source Administrator by choosing Start ® Settings ® Control Panel ® Administrative Tools ® Data Sources.

2. Choose Add.

3. Choose the MaxDB ODBC driver and then Finish.

4. Specify the name of the data source, the name of the database instance, and the name of the database server. Choose Options.

5. In the Isolation Levelfield, select the required lock operation type.

6. Confirm the windows until the ODBC Data Source Administrator closes.

Result

The next time that you connect to the database server using this data source, the MaxDB ODBC driver runs with the selected lock operation type.


Logging SQL Statements (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Logging SQL Statements (Microsoft Windows)

Use

Select the Trace On option for a data source, if you want to log the SQL statements that are sent from the application to the database system. You can set this option for existing data sources or when creating a new data source.

The following data is recorded:

· SQL statement

· Execution time

· Start and end of a session

· CONNECT parameters

· Input and output parameters

Procedure

...

1. Start the ODBC Data Source Administrator by choosing Start ® Settings ® Control Panel ® Administrative Tools ® Data Sources.

2. Choose Add.

3. Choose the MaxDB ODBC driver and then Finish.

4. Specify the name of the data source, the name of the database instance, and the name of the database server, and choose Options.

5. Select the Trace On field or use Browse to choose a file to which you want the log to be written.

6. Confirm the windows until the ODBC Data Source Administrator closes.

Result

The next time that you connect to the database server using this data source, the system logs all SQL statements that are sent by the application to the database system.


Installed Files (Microsoft Windows) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installed Files (Microsoft Windows)

Overview of the files created during installation and their functions

The files are specified relative to the respective installation directory.
(See also: Installation on Microsoft Windows [Page 22])

File Name | Description
sql*.dll | Libraries of the MaxDB ODBC driver
odbcreg.exe | Program for entering the driver information in the registry


MaxDB ODBC Driver on UNIX/Linux (SAP Library - MaxDB Library)

 Entering content frame

Background documentation MaxDB ODBC Driver on UNIX/Linux

Installation on UNIX/Linux

Creating and Changing Data Sources on UNIX/Linux

Installed Files (UNIX/Linux)


Installation on UNIX/Linux (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installation on UNIX/Linux

You have various options for installing the MaxDB ODBC driver:

· as part of the installation profiles Server, Web Tools, or DB Analyzer

· as the individual software component ODBC

You can decide the path under which the tgz package unpacks and the software is installed yourself.

· As part of the rpm package for the call interfaces (only for Linux)

The installation program creates the directory /opt/sdb/interfaces/odbc and stores the MaxDB ODBC driver files there.

You can use the MaxDB ODBC driver on UNIX/Linux both with and without a Driver Manager (Integration of the MaxDB ODBC Driver).

For detailed information on installation, see the Installation Manual.


Integration of the MaxDB ODBC driver (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Integration of the MaxDB ODBC driver

Use

You can use the MaxDB ODBC driver on UNIX/Linux both with and without a Driver Manager.

By entering link commands, you connect the static library libsqlod.a or the dynamic library libsqlod.so with the application. If you use dynamic links, make sure that the dynamic library libsqlod.so can be found by the system at execution time (see, for example, Idconfig, LD_LIBRARY_PATH).

Procedure

Use with a Driver Manager

You can use the following Driver Managers:

· unixODBC 2.0.9 or higher

· iODBC 3.0.5 or higher

Driver Managers simplify the exchange of ODBC drivers and allow the concurrent use of different ODBC drivers. The relevant documentation describes how to integrate an ODBC driver in the Driver Manager. The relevant documentation describes how you integrate an ODBC driver into the Driver Manager.

Use Without a Driver Manager

If you are not using a Driver Manager, you have to enter the data for the MaxDB ODBC driver manually, in either the ~/.odbc.ini or the file /etc/odbc.ini file using the file editor.

Result

The system first uses the valid .odbc.ini file for the respective user from his or her home directory when it assigns data sources. If it cannot find a suitable data source here, it reads the entries in the /etc/odbc.ini file.

Example

Using the ODBC Driver without a Driver Manager

Compile the ODBC application myapp.c with appropriate ODBC header files

cc –c myapp.c –I<ODBC_include>

Static linking of the application myapp

cc –o myapp myapp.o <ODBC_lib>/libsqlod.a

Dynamic linking of the application myapp

cc –o myapp myapp.o –L<ODBC_lib> -lsqlod


Creating and Changing Data Sources on UNIX/Linux (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating and Changing Data Sources on UNIX/Linux

Use

On the UNIX and Linux operating systems, data sources are stored system-specifically in the directory /etc/ in the file odbc.ini or user-specifically in the file ~/.odbc.ini. To create data sources, edit the required file appropriately.

Procedure

...

1. Open an editor.

2. Open the required file.
Specify the name of the data source, the database server, and the database instance in accordance with the following structure:
You can also specify Options for Data Sources [Page 29], if you want to change the system default values.

[<data_source_name>]
ServerDB=<database_name>
ServerNode=<name_of_database_server>
SQLMode=<INTERNAL|DB2|ANSI|ORACLE>
IsolationLevel=<Uncommitted|Committed|Repeatable|Serializable>
TraceFileName=<trace_file_path_and_name>

If you want to specify multiple data sources, repeat the group of specifications above in accordance with the number of data sources.

3. Save your entries.
Your entries become effective when the next ODBC connection is created.


Options for Data Sources (UNIX/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Options for Data Sources (UNIX/Linux)

You can specify various options to influence the way the MaxDB ODBC driver operates. These options become active the next time that you connect to the database server.

The following options are possible:

Option

Comment

SQLMode

Selects the database-specific SQL mode (default value is INTERNAL)

IsolationLevel

Overrides the default value of the MaxDB ODBC driver for the isolation level (the default value is Committed).

TraceFileName

Activates or deactivates the driver log for logging the SQL statements (Default value: No log is written).

If you have set this option, the MaxDB ODBC driver creates a log of the database session. All SQL statements that the application sends to the database system are recorded in the log.

A large number of file operations are performed if you activate logging. This affects the execution speed of the application. You should therefore deactivate logging again after your analysis.


SQL Mode (UNIX/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SQL Mode (UNIX/Linux)

Use

By changing the SQLMode option, you can use the MaxDB ODBC driver in a different SQL mode. This means that the driver can process not only the ODBC and MaxDB-specific SQL syntax, but also the ORACLE or DB2 syntax, for example.

The default value is INTERNAL.

If you migrate ODBC applications from other database systems, specifying this option can simplify the way the SQL statements are customized.

Syntax

SQLMode =
INTERNAL
| DB2
| ANSI
| ORACLE

Procedure

To change the SQLMode option, follow the procedure described under Creating and Changing Data Sources on UNIX/Linux [Page 28].

The value defined in this way then applies for all connections of the data source.


Isolation Level (UNIX/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Isolation Level (UNIX/Linux)

Use

MaxDB allows concurrent transactions on database objects. To do this, it uses a lock concept that creates locks on rows and tables to contain individual transactions. The lock operation type plays an important role in this. This is determined by defining an isolation level.

The system default value for the lock operation type is Committed.

The set lock operation type can be overridden by the application using the function SQLSetConnectAttr and queried with SQLGetConnectAttr.

Syntax

IsolationLevel =
Uncommitted
| Committed
| Repeatable
| Serializable

Overview of the possible lock operation types

 | Dirty Read | Non-Repeatable Read | Phantom Read
Uncommitted | x | x | x
Committed |  | x | x
Repeatable |  |  | x
Serializable |  |  |

The lock operation type Uncommitted corresponds to the weakest isolation level (0), while Serializable corresponds to the strongest isolation level (4).

Procedure

To change the IsolationLevel option, follow the procedure described under Creating and Changing Data Sources on UNIX/Linux [Page 28].

The value defined in this way then applies for all connections of the data source.


Logging SQL Statements (UNIX/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Logging SQL Statements (UNIX/Linux)

Use

The SQL statements sent by the application to the database instance can be logged in a file. The following data is recorded:

· SQL statement

· Execution time

· Start and end of a session

· CONNECT parameters

· Input and output parameters

Only one application can write to a particular log file.

If this option is not set, no log is written (system default value).

Syntax

TraceFileName = <file_name>

<file_name> ::= [<path_name>/]file_identifier

Procedure

To change the TraceFileName option, follow the procedure described under Creating and Changing Data Sources on UNIX/Linux [Page 28].


Installed Files (UNIX/Linux) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Installed Files (UNIX/Linux)

Overview of the files created during installation and their functions

The files are specified relative to the respective installation directory.
(See also: Installation on UNIX/Linux [Page 27])

File Name | Description
libsqlod.a, libsqlod.so | Library of the MaxDB ODBC driver
incl/sql.h | ODBC driver header file (Core API)
incl/sqlext.h | ODBC driver header file (Level 1 API and Level 2 API)
incl/sqltypes.h | ODBC driver header file (Data types)
incl/sqlucode.h | ODBC driver header file (UNICODE)
incl/WINDOWS.H | Header file for the UNIX/Linux platforms
demo/eng/ODBC/sqlexamp.c | C example program for an ODBC application
demo/eng/ODBC/sqladhoc.c | C example program for an ODBC application
demo/eng/ODBC/Makefile | Make file for generating a demo program


SQLDBC Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation SQLDBC Manual

Purpose

SQL Database Connectivity (SQLDBC) is a runtime environment for the development of database applications and database interfaces for MaxDB. Through SQLDBC, applications can access MaxDB database instances, execute SQL statements and edit data. It comprises the runtime library libSQLDBC, the software development kit SQLDBC SDK and the tool sqldbc_cons.

You can use SQLDBC on all operating systems supported by the database system.

Implementation Considerations

SQLDBC is a component of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

If you want to use SQLDBC in open source projects, please observe the license terms. You can find more information at dev.mysql.com/doc/maxdb/FLOSS.html

You can download a detailed programming reference from the MaxDB website; see the Download section.

For more information about the database system, see the documentation Concepts of the Database System; for more about SQL syntax, see the Reference Manual and the SQL Tutorial. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

SQLDBC provides the following functions, among others:

· Unlimited number of database connections and SQL statements

· Complete UNICODE support (UCS2 and UTF-8)

· Flexible result sets (navigation within the result set, changing the result set)

· Piecewise writing of characters and binary data (LOB interface)

· Support of the following SQL and C data types:

¡ CHAR, VARCHAR, SHORT, INT, LONG, FIXED, FLOAT, DOUBLE

¡ BLOB, CLOB

¡ ODBC (NUMERIC, DATE, TIME)

¡ STREAMS (BLOB, CLOB, ABAP and liveCache)

· Internal temporary storage of SQL statements in the parse info cache

· Optimization of SELECT and FETCH statements

· Optimization of the packages (use of multiple segments, use of unoccupied space in packages for administration tasks, use of a mixed INICODE/ASCII mode, alternating buffer technology for INSERT statements)

· Extensive trace options

· Multi-threading (parallel execution of SQL statements, ending long-running SQL statements, synchronization in a multi-threading environment, independence of parallel database connections)

SQLDBC was developed in a similar way to the ODBC and JDBC interfaces and also shares the same object-oriented architecture.

See:

Structure of SQLDBC

SQLDBC Classes

SQLDBC Traces

sqldbc_cons


Structure of SQLDBC (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Structure of SQLDBC

Definition

SQLDBC is comprised of the runtime library libSQLDBC for executing programs that access a MaxDB database instance, the software development kit SQLDBC SDK for developing database applications and database interfaces for MaxDB, and the sqldbc_cons tool for writing traces.

Structure

libSQLDBC

libSQLDBC contains the following libraries:

· Version-independent runtime library libSQLDBC.dll or libSQLDBC.so (UNIX/Linux)

· Version-dependent runtime library libSQLDBC<version>.dll or libSQLDBC<version>.so (UNIX/Linux)

libSQLDBC76.dll for MaxDB 7.6

· Runtime library libSQLDBC_C.dll for the support of native C applications

All libraries run independently of each other and have no dependencies with other MaxDB libraries. They are installed in the <independent_program_path>/pgm directory.

SQLDBC SDK

SQLDBC SDK contains the following files:

· Header file SQLDBC.h for C++

· Header file SQLDBC_C.h for C

· Static and dynamic link libraries for C and C++

The files are installed in the <independent_program_path>/sdk/sqldbc directory.

sqldbc_cons

See sqldbc_cons


SQLDBC Classes (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SQLDBC Classes

Use

The following table gives an overview of the SQLDBC classes:

You can download a detailed programming reference from the MaxDB website; see Concepts of the Database System, Download.

SQLDBC Classes

Name

Description

SQLDBC::SQLDBC_Environment

Base class of the SQLDBC library

You can use the methods of this class to:

· Create and release SQLDBC_Connection objects

· Control SQLDBC traces

· Control runtime behavior (single- and multi-threading, memory management)

· Query SQLDBC properties such as the SQLDBC version

SQLDBC::SQLDBC_Connection

Management of database connections

You can use the methods of this class to:

· Open database sessions

· Control transactions

· Change date and time formats of database sessions

· Get information about a database session, such as the database version

· Create objects with which SQL statements can be executed

SQLDBC::SQLDBC_ConnectProperties

Using the methods of this class, together with a SQLDBC_Connection object, you can assign the following special properties, among others, to a database session or query these properties:

· Session: SQL mode, timeout, isolation level

· Performance: select-fetch optimization, SQL statement cache

· Compatibility: cursor prefix, filling procedure for columns with alphanumeric values (blank padding)

SQLDBC::SQLDBC_Statement

You can use the methods of this class to execute SQL statements without parameters, such as DDL statements.

We recommend that you execute all SQL statements without parameters using the methods of this class.

You can use the methods of this class to:

· Generate results sets (write-protected or changeable)

· Combine SQL statements into group requests

· Query information about result sets such as the number of changed table rows

· Query sequence numbers (serials) of INSERT statements

SQLDBC::SQLDBC_PreparedStatement

This class is derived from the SQLDBC_Statement class. You can use the methods of this class to execute SQL statements with parameters. You enter parameters in SQL statements with ? or :<parameter_name> (see the Reference Manual, Parameter Name (parameter_name)).

You can use the methods of this class to:

· Bind parameters to program variables (necessary before executing SQL statements with parameters)

· Parse SQL statements

· Query information about parameters

· Execute mass requests (batch or array statements)

SQLDBC::SQLDBC_ParameterMetaData

You can use the methods of this class to query data type and length information for parameters in SQL statements.

SQLDBC::SQLDBC_ResultSetMetaData

You can use the methods of this class to query data type and length information for columns in result sets of SQL statements.

SQLDBC::SQLDBC_ResultSet

Processing of result sets that were generated by executing SQL statements with the methods of the class SQLDBC_Statement or the class SQLDBC_PreparedStatement

You can use the methods of this class to:

· Navigate result sets

· Generate excerpts (row sets) from result sets

· Bind program variables for reading the column values of result sets

· Execute block operations for reading part (see SQLDBC_RowSet class) or all of the result set

SQLDBC::SQLDBC_RowSet

Reading of data from result sets

Row sets are excerpts from result sets that were generated with methods of the SQLDBC_ResultSet class.

You can use the methods of this class to:

· Address individual rows within the row set

· Transfer individual column contents into program variables

· Use block operations to transfer column contents into arrays of program variables

SQLDBC::SQLDBC_UpdatableRowSet

This class is derived from the SQLDBC_RowSet class and contains methods for changeable result sets

You can use the methods of this class to:

· Change the contents of columns (UPDATE)

· Delete table rows (DELETE)

· Add new table rows (INSERT)

SQLDBC::SQLDBC_LOB

Processing of column values from LONG columns

You can use the methods of this class to read and write long values piecewise.

SQLDBC::SQLDBC_ErrorHndl

You can use the methods of this class to query the error messages of previous operations.

SQLDBC::SQLDBC_SQLWarning

You can use the methods of this class to query the warnings of previous operations.

See also:

Documentation Reference Manual

SQL Tutorial


SQLDBC Traces (SAP Library - MaxDB Library)

 Entering content frame

Function documentation SQLDBC Traces

Use

There are several SQLDBC traces you can use for troubleshooting and problem analysis.

Traces compromise performance. Use traces only for troubleshooting and problem analysis.

SQLDBC Traces

Trace | Content
SQL | SQL statements (simplest trace, adequate for most analyses)
PACKET | Communication packages
SHORT | Method calls
LONG | Method calls with call parameters (most comprehensive trace)

To configure, start and stop the SQLDBC traces, use the sqldbc_cons tool.

All SQLDBC traces contain, among other things, profile and time stamp data.

The traces are stored in the directory <user_home>\Application Data\sdb (Microsoft Windows) or <user_home>/.sdb (UNIX/Linux) as the files sqldbctrace-<pid>.prt, where <pid> is the process ID. The trace files are overwritten cyclically. See Variables and Examples.

Example

To activate the SQL trace, enter the following command:

sqldbc_cons TRACE SQL ON

Operating system user anna uses the SQLCLI database tool. She uses the SQLCLI database tool to log on to the DEMODB database instance as MONA and queries the data in the CUSTOMER table.

The SQL trace is written in the /home/anna/.sdb/sqldbctrace-19714.prt file:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><PRE><PLAINTEXT>SQLDBC 7.6.0 BUILD 004-101-084-288 Nov 15 2004 23:56:34

--- THREAD 4D02 --- 2004-11-19 09:42:27.223840 ---

2004-11-19 09:42:27.224027 [0x8217CC8]

SERVERNODE: ''

SERVERDB : 'DEMODB'

USER : 'MONA'

CONNECT PROPERTIES: (1 entry)

KEY: 'SQLMODE' VALUE: 'INTERNAL'

CONNECT COMMAND: 'CONNECT "MONA" IDENTIFIED BY ? SQLMODE INTERNAL'

SESSION ID: 1

OK

::SET AUTOCOMMIT ON 2004-11-19 09:42:27.279370 [0x8217CC8]

::EXECUTE DBS 'SQLCURS_2' 2004-11-19 09:42:27.279581 [0x8219730]

SQL COMMAND: 'SELECT * FROM CUSTOMER'

RESULT COUNT: -1

CURSOR NAME: 'SQLCURS_2'

::GET RESULT SET [0x8219730]

CURSOR NAME: 'SQLCURS_2' [0x8219E08]

::FETCH NEXT 'SQLCURS_2' 2004-11-19 09:42:27.282629

...


sqldbc_cons (SAP Library - MaxDB Library)

 Entering content frame

Component documentation sqldbc_cons

Purpose

You can use sqldbc_cons to configure and control traces for the MaxDB SQLDBC interface.

Integration

sqldbc_cons is an integral part of MaxDB SQLDBC.

Features

Syntax

sqldbc_cons [<command>] [<option>]

You can only enter one option at a time. They cannot be combined.

Commands

<command> | Description
TRACE SQL ON|OFF | Switches the SQL trace on/off See SQLDBC Traces
TRACE PACKET ON|OFF | Switches the PACKET trace on/off
TRACE SHORT ON|OFF | Switches the SHORT trace on/off
TRACE LONG ON|OFF | Switches the detailed LONG trace on/off
TRACE OFF | Switches off all SQLDBC traces
TRACE FILENAME <file_name> | Sets the name <file_name> of the trace file If you enter %p in the name, it is then replaced by the process ID of the application for which the trace is written.
TRACE SIZE <size> | Defines the size <size> of the trace file ( in bytes)
SHOW ALL | Displays the configuration of the traces and current information about the traces.
SHOW CONFIG | Displays the configuration of the traces
SHOW TRACESETTINGS | Displays current information about the traces

Options

<option> | Description
-f | Forces the execution of the command
-h | Displays the help
-p <pid> | Executes the command only for the process with the process ID <pid>.
-v | Displays detailed information (verbose)


JDBC Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation JDBC Manual

Purpose

You can use the MaxDB JDBC driver to access the MaxDB database system via the JDBC interface. It can be used on all operating systems supported by the database system.

Implementation Considerations

The MaxDB JDBC driver is an integral part of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

To be able to use the MaxDB JDBC driver, you also need the following software:

· for JDBC 2.0: JRE 1.2 or, for application development, JDK 1.2

· for JDBC 3.0: JRE 1.4 or, for application development, JDK 1.4

To use this documentation effectively, you must have a working knowledge of the Java programming language and the JDBC specification.

For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

The MaxDB JDBC driver offers the following functions and more:

· Connecting to the Database Instance

· Database Administration with Java

· Loading and Unloading Data with Java

Additional properties of the MaxDB ODBC drivers

· “100 percent pure Java“

· Supports JDBC 2.0 Standard Extension API (DataSource, XADataSource, and ConnectionPoolDataSource)

· Drivers of type 4 (the connection to the database system is established using the MaxDB-specific network protocol)

Constraints

This documentation does not provide a description of the JDBC interface. For information about this interface, see java.sun.com/products/jdbc

Example

Database System Concepts, Example: Connecting OpenOffice to MaxDB using JDBC (Linux)

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples


Adding the JDBC Driver to the Environment Variable CLASSPATH (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Adding the JDBC Driver to the Environment Variable CLASSPATH

Use

To ensure that the Java Virtual Machine finds the MaxDB JDBC driver sapdbc.jar, add it to the environment variable CLASSPATH.

If you do not want to include the JDBC driver in environment variable CLASSPATH, you can transfer the complete path of sapdbc.jar using the –cp option when you call the Java Virtual Machine:

Microsoft Windows:

java -cp <independent_program_path>\runtime\jar\sapdbc.jar

UNIX (sh):

java -cp <independent_program_path>/runtime/jar/sapdbc.jar

Procedure

...

1. To add the path of the JDBC driver to the environment variable CLASSPATH, proceed as follows:

Microsoft Windows:

set CLASSPATH=%CLASSPATH%;<independent_program_path>\runtime\jar\sapdbc.jar

UNIX (sh)

export CLASSPATH=$CLASSPATH:<independent_program_path>/runtime/jar/sapdbc.jar

2. If necessary, also add the environment variable CLASSPATH to the login profile of the current operating system user.

See also:

Variables and Examples


Registering the JDBC Driver in the JDBC Driver Manager (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Registering the JDBC Driver in the JDBC Driver Manager

Procedure

Load the class com.sap.dbtech.jdbc.DriverSapDB:

Class.forName ("com.sap.dbtech.jdbc.DriverSapDB");

Result

The class is registered in the JDBC Driver Manager.

If an exception of the class java.lang.ClassNotFoundException is triggered, the Java Virtual Machine could not find the JDBC driver. Add the JDBC driver to the environment variable CLASSPATH.


Connecting to the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Connecting to the Database Instance

Purpose

Use method java.sql.DriverManager.getConnection to connect a database application with a database instance via JDBC.

You require the following information:

· Database name

· Name and password of the database user

· If the database runs on a remote computer: name of the computer

Prerequisites

The X Server is started.

Process Flow

...

1. Define the connection URL. This URL contains the name of the database instance, and, if you are connecting to a remote computer, the name of this computer.

2. Specify any other connection options

3. Call the method java.sql.DriverManager.getConnection


Defining the Connection URL (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Defining the Connection URL

Use

You use the method java.sql.DriverManager.getConnection to connect to the database instance. You use the url parameter in this method to specify the name of the database computer and the database instance.

Procedure

jdbc:sapdb://<database_computer>[:<port>]/<database_name>[<options>]

Parameter | Description
<database_computer> | Name of database computer
<port> | Port of the X server on the database computer. You only have to specify the port if you are not using the default value. See X Server, Ports and Protocols of the X Server
<database_name> | Name of database instance
<options> | Connection Options

Examples

· Parameter url for a connection to database instance DEMODB on the remote computer PARMA:

jdbc:sapdb://PARMA/DEMODB

· Parameter url for a connection to database instance DEMODB on the remote computer PARMA via port 9876. Prerequisite: the X Server uses the same port.

jdbc:sapdb://PARMA:9876/DEMODB

· Parameter url for a connection to database instance DEMODB on a local computer:

jdbc:sapdb:///DEMODB

· Parameter url for a connection to the database instance DEMODB on the local computer; the SQL mode is ORACLE and a command timeout of 120 seconds is defined:

jdbc:sapdb:///DEMODB?sqlmode=ORACLE&timeout=120:

See also:

Examples for Connecting to the Database Instance


Specifying Other Connection Options (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Specifying Other Connection Options

Use

You can use connection options to define the properties of a database instance connection.

Procedure

Usually, an instance of the class java.util.Properties is used to send the connection options to the method java.sql.DriverManager.getConnection.

However, you can also specify these options as part of the connection URL. In this case, you must enter them in the following format:

?<name>=<value>[&<name>=<value>...]

Switch on the JDBC trace for the database instance DEMODB on the local computer under Linux. The system writes the trace to file /tmp/jdbctrace.txt.

jdbc:sapdb:///DEMODB?trace=/tmp/jdbctrace.txt

Connection Options

Option

Description

user

Name of the database user

See Database System Concepts, Conventions for User Names and Passwords

password

Password of the database user

sqlmode

SQL mode

Possible values: ORACLE | INTERNAL

The default is INTERNAL.

cachelimit

Cache limit of the connection

timeout

Command timeout of the connection (in seconds)

isolation

Isolation Level of the connection

In the Java method, you can specify the isolation level as either a character string or an integer, as declared in the class java.sql.Connection.

The following character strings are possible: TRANSACTION_READ_UNCOMMITTED, TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE

autocommit

AUTOCOMMIT Mode

Possible values:

on: A COMMIT is performed after every command.

off: Transactions must be controlled with the methods commit () and rollback ().

The default value is on.

reconnect

RECONNECT mode

Possible values:

on: The system automatically reconnects to the database instance after a command timeout.

off: There is no automatic new connection.

The default value is on.

trace

Path and name of the file that is written to the JDBC trace

tracesize

Maximum number of lines in the file for the JDBC trace. When the maximum number is exceeded the content of the file is overwritten cyclically.

cache

The internal information used by objects in the class java.sql.PreparedStatement is saved in the connection object. If more objects are generated by the same SQL statement in the same class, then this internal information can be used again, and no new request needs to be sent to the database.

Possible values:

all: all SQL statements are saved

A combination of s (SELECT), i (INSERT), u (UPDATE), d (DELETE): Only SQL statements of this type are saved

cache=iud

Only INSERT, UPDATE, and DELETE statements are saved.

unicode

The user name, password and SQL statements are sent to the database in UNICODE.

connectiontimeout

Timeout for the connection in milliseconds

The default value is 0 (no timeout).

transport

Communication method for communicating with the DBM server

Possible values:

socket: TCP/IP connection

secure: SSL connection; see Setting up an SSL Connection

ignoreHostNameInServerCert

Specifies whether the name of the database computer is compared to the name specified in the SSL certificate in case of an SSL connection.

Possible values:

on: no check

off: check (system default)

acceptServerCertificateAlways

Specifies whether the SSL certificate of the database computer is checked.

Possible values:

on: no check (system default value)

off: check

See also:

Examples for Establishing a Connection to the Database Instance


Setting Up an SSL Connection (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Setting Up an SSL Connection

Use

You may use SSL to encrypt communication between the Java application and the database instance. You configure the Java runtime environment and adjust the JDBC connection options.

Prerequisites

· You use MaxDB in an SAP System.

· You have configured MaxDB installation for SSL. See service.sap.com/installNW2004s ® SAP NetWeaver 2004s <ABAP | Java> on <operating_system>: MaxDB

· Java 1.4.0 or higher is installed

· MaxDB 7.6 or higher is installed

Procedure

Once you have received the server certificate from a Certification Authority included on the list of trusted Certification Authorities of the Java runtime environment, you can begin with step 4.

...

1. To add the server certificate to the list of trusted certificates, import it using the keytool program from Java runtime environment to a trust store file.

keytool –import -keystore <TRUSTSTORE> -file <CERTIFICATE>

<TRUSTSTORE> = name of the trust store file

<CERTIFICATE> = name of the file where the certificate of the MaxDB server is stored.

2. Enter the password for the trust store file.

3. Adjust the call of the Java application, which should communicate with the database instance using SSL, as follows:

-Djavax.net.ssl.trustStore=<TRUSTSTORE> -Djavax.net.ssl.trustStorePassword=<PASSWORD>

<PASSWORD> = Password for the trust store file

4. Add the transport=secure option to the connection options. See Specifying Other Connection Options.

To perform tests, you can switch off certain checks for starting the SSL connection by specifying the following connection options.

Connection option | Description
acceptServerCertificateAlways | yes: The certificate of the MaxDB server is not matched to one of the trusted certificates in the list. It is not checked whether the validity period of the certificate has expired.
ignoreHostNameInServerCert | Yes: The computer name stated in the MaxDB certificate is not checked. no: A check is carried out to determine whether the name of the MaxDB server for which a connection is started and the common name stated in the server certificate, are identical.

Only switch off the checks for development or testing purposes because otherwise the security of the connection to the database instance is not guaranteed or only partially guaranteed.


Calling the Method java.sql.DriverManager.getConnection (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Calling the Method java.sql.DriverManager.getConnection

Use

You can call the method java.sql.DriverManager.getConnection with different parameters. This results in three different options for declaring this method.

Procedures

· The connection options are specified as part of the connection URL:

getConnection (String url, String user, String password)

· The connection options, name and password of the database user are specified as part of the connection URL url:

getConnection (String url)

· The connection options, name and password of the database user are transferred in an object of the java.util.Properties class:

getConnection (String url, java.util.Properties info)

See also:

Examples for Connecting to the Database Instance


Examples for Connecting to the Database Instance (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples for Connecting to the Database Instance

Variables used, connection options and example data

Variable | Meaning | Connection option | Example
 | Name of the database user | username | MONA
 | Password of the database user | password | RED
<database_name> | Name of database instance |  | DEMODB
<database_computer> | Name of the computer on which the database instance is running |  | PARMA
 | SQL mode | sqlmode | ORACLE

Example 1

You use getConnection (String url, String user, String password). The connection options are specified as part of the connection URL.

...

1. Content of the variable url:
"jdbc:sapdb://PARMA/DEMODB?sqlmode=ORACLE"

2. Calling the method:
java.sql.Connection conn = java.sql.DriverManager.getConnection (url, username, password);

Example 2

You use getConnection (String url). The connection options, name and password of the database user are specified as part of the connection URL:

...

1. Content of the variable url:
"jdbc:sapdb://PARMA/DEMODB?sqlmode=ORACLE&user=MONA&password=RED"

2. Calling the method:

java.sql.Connection conn = java.sql.DriverManager.getConnection (url);

Example 3

You use getConnection(String url, Properties info). The connection options, name and password of the database user are transferred in an object of the java.util.Properties class.

...

1. Content of the connection url:

"jdbc:sapdb://PARMA/DEMODB"

       2.      Creating an object of the class java.util.Properties:

java.util.Properties properties = new java.util.Properties ();

3. Defining the connection options:

properties.setProperty ("user", "MONA");

properties.setProperty ("password", "RED");

properties.setProperty ("sqlmode", "ORACLE");

4. Calling the method:

java.sql.Connection conn = java.sql.DriverManager.getConnection (url, properties);


Exceptions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Exceptions

Use

If errors occur, exceptions of the following classes can be triggered.

Exceptions

Exception | Meaning
com.sap.dbtech.jdbc.exceptions.DatabaseException | Error when executing an SQL statement
com.sap.dbtech.jdbc.exceptions.InternalJDBCError | Error in the internal data of the JDBC driver
com.sap.dbtech.jdbc.exceptions.InvalidArgumentValue | Invalid parameter value sent to a method
com.sap.dbtech.jdbc.exceptions.InvalidColumnException | Invalid column of an object in the class ResultSet accessed
com.sap.dbtech.jdbc.exceptions.JDBCDriverException | Error that was noticed by the JDBC driver
com.sap.dbtech.jdbc.exceptions.NotSupportedException | Attribute is not supported by the JDBC driver
com.sap.dbtech.jdbc.exceptions.ObjectIsClosedException | Object in the class Connection, Statement, or ResultSet accessed after method close called for this object.
com.sap.dbtech.jdbc.exceptions.PrepareExecution | Error when preparing an SQL statement
com.sap.dbtech.jdbc.translators.ConversionExceptionSapDB | Error when converting between Java and SQL data types

All classes are subclasses of the java.sql.SQLException class.

This means that if you want to write JDBC code which is independent of the database product, you do not need to query the above exceptions explicitly in a catch statement. Instead, you only need to query exceptions of the class java.sql.SQLException.


Example of a Database Query (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example of a Database Query

The following example shows how to establish a connection to the database instance and how to execute simple database queries. The individual steps are listed in the comments in the example.

import java.sql.*;

public class HelloSapDB {

public static void main(String[] args)

throws ClassNotFoundException, SQLException

{

String database_user = "MONA";

String password = "RED";

String database_computer = "GENUA";

String database_name = "DEMODB";

/*

* Registering the JDBC Driver in the JDBC Driver Manager

*/

Class.forName ("com.sap.dbtech.jdbc.DriverSapDB");

/*

* Defining the Connection URL

*/

String url = "jdbc:sapdb://" + database_computer + "/" + database_name;

/*

* Calling the java.sql.DriverManager.getConnection method

*/

Connection connection = DriverManager.getConnection (url, database_user, password);

/*

* Executing a database query; Database queries are formulated in Structured Query Language (SQL).

*/

Statement stmt = connection.createStatement ();

ResultSet resultSet = stmt.executeQuery ("SELECT 'hello world' FROM dual");

resultSet.next ();

String hello = resultSet.getString (1);

System.out.println (hello);

/*

* Closing all objects

*/

resultSet.close ();

stmt.close();

connection.close ()

}

}


Database Administration with Java (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Database Administration with Java

Purpose

You can use Java programs for the administration of database instances. For administration purposes, the Java package com.sap.dbtech.powertoys provides you with the Java class com.sap.dbtech.powertoys.DBM. This Java package is included in the software of the JDBC driver.

Process Flow

...

1. Connecting to the Database Manager with Java using Java class com.sap.dbtech.powertoys.DBM

2. Execute DBM commands with Java

As a result, you get the return codes of the commands. The return values of the commands are available as a Java variable that you can easily edit and format. Exceptions are generated in error situations. You can catch and handle these exceptions (see Error Treatment for Errors of the Database Manager).

3. Ending the Connection to the Database Manager

Example

Example for Querying the Operational State of a Database Instance

See also:

Documentation for the Database Manager CLI


Connecting to the Database Manager with Java (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connecting to the Database Manager with Java

Use

For database administration with Java you have to logon to the correct version of the Database Manager first.

To do this, you can use one of two different Java methods. The method you choose depends on whether you want to administer an existing database instance or create a new database instance.

Procedure

· Connect to an existing database instance

· Connect to a certain software version


Connecting to an Existing Database Instance (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connecting to an Existing Database Instance

Use

To administrate an existing database instance with Java, you first establish the connection with the Database Manager that corresponds to the software version of the database instance in question. Use the DBM.dbDBM Java method for this.

Procedure

import com.sap.dbtech.powertoys.*;

…

<lvalue> = DBM.dbDBM (<database_computer>, <database_name>);

Parameter | Description
<lvalue> | Expression of the DBM class (such as a variable) to which a value can be assigned
<database_computer> | Name of the database computer
<database_name> | Name of the database instance

See also:

Executing DBM Commands with Java

Example for Displaying the Operational State of a Database Instance


Connection with a Specific Software Version (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connection with a Specific Software Version

Use

To create a new database instance, you need to set up a connection between the Database Manager and the DBM Server. The DBM Server must have the software version for which you want to create this new database instance. To set up the connection, you use the Java method DBM.dbrootDBM.

Prerequisites

To execute the DBM command that creates a database instance, you need the rights of an operating system user for the computer on which you want to create the database instance.

To create a database instance on a remote server running Microsoft Windows, you must also have administrator authorizations for the database server and the log on as batch job authorization. For information about administrating operating system users, see your operating system documentation.

To display the paths and versions of software installed on your computer, you enter dbmcli db_enum in the command field.

Procedure

import com.sap.dbtech.powertoys.*;

…

<lvalue> = DBM.dbrootDBM (<database_computer>, <dependent_path>);

Parameter | Description
<lvalue> | Expression of the DBM class (such as a variable) to which a value can be assigned
<database_computer> | Name of the database computer If you want to connect to a DBM Server on the local computer, you can specify the value null.
<dependent_path> | Installation path of the version-specific database software If you specify the value null, then the connection to the DBM server is established with the highest version number.

See also:

Variables and Examples


Executing DBM Commands with Java (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing DBM Commands with Java

Use

You can use the Java method cmd to execute DBM commands. The parameter cmdString must contain a valid DBM command.

The return code of the method contains the return code of the DBM command.

Prerequisites

Most DBM commands can only be executed when you are logged on to the database instance (see Connecting to the Database Manager with Java). For information on whether the execution of a DBM command requires this logon, see the descriptions of the commands in the documentation Database Manager CLI.

Procedure

You use method cmd.

public String cmd (String cmdString)

throws

com.sap.dbtech.rte.comm .RTEException,

com.sap.dbtech.powertoys.DBMException;

Example

Using the method cmd to execute the DBM command user_logon (for logging on to the Database Manager) for the DBM user OLEG with the password MONDAY:

String result = session.cmd ("user_logon OLEG,MONDAY");

See also:

Example for Displaying the Operational State of a Database Instance


Ending the Connection to the Database Manager (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Ending the Connection to the Database Manager

Use

You want to end the connection to the Database Manager by calling the method release. This method is called implicitly if the Garbage Collector deletes an object in the class DBM.

Procedure

<object_of_class_DBM>.release ();

Example

session.release ();

See also:

Example for Displaying the Operational State of a Database Instance


Error Handling for Database Manager Errors (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Error Handling for Database Manager Errors

Use

If an error occurs in the Database Manager, an exception of the class com.sap.dbtech.powertoys.DBMException is raised.

If you cannot connect to the Database Manager, or if an existing connection is broken, an exception of the class com.sap.dbtech.rte.comm.RTEException is raised.

Example

Using the method cmd to execute the DBM command db_state for displaying the operational state of the database instance. An error message is sent if an exception of the class RTEException or DBMException is raised.

try {

String result = session.cmd ("db_state");

}

catch (RTEException RTEExc) {

System.out.println ("connection broken: " + rteExc.toString ());

}

catch (DBMException DBMExc) {

System.out.println ("command failed: " + dbmExc.toString ());

}


Example for Displaying the Operational State of a Database Instance

 Entering content frame

This graphic is explained in the accompanying text Example for Displaying the Operational State of a Database Instance

This example illustrates how to connect to the database instance with a Java interface. It then shows you how to execute the DBM command for displaying the operational state of the database instance, and how to end the connection to the Database Manager. The individual steps are listed in the comments in the example.

import com.sap.dbtech.powertoys.*;

import com.sap.dbtech.rte.comm.RTEException;

public class DBMDemo

{

public

DBMDemo ()

{

}

public static void main(String[] args)

{

DBM session;

try {

// Connecting to the database instance DEMODB

// Connection to an Existing Database Instance

session = DBM.dbDBM (null, "DEMODB");

}

catch (RTEException rteExc) {

System.out.println ("connect failed: " + rteExc.toString ());

return;

}

try {

// Executing DBM Commands

// Logging on as DBM user OLEG with password MONDAY

session.cmd ("user_logon OLEG,MONDAY");

// Displaying the operational state of the database instance

String result = session.cmd ("db_state");

System.out.println(result);

}

catch (RTEException rteExc) {

System.out.println ("connection broken: " + rteExc.toString ());

}

catch (DBMException dbmExc) {

System.out.println ("command failed: " + dbmExc.toString ());

}

finally {

try {

// Ending the Connection to the Database Manager

session.release ();

}

catch (RTEException rteExc) {

// ignore

}

}

}

}


Exporting and Importing Data with Java (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Exporting and Importing Data with Java

Purpose

You can use the Loader program to control the way you export and import data with Java programs. For this purpose, the Java package com.sap.dbtech.powertoys provides you with the Java class com.sap.dbtech.powertoys.Loader. This Java package is included in the software of the JDBC driver.

Process Flow

...

1. Connecting to the Loader with Java

2. Executing Loader Commands with Java

As a result, you get the return codes of the Loader commands and SQL statements. The return values of the commands and statements are available as a Java variable that you can easily edit and format. In error situations, exceptions are generated, which you can catch and handle (see Error Handling for Loader Errors ).

3. Ending the Connection to the Loader

Example

Example for Creating a Table with Java

See also:

Loader documentation


Connecting to the Loader with Java (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Connecting to the Loader with Java

...

1. Cal the Loader.

import com.sap.dbtech.powertoys.*;

…

<lvalue> = new Loader ();

<lvalue> = new Loader (<loader_computer>);

Parameter | Description
<lvalue> | Expression of the class Loader (such as a variable) to which a value can be assigned
<loader_computer> | Name of the computer on which the Loader is called You can call the Loader on a remote computer. When you call the constructor Loader (<loader_server_name>), the Loader is started on the remote computer. If you specify file names in the Loader commands while connected to this remote computer, then these file names refer to the file system of this computer.

2. To establish a connection to the database instance, execute Loader commands USE SERVERDB and USE USER.

See also:

Executing Loader Commands and SQL Statements with Java

Example for Creating a Table with Java


Executing Loader Commands and SQL Statements with Java (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Executing Loader Commands and SQL Statements with Java

Use

You can use the Java method cmd to execute Loader commands and SQL statements supported by the Loader. The parameter cmdString must contain a valid Loader command or a valid SQL statement.

The return code of the method contains the return code of the Loader command or SQL statement.

Prerequisites

· Connecting to the Loader with Java

· For the prerequisites that you must meet before you can execute Loader commands or SQL statements, see the appropriate descriptions of the commands and SQL statements in the Loader documentation.

Procedure

You use method cmd.

public String cmd (String cmdString)

throws

com.sap.dbtech.rte.comm .RTEException,

com.sap.dbtech.powertoys.LoaderException;

Example

Using the method cmd to execute the CREATE TABLE statement for creating the table LOADERTEST:

String result = session.cmd ("CREATE TABLE LOADERTEST ("+ "TESTCOL VARCHAR(20) )");

System.out.println(result);

See also:

Example for Creating a Table with Java


Ending the Connection to the Loader (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Ending the Connection to the Loader

Use

You want to end the connection to the Loader by calling the method release. This method is called implicitly if the Garbage Collector deletes an object in the class Loader.

Procedure

<object_of_class_Loader>.release ();

Example

session.release ();

See also:

Example for Creating a Table with Java


Error Handling for Loader Errors (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Error Handling for Loader Errors

Use

If an error occurs in the Loader, an exception of the class com.sap.dbtech.powertoys.LoaderException is raised.

If you cannot connect to the Loader, or if an existing connection is broken, an exception of the classcom.sap.dbtech.rte.comm.RTEException is raised.

Example

You execute the SET command using Java. An error message is output if an exception of the class RTEException or LoaderException is raised.

try {

String result = session.cmd ("SET MAXERRORCOUNT 0");

}

catch (RTEException rteExc) {

System.out.println ("connection broken: " + rteExc.toString ());

}

catch (LoaderException loaderExc) {

System.out.println ("command failed: " + loaderExc.toString ());

}


Example for Creating a Table with Java (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example for Creating a Table with Java

This example illustrates how to connect to the database system with the Java interface. It then shows you how to use an SQL statement supported by the Loader to create a table, and how to end the connection with the Loader. The individual steps are listed in the comments in the example.

import com.sap.dbtech.powertoys.*;

import com.sap.dbtech.rte.comm.RTEException;

public class LoaderDemo

{

public

LoaderDemo ()

{

}

public static void main(String[] args)

{

Loader session;

try {

// Connecting to the Loader

session = Loader.dbLoader (null, null);

}

catch (RTEException rteExc) {

System.out.println ("connect failed: " + rteExc.toString ());

return;

}

try {

// Executing Loader Commands:

// Logging on to the database instance DEMODB

// as database user MONA with password RED

session.cmd ("use serverdb DEMODB");

session.cmd ("use user MONA RED");

// Creating a table LOADERTEST with Java

String result = session.cmd ("CREATE TABLE LOADERTEST ("

+ "TESTCOL VARCHAR (20) )");

System.out.println(result);

}

catch (RTEException rteExc) {

System.out.println ("connection broken: " + rteExc.toString ());

}

catch (LoaderException LoaderExc) {

System.out.println ("command failed: " + LoaderExc.toString ());

}

finally {

try {

// Ending the Connection to the Loader

session.release ();

}

catch (RTEException rteExc) {

// ignore

}

}

}

}


Perl Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Perl Manual

Purpose

You can use the SAP::DBTech::dbm and SAP::DBTech::loader module to access the Database Manager and Loader database tools using Perl scripts. You can use these modules on all operating systems supported by the database system.

You can use the module DBD::MaxDB with Perl scripts to execute SQL statements in the database system.

Implementation Notes

The modules SAP::DBTech::dbm and SAP::DBTech::loader are part of the MaxDB software. For information on where to obtain MaxDB software and how to install it, see the Download section and the Installation Manual.

You can download the DBD::MaxDB module at search.cpan.org/~maxdb/.

To use this documentation effectively, you must have a working knowledge of the Perl programming language. For more information about the database system, see Concepts of the Database System. For quick access to all documentation and an explanation of the most important terms, use the alphabetical Glossary.

Features

Configuring the Perl Module

Perl Modules

Name | Programming Interface | Use
SAP::DBTech::dbm | Database Manager | Automates program actions for creating new database instances and administering existing database instances
SAP::DBTech::loader | Loader | Automates program actions for loading and unloading data and the database catalog
DBD::MaxDB | SQL | Allows a program to send SQL queries to the database and the results to be processed.

See also:

Concepts of the Database System,

· Syntaxnotation

· Variables and Examples


Configuring the Perl Modules (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the Perl Modules

Prerequisites

You have installed the Perl modules in the <perl_dir>directory.

If you installed the Perl modules with the installation program (see the Installation Manual), it will be located in the <perl_dir>=<dependent_path>/runtime/perl directory.

Procedure

Add <perl_dir> to the PERL5LIB environment variable:

· Microsoft Windows:

set PERL5LIB=%PERL5LIB%;<perl_dir>

· Unix/Linux (sh/bash):

PERL5LIB=$PERL5LIB:<perl_dir>
export PERL5LIB


Module SAP::DBTech::dbm (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Module SAP::DBTech::dbm

Syntax

use SAP::DBTech::dbm;

Use

SAP::DBTech::dbm is a module developed in the Perl programming language for the MaxDB database system. You can use this module in Perl scripts to create new database instances and manage existing database instances.

The module SAP::DBTech::dbm enables you to execute all DBM commands. Unlike executing these commands with the Database Manager CLI, you can handle any errors and generate the DBM commands dynamically at runtime.

Module Content

Class DBM

See also:

Examples for the Module SAP::DBTech::dbm

Troubleshooting for the Module SAP::DBTech::dbm


DBM Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation DBM Class

Use

DBM is a class of the SAP::DBTech::dbm module . An instance of this class corresponds to a connection to a DBM Server .

Class Content

The DBM class contains the following methods:

cmd (cmd_string)

rawCmd (cmd_string)

release ()

Using the Constructor

$session = new DBM ($database_server, $database_name, $dependent_path, $user_info);

Parameter | Description
$database_server | Network name of the computer that is to be connected. The default system value is the local computer.
$database_name | Name of the database instance that is to be connected. This information is optional.
$dependent_path | Installation path of the database software(See also: Database System Concepts, Directories) This information is optional.
$user_info | A string in the format <username>,<password> The specified user logs on to the DBM Server program. This information is optional.

If there are multiple installations of the database software on your computer, you can use the $database_name and $dependent_path parameters to control which version of the DBM Server program is started.

Case 1 – You want to create a new database instance with the latest software installation or you want to display information about the existing database instances and software versions:

Do not specify $database_name or $dependent_path.

The system then starts the DBM server of the software installation that has the highest version number.

Case 2 – You want to administer a specific database instance.

Specify $database_name, but do not specify $dependent_path.

The system then starts the DBM server that corresponds to the specified database instance.

Case 3 – You want to create a new database instance for a specific software version.

Specify $dependent_path, but do not specify $database_name.

The system then starts the DBM server of the specified software installation.

To generate a $session connection object for the TST database on the current computer, specify the following:

$session = new DBM ('', 'TST', '', 'DBM,DBM');


Method cmd (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method cmd

Use

$result = $session->cmd ($cmd_string);

cmd is a method of the class DBM. You use this method to send the DBM command specified under $cmd_stringto the program DBM Server.

Result

The result of the DBM command is returned.

If the DBM Server program registers an error, an exception of the class DBMServError is raised.

Specifying a valid DBM command

$result = session->cmd
('db_state');
print "$result\n";

Output:

State

OFFLINE

Specifying an invalid DBM command

$result = $session->cmd ('invalid command');
print "$result\n";

Output:

Error DBM Server: -24977 ERR_COMMAND: unknown command "invalid" at /opt/sapdb/misc/SAP/DBTech/dbm.pm line 89.

(See also: Method rawCmd)


Method rawCmd (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method rawCmd

Use

$result = $session->rawCmd ($cmd_string);

rawCmd is a method of the class DBM. You use this method to send the DBM command specified under $cmd_string to the program DBM Server.

Any errors in the DBM Server do not raise an exception. The return code starts with OK if the command was executed successfully; it starts with ERR if the command failed.

(See also: Method cmd)

Result

The result of the DBM command is returned.

Specifying a valid DBM command

$result = session->rawCmd ('db_state');
print "$result\n";

Output:

OK

State

OFFLINE

Specifying an invalid DBM command

$result = $session->rawCmd ('invalid command');
print "result\n";)

Output:

ERR

-24977,ERR_COMMAND: unknown command "invalid"


Method release (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method release

Use

$session->release ();

release is a method of the class DBM. It ends the connection to the program DBM Server.


Examples for the SAP::DBTech::dbm Module (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples for the SAP::DBTech::dbm Module

To create a connection, copy the corresponding arguments from the following examples to the command line.

Use the following command to call the sample.py Python script and log on to the HOTELDB database instance with the DBM user name and password.

python sample.py DBM DBM HOTELDB

Generating a Connection

# To reference Perl libraries:

# ------------------------------

use SAP::DBTech::dbm;

# To parse the call arguments

# --------------------------

my $user_name = $ARGV [0];

my $password = $ARGV [1];

my $database_name = $ARGV [2];

# To create a Database Manager session:

# ---------------------------------------

my $session = new DBM ('', $database_name, '', "$user_name,$password");

# To log off:

# -------------------------------------

$session->release ();

The following examples specify a shortened login process:

session = sapdb.dbm.DBM (’’, $ARGV [2], $ARGV [0] . ’,’ . $ARGV [1])

Creating a List of all Databases

You can use the cmd method to execute Database Manager statements. The result is a character string that can be further processed using Perl.

# To reference Perl libraries:

# ------------------------------

use SAP::DBTech::dbm;

# To create a Database Manager session:

# ------------------------------------------------------

my $session = new DBM ('', $ARGV [2], '', $ARGV [0] . ',' . $ARGV [1]);

# To execute the command that is listed for all database

# instances. The result is a character string.

output = session.cmd ('db_enum')

my $dbstate = 'offline';

my $lastdb = '';

# Individual database instances are separated by line breaks.

foreach my $line (split /\n/, $output){

# Data fields are separated by tab characters.

my ($name, $instroot, $release, $kind, $state) = split /\t/, $line;

if ($name ne $lastdb) {

# Several lines exist for each database instance,

# max. one line for each of the following core variants:

# fast, slow and test.

if ($lastdb ne '') {

print "$lastdb\t$dbstate\n";

}

$lastdb = $name;

$dbstate = 'offline';

}

# The database is active if one of the core variants

# is displayed as 'running'.

if ($state eq 'running') {

$dbstate = $state;

}

}

print "$lastdb\t$dbstate\n";

$session->release ();

Handling Error Situations

If an error occurs within a cmd method, an exception is generated. This exception can be intercepted by eval and queried using the $@ system variable.

# To reference Perl libraries:

# ------------------------------

use SAP::DBTech::dbm;

# To create a Database Manager session:

# -----------------------------------------

my $session = new DBM ('', $ARGV [2], '', $ARGV [0] . ',' . $ARGV [1]);

foreach my $cmd (('db_state', 'invalid command')) {

eval {

my $result = $session->cmd ($cmd);

# To output the result:

print "$cmd: OK $result\n";

};

if ($@) {

# To output the error message:

print "$CMD: ERR $@\n";

}

}

$session->release ();


Troubleshooting for the Module SAP::DBTech::dbm (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Troubleshooting for the Module SAP::DBTech::dbm

When errors occur, the methods of the module SAP::DBTech::dbm raise one of the following exceptions:

Exception CommunicationError

Exception DBMServError


Exception CommunicationError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Exception CommunicationError

Exceptions of the type CommunicationError are raised if no connection can be made to the DBM Server, or if an existing connection has been broken.

They have the following format:

Communication Error: $message

$message

Text of the error message

You can determine the CommunicationError type of an exception by comparing it with the regular expression Communication Error: (.*).

The DBM Server to which you are trying to connect does not exist:

eval { $session = new DBM
('unknownhost', '');}
if ($@) {
print "$@\n";
}

Output:

Communication Error: unknown host name


Exception DBMServError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Exception DBMServError

Exceptions of the type DBMServError are raised if the DBM Server registers an error.

They have the following format:

Error DBM Server: $errorCode $errorSymbol: $message

$errorCode | Number of the error message (see also: the documentation Messages)
$errorSymbol | Short text of the error message
$message | Long text of the error message

You can determine the DBMServError type of an exception by comparing it with the regular expression Error DBM Server: (-?[0-9]+) ([A-Z_]+): (.*).


SAP::DBTech::loader Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SAP::DBTech::loader Module

Syntax

use SAP::DBTech::dbm;

Use

SAP::DBTech::loader is a module developed in the Perl programming language for the MaxDB database system. You can use this module in Perl scripts to import data using Loader.

The SAP::DBTech::loader module allows you to execute all Loader commands that you can execute using the Loader tool. It also allows you to react flexibly to error situations and dynamically generate commands at runtime.

Module Content

Loader Class

See also:

Troubleshooting for the SAP::DBTech::loader Module

Examples for the SAP::DBTech::loader Module


Class Loader (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class Loader

Use

Loader is a class of module SAP::DBTech::loader. All file names in the Loader commands must be specified for the server on which the Loader Server was started.

An instance of the loader class corresponds to a connection to a loader server.

However, this does not connect the Loader Server to the database instance.

To connect the Loader Server to the database, execute the Loader commands USE SERVERDB and USE USER.

Class Content

The Loader class contains the following methods:

cmd (cmd_string)

rawCmd (cmd_string)

sql (cmd_string)

release ()

Using the Constructor

$session = new Loader ($database_computer);

Parameter | Description
database_computer | Network name of the computer to which you want to connect. If you do not specify a database_computer, a connection is made to the local computer.

Generating a connection session to the program Loader Server on the current computer:

$session = new Loader ();

Generating a connection session to the program Loader Server on the computer remote_computer:

$session =new Loader ('remote_computer');


Method cmd (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method cmd

Use

$result = $session->cmd ($cmd_string);

cmd is a method of the class Loader. You use this method to send the Loader command specified under $cmd_string to the Loader server program.

Result

The result of the Loader command is returned.

If the Loader Server program registers an error, an exception of the type LoaderError is raised.

Specifying a valid Loader command

$result = $session->cmd ('CREATE TABLE testtable1 (colname INTEGER)')
print "result: '$result'\n";

The output appears as follows:

result: ''

Specifying an invalid Loader command

$result = $session->cmd ('invalid command')
print "result: '$result'\n";

The output appears as follows:

Error Loader Server: SQL error -3005 = Invalid SQL statement error position: 1) at /opt/sdb/misc/SAP/DBTech/loader.pm line 89.

(See also: Method rawCmd)


Method rawCmd (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method rawCmd

Use

$result = $session->rawCmd ($cmd_string);

rawCmd is a method of the class Loader. You use this method to send the Loader command specified under $cmd_string to the program Loader Server.

Errors returned by the Loader Server do not raise an exception. The return code starts with OK if the command was executed successfully; it starts with ERR if the command failed.

(See also: Method cmd)

Result

The result of the Loader command is returned.

Specifying a valid Loader command

$result = $session->cmd ('CREATE TABLE testtable2 (colname INTEGER)')
print "result: '$result'\n";

The output appears as follows:

result: 'OK

'

Specifying an invalid Loader command

$result = $session->cmd ('invalid command')
print "result: '$result'\n";

The output appears as follows:

result: 'ERR
-25010
SQL error -3005 = Invalid SQL statement (error position: 1)'


Method sql (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method sql

Use

$sqlrc = $session->sql ($cmd_string);

sql is a method of the class Loader. You use this method to send the SQL statement specified under $cmd_string to the program Loader Server.

You can also use the methods cmd or rawCmd to execute SQL statements. However, if exceptions are raised when you do this, you must recognize them yourself, and find the error code in the text of the exception.

Result

If the statement is executed successfully, the value of the result is 0.

If the execution of the statement causes an SQL error, the number of the error message of the SQL statement is returned.

If the execution of the statement causes a Loader error, an exception of the type LoaderError is raised.

Executing a valid SQL statement

print $session->cmd ('CREATE TABLE testtable3 (a integer)');

Output:

0

Executing an invalid SQL statement

print $session->cmd ('invalid command');

The output is the error code of the SQL statement:

3005

Executing an invalid Loader command

print $session->cmd ('dataload invalid spec')

The output is the exception of the Loader Server:

Error Loader Server: Syntax error at position 10 (Unexpected token: invalid). at /opt/sdb/programs/misc/SAP/DBTech/loader.pm line 89.


Method release (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method release

Use

$session->release ();

release is a method of the class Loader. It ends the current connection to the program Loader Server.


Troubleshooting for the Module SAP::DBTech::loader (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Troubleshooting for the Module SAP::DBTech::loader

When errors occur, the methods of the module SAP::DBTech::loader raise one of the following exceptions:

Exception CommunicationError

Exception LoaderError


Exception CommunicationError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Exception CommunicationError

Exceptions of the type CommunicationError are raised if no connection can be made to the Loader Server, or if an existing connection has been broken.

They have the following format:

Communication Error: $message

message

Text of the error message

You can determine the CommunicationError type of an exception by comparing it with the regular expression Communication Error: (.*).

The Loader Server to which you are trying to connect does not exist:

eval { $session = new
Loader ('unknownhost', '');}
if ($@) {
print "$@\n";
}

Output:

Communication Error: unknown host name


Exception LoaderError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Exception LoaderError

Exceptions of the type LoaderError are raised if the Loader Server program registers an error.

They have the following format:

Error Loader Server: $message

message

Long text of the error message

You can determine the LoaderErrortype of an exception by comparing it with the regular expression Error Loader Server: (.*).


Examples for the SAP::DBTech::loader Module (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples for the SAP::DBTech::loader Module

To call the sample.pl perl script and log on to Loader with the user name MONA and the password RED, and then log on to the HOTELDB database instance, enter the following command at the command line:

perl sample.pl MONA RED HOTELDB

Generating a Connection

# To reference Perl libraries:

# ----------------------------

use SAP::DBTech::loader;

# To parse call arguments:

# --------------------------

my $user_name = $ARGV [0];

my $password = $ARGV [1];

my $database_name = $ARGV [2];

# To create a Loader session: (There is still no connection

# to the database instance)

# ------------------------------------------------------

my $session = new Loader ();

# To log on to the database instance:

# -------------------------------------

$session->cmd ("use user $user_name $password serverdb $database_name");

# To log off:

# -------------------------------------

$session->release ();

Variant

If you want to prevent the user name and password from being converted to uppercase, enclose use user within double quotes in your command:

$session->cmd ("use user \”$user\”_name \”$password\” serverdb $database_name");

The following examples specify a shortened login process:

my $session = new Loader ()

$session->cmd ("use user ${ARGV [0]} ${ARGV [1]} serverdb ${ARGV [2]}");

Executing Loader Commands

You can use the cmd method to execute both Loader statements and SQL statements.

use SAP::DBTech::loader;

# To generate a Loader session:

my $session = new Loader ();

$session->cmd ("use user ${ARGV [0]} ${ARGV [1]} serverdb ${ARGV [2]}");

# To execute an SQL statement:

$session->cmd("

CREATE TABLE customer2

(

cno FIXED(4,0) PRIMARY KEY,

title CHAR(7),

firstname CHAR(10),

name CHAR(10) NOT NULL,

zip CHAR(5),

address CHAR(25) NOT NULL)");

# To execute a DATALOAD statement:

$session->cmd("

DATALOAD TABLE customer

cno 1

title 2

firstname 3

name 4

zip 5

address 6

INFILE 'customer.dat'");

Handling Error Situations

If an error occurs within the cmd method, an exception object of the LoaderError class is generated. This exception object can be identified and handled within a try-except statement.

The sql method provides simplified access to errors within SQL statements. If an SQL error occurs within an sql method, an exception is not generated, instead an error number is returned to the caller. This error number can be queried in the program.

use SAP::DBTech::loader;

# To generate a Loader session:

my $session = new Loader ();

$session->cmd ("use user ${ARGV [0]} ${ARGV [1]} serverdb ${ARGV [2]}");

# To query whether a table exists:

my $sqlrc = $session->sql ("EXISTS TABLE customer2");

# The table is created only if it

# does not already exist

if ($sqlrc == -4004) {

$session->cmd("

CREATE TABLE customer2

(

cno FIXED(4,0) PRIMARY KEY,

title CHAR(7),

firstname CHAR(10),

name CHAR(10) NOT NULL,

zip CHAR(5),

address CHAR(25) NOT NULL)");

}

# To execute a DATALOAD statement:

my $filename = 'customer.dat';

eval {

$session->cmd("

DATALOAD TABLE customer2

cno 1

title 2

firstname 3

name 4

zip 5

address 6

INFILE '$filename'");

};

# To output the error message:

if ($@) {

print "DATALOAD of file $filename failed: $@\n";

}

Sample Data

The content of the customer.dat file used in the examples is as follows:

"3000","Mrs","Jenny","Porter","10580","1340 N.Ash Street, #3"

"3100","Mr","Peter","Brown","48226","1001 34th Str., APT.3"

"3200","Company","?","Datasoft","90018","486 Maple Str."

"3300","Mrs","Rose","Brian","75243","500 Yellowstone Drive, #2"

"3400","Mrs","Mary","Griffith","20005","3401 Elder Lane"

"3500","Mr","Martin","Randolph","60615","340 MAIN STREET, #7"

"3600","Mrs","Sally","Smith","75243","250 Curtis Street"

"3700","Mr","Mike","Jackson","45211","133 BROADWAY APT. 1"

"3800","Mrs","Rita","Doe","97213","2000 Humboldt Str., #6"

"3900","Mr","George","Howe","75243","111 B Parkway, #23"

"4000","Mr","Frank","Miller","95054","27 5th Str., 76"

"4100","Mrs","Susan","Baker","90018","200 MAIN STREET, #94"

"4200","Mr","Joseph","Peters","92714","700 S. Ash Str., APT.12"

"4300","Company","?","TOOLware","20019","410 Mariposa Str., # 10"

"4400","Mr","Antony","Jenkins","20903","55 A Parkway, #15"


Python Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Python Manual

Purpose

You can access MaxDB database instances, the Loader, and Database Manager database tools using Python scripts via the sdb.dbm, sdb.loader and sdb.sql modules.

You can use these modules on all operating systems supported by the database system.

Implementation Considerations

The modules are a component of the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it.

To use this documentation effectively, you must have working knowledge of the Python programming language. For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

Configuring the Python Modules

Python Modules

Name | Programming Interface | Use
sdb.dbm | Database Manager | Automates program actions for creating new database instances and administering existing database instances
sdb.loader | Loader | Automates program actions for loading and unloading data, and for the database catalog
sdb.sql | SQL | Allows a program to send SQL queries to the database and the results to be processed.

See also:

Concepts of the Database System,

· Syntax Notation

· Variables and Examples


Configuring the Python Modules (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Configuring the Python Modules

Prerequisites

You installed the Python modules.

If you installed the Python modules with the installation program, they will be located in the <dependent_path>/runtime/python directory.

Procedure

The Loader database tool contains a Python interpreter. Enter the following command to call the Python interpreter included with Loader:

<independent_program>/bin/x_python

This interpreter is set up to access the MaxDB module.
If you are using the Python interpreter included with Loader, you do not need to follow the steps described below.

If you are not using the Loader version of the Python interpreter, then add the Python module to the search path of your Python interpreter:
You have two alternatives:

· Enhance the PYTHONPATH environment variable with your <python_dir> Python installation’s installation path.

Microsoft Windows:
set PYTHONPATH=%PYTHONPATH%;<python_dir>

UNIX/Linux (sh/bash):
PYTHONPATH=$PYTHONPATH:<python_dir>
export PYTHONPATH

· Create a text file maxdb.pth containing only your python installation’s installation path. Copy this file to a directory in the search path of the Python interpreter. The Python interpreter reads all files in the search path that have a .pth extension. It then adds the directories contained in these files to its search path.

You can use the following program to view the search path of the Python interpreter.

import sys
print sys.path

The installation contains modules for Python versions 1.5.2, 2.0, 2.1, 2.2 and 2.3. The appropriate module for your Python program is determined at runtime. Therefore you do not need to adjust the PYTHONPATH environment variable if you switch to a different Python version.

See also:

Concepts of the Database System, Variables and Examples


sdb.dbm Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation sdb.dbm Module

Syntax

import sdb.dbm

Use

You can use the Python module sdb.dbm to create new database instances or to manage existing database instances with DBM commands.

Module Content

Class DBM

Examples for the sapdb.sql Module


Class DBM (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class DBM

Use

DBM is a class of the sdb.dbm module. An instance of this class corresponds to a connection to a DBM Server.

Class Content

The DBM class contains the following methods:

cmd (cmd_string)

rawCmd (cmd_string)

release ()

Definition of the Constructor

DBM (database_server = '', database_name = '', dependent_path = '', user_info = '')

Parameter | Description
database_server | Network name of the computer to which you want to connect. The default system value is the local computer.
database_name | Name of the database instance you want to connect. This information is optional.
dependent_path | Installation path of the database software (See also: Directory Structure) This information is optional.
user_info | A string in the format <dbm_user>,<dbm_user_password> The specified user logs on to the Database Manager program.

If there are multiple installations of the database software on your computer, you can use the database_name and dependent_path parameters to control which version of the Database Manager is started.

Case 1 – You want to create a new database instance with the latest software installation or you want to display information about the existing database instances and software versions.

Do not specify database_name or dependent_path.

The system then starts the Database Manager of the software installation that has the highest version number.

Case 2 – You want to administer a specific database instance.

Specify database_name , but not dependent_path.

The system then starts the version of the Database Manager belonging to the database instance specified.

Case 3 – You want to create a new database instance with a specific software version.

Specify dependent_path, but not database_name.

The system then starts the Database Manager of the specified software installation.

Examples

Creating a connection object session to the database DEMODB, on the current computer, as the DBM operator OLEG with the password MONDAY:

session = sdb.dbm.DBM ('', 'DEMODB', '', 'OLEG,MONDAY')

To generate a session connection object for the remoteserver computer and choose the Database Manager of the software installation located in the /usr/local/sdb/7500 directory, specify the following:

session = sdb.dbm.DBM ('remoteserver', '', '/usr/local/sdb/7500')

To create a session connection object on the current computer for the Database Manager of the most current software installation:

session = sdb.dbm.DBM ('', '')


cmd Method (SAP Library - MaxDB Library)

 Entering content frame

Background documentation cmd Method

Definition

cmd (cmd_string)

Use

cmd is a method of the class DBM. You use this method to send the DBM command specified under cmd_string to the Database Manager program.

Result

The result of the DBM command is returned.

If the Database Manager returns an error, an exception of the class DBMServError is raised.

Examples

Inputting a valid DBM command:

result = session.cmd ('db_state')
print repr (result)

Result:

'State\nOFFLINE\n'

Inputting an invalid DBM command:

result = session.cmd ('invalid command')
print repr (result)

Result:

Traceback (innermost last):
dbm.DBMServError: [-24977] unknown command "invalid"

(See also: Method rawCmd)


Method rawCmd (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method rawCmd

Definition

rawCmd (cmd_string)

Use

rawCmd is a method of the class DBM. You use this method to send the DBM command specified under cmd_string to the Database Manager program.

Errors returned by the Database Manager do not raise an exception.

The return code starts with OK if the command was executed successfully; it starts with ERR if the command failed.

(See also: Method cmd)

Result

The result of the DBM command is returned.

Examples

Inputting a valid DBM command:

result = session.rawCmd ('db_state')
print repr (result)

Result:

'OK\nState\nOFFLINE\n'

Inputting an invalid DBM command:

result = session.rawCmd ('invalid command')
print repr (result)

Result:

'ERR\n-24977,ERR_COMMAND: unknown command "invalid"\n'


Method release (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method release

Definition

release ()

Use

release is a method of the class DBM. It ends the connection to the Database Manager program.


Error Handling for the sdb.dbm Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Error Handling for the sdb.dbm Module

When errors occur, the methods of the module sdb.dbm raise one of the following exceptions:

Class CommunicationError

Class DBMServError


Class CommunicationError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class CommunicationError

Exceptions of the classCommunicationError are raised if no connection can be made to the Database Manager, or if an existing connection has been broken.

Instances of the CommunicationError class have the following attributes:

Attribute | Description
errorCode | Error code
message | Error message text

Computer p56789 to which you are trying to connect does not exist:

try:
    session = sapdb.dbm.DBM ('p56789t', '')
except sapdb.dbm.CommunicationError, err:
    print err
    print err.message

Result:

dbm.CommunicationError: [-4] unknown host name
unknown host name


Class DBMServError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class DBMServError

Exceptions of the class DBMServError are raised if the DBM Server registers an error.

Instances of the class DBMServError have the following attributes:

Attribute | Description
errorCode | Number of the error message (see also: the documentation Messages)
errorSymbol | Short text of the error message
message | Long text of the error message
additionalInfo | Text with additional information
cmd | DBM command that caused the error


Examples for the sdb.dbm Module (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples for the sdb.dbm Module

Use

You use the sdb.dbm Module and the Python program DBM commands to manage database instances. To do this, create a Python file sample_n.py and then call it using the following command:

python sample_n.py <dbm_user> <dbm_user_password> <database_name>

Examples of executing DBM commands using the sdb.dbm module:

Calling and Exiting the Database Manager

List of All Registered Database Instances

Handling Error Situations


Calling and Ending the Database Manager (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Calling and Ending the Database Manager

1. Creating the Python file sample_1.py:

#

# Reference to Python Libraries

# ----------------------------

import sys

import sapdb.dbm

#

# Parse the call arguments

# --------------------------

dbm_user = sys.argv [1]

dbm_user_password = sys.argv [2]

database_name = sys.argv [3]

#

# Logon to the Database Manager

# ------------------------------------------------------

session = sapdb.dbm.DBM (’’, database_name, ’’, dbm_user + ’,’ + dbm_user_password)

#

# Log off from Database Manager

# -------------------------------------

session.release ()

2. To call the Python file sample_1.py from the command line and transfer DBM user OLEG’s data to the Python program with the password MONDAY and the database instance named DEMODB, specify the following:

python sample_1.py OLEG MONDAY DEMODB

The following examples specify a shortened login process:

dbm_user_name, dbm_user_password, database_name = sys.argv [1:4]

session = sdb.dbm.DBM (’’, database_name, dbm_user_name + ’,’ + dbm_user_password)


Displaying a list of all registered database instances (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Displaying a list of all registered database instances

You can use the cmd method to execute Database Manager statements. The result is a character string that can be further processed using Python.

# Reference to Python Libraries

# ----------------------------

import sys

import sdb.dbm

# To create a Database Manager session:

# ------------------------------------------------------

dbm_user_name, dbm_user_password, database_name = sys.argv [1:4]

session = sdb.dbm.DBM ('', database_name, '', dbm_user_name + ',' + dbm_user_password)

Executing the DBM command for displaying the list of all database instances. The result is a character string.

output = session.cmd ('db_enum')

dbstate = 'offline'

lastdb = ''

# The database instances are separated by line breaks.

for line in output.split ('\n'):

    if not line:

        continue

    # Data fields are separated by tab characters.

      database name, installation path, version, kernel variant,

      operational state = line.split ('\t')

    if name != lastdb:

        # Several lines exist for each database instance,

        # one for each of the following kernel variants:

        # fast, slow and test.

        if lastdb != '':

            print lastdb, '\t', dbstate

        lastdb = name

        dbstate = 'offline'

    # The database is in operation if one of the kernel variants

    # is displayed as 'running'.

    if state == 'running':

        dbstate = state

print lastdb, '\t', dbstate


Handling Error Situations (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Handling Error Situations

If an error occurs within the cmd method, an exception object of the DBMServError class is generated. This exception can be identified and handled within a try-except statement.

# Reference to Python Libraries

# ----------------------------

import sys

import sdb.dbm

# To create a Database Manager session:

# ------------------------------------------------------

dbm_user_name, dbm_user_password, database_name = sys.argv [1:4]

session = sdb.dbm.DBM ('', database_name, '', dbm_user_name + ',' + dbm_user_password)

for cmd in ['db_state', 'invalid command']:

    try:

        result = session.cmd (cmd)

        # To output the result:

        print cmd + ': OK ', repr (result)

    except sdb.dbm.DBMServError, err:

        # To output the error message:

        print cmd + ': ERR', err.errorCode, err.message


sdb.loader Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation sdb.loader Module

Syntax

import sdb.loader

Use

You can use the sdb.loader Python module to export or import database schemas and data from and to a database instance.

Module Content

Loader Class

Troubleshooting for the Module sapdb.loader

Example

· Example 1

· Example 2

· Example 3

See also:

Loader documentation


Class Loader (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class Loader

Use

Loader is a class of the sdb.loader module.

Class Content

The class Loader contains the following methods:

cmd (cmd_string)

rawCmd (cmd_string)

sql (cmd_string)

release ()

Definition of the Constructor

Loader ()

When the constructor is called, the Python Loader module starts Loader on the local computer. There is still no connection to a database instance.

Examples

· Starting a session on the local computer with the DEMODB database instance:

session = sdb.loader.Loader ()
session.cmd('USE SERVERDB DEMODB')

· Starting a session on the GENUA computer with the DEMODB database instance:

session = sdb.loader.Loader ()
session.cmd('USE SERVERDB DEMODB ON GENUA')

· Starting a session with the DEMODB database instance for user MONA with the password RED on the computer GENUA:

session = sdb.loader.Loader ()session.cmd('USE USER MONA RED SERVERDB DEMODB ON GENUA')

· Ending the session with the database instance

del session


cmd Method (SAP Library - MaxDB Library)

 Entering content frame

Background documentation cmd Method

Definition

cmd (cmd_string)

Use

cmd is a method of the Loader class. This method is used to send the Loader command specified under cmd_string or an SQL statement to the Loader Server program.

Result

The result of the Loader command is returned.

If the Loader Server program returns an error, an exception of the LoaderError class is triggered.

To load the customer table from the customer.dat file with the cnr, name, zip, city columns:

session.cmd ("""DATALOAD TABLE customer
cnr 1-4
name 6-12
zip 14-18
city 20-31
INFILE '%s\customer.dat' """ %data_path)


Method rawCmd (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method rawCmd

Definition

rawCmd (cmd_string)

Use

rawCmd is a method of the class Loader. You use this method to send the Loader command specified under cmd_string to the program Loader.

Errors returned by the Loader Server do not raise an exception. The return code starts with OK if the command was executed successfully; it starts with ERR if the command failed.

(See also: Method cmd)

Result

The result of the Loader command is returned.

Specifying a valid Loader command

result = session.rawCmd ('CREATE TABLE testtable2 (colname INTEGER)')
print repr (result)

The output appears as follows:

'OK \012'

Specifying an invalid Loader command

result = session.rawCmd ('invalid command')
print repr (result)

The output appears as follows:

' ERR\012-25010\012SQL error -3005 = Invalid SQL statement (error position: 1)'


sql Method (SAP Library - MaxDB Library)

 Entering content frame

Background documentation sql Method

Definition

sql (cmd_string)

Use

sql is a method of the Loader class. This method is used to send the Loader command specified under cmd_string or an SQL statement to the Loader Server program.

Result

If the statement is executed successfully, the result value is 0

If executing the statement causes an SQL error, the number of the error message for the SQL statement is returned.

If executing the statement causes a Loader error, a LoaderError exception is triggered.

To query whether the CUSTOMER table exists:

result = session.sql ('EXISTS TABLE CUSTOMER')


Method release (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method release

Definition

release ()

Use

release is a method of the class Loader. It ends the current connection to the program Loader Server.


Troubleshooting for the sdb.loader Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Troubleshooting for the sdb.loader Module

When errors occur, the methods of the module sdb.loader raise one of the following exceptions:

Class CommunicationError

Class LoaderError


CommunicationError Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation CommunicationError Class

Exceptions of the CommunicationError class are triggered if it is not possible to connect to the Loader Server or if an existing connection is closed.

Instances of the CommunicationError class have the following attributes:

Attribute | Description
errorCode | Error code
message | Error message text

The Loader server to which you are trying to connect does not exist.

try:
    session = sapdb.loader.Loader ('unknownhost', '')
except sapdb.loader.CommunicationError, err:
    print err
    print err.message

loader.CommunicationError: [-4] unknown host name
unknown host name


LoaderError Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation LoaderError Class

Exceptions of the LoaderError class are triggered when the Loader Server program registers an error. Possible causes are as follows:

· An error occurred while processing an SQL statement (sql method)

· An error occurred while processing a Loader command (cmd method)

Instances of the LoaderError class have the following attributes:

Attribute | Description
errorCode | Error message number (See also: Messages)
message | Long text of the error message
sqlCode | Number of the error message for the SQL statement (if executing the statement caused an SQL error), or 0 (if executing the statement caused a Loader error)
sqlMessage | Text of the SQL error message


Example 1 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example 1

This example describes the following steps:

...

1. Calling the Loader

2. Starting the session with the database instance

3. Ending the session with the database instance

# To reference Python libraries:
# ----------------------------

import sys
import loader

# Parse the call arguments
# --------------------------

database_user_name = sys.argv [1]
database_user_password = sys.argv [2]
database_name = sys.argv [3]

# Calling the Loader; the most up-to-date version of the

# Loader is started; there is still no connection

# to the database instance
# ------------------------------------------------------

session = sdb.loader.Loader ()

# Startomg the session with the database instance
# -------------------------------------

session.cmd ('use user %s %s serverdb %s' % (database_user_name, database_user_password, database_name))

# Ending the session with the database instance
# -------------------------------------

del session

The Loader converts user name and password entries to uppercase. If you want to prevent this, you need to enter both words in the use user command in double quotation marks.

session.cmd ('use user "%s" "%s" serverdb %s' % (database_user_name, database_user_password, database_name))


Example 2 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example 2

This example describes the following steps:

...

1. Calling the Loader

2. Starting the session with the database instance

3. How to query whether a table exists

4. How to create a table or query an error code

5. Ending the session with the database instance

# To reference Python libraries:
# ----------------------------

import sys
import sdb.loader

# Calling the Loader; the most up-to-date version of the

# Loader is started; there is still no connection

# to the database instance
# ------------------------------------------------------

session = sdb.loader.Loader ()

# Starting the session with the database instance

# To make the example easier to follow, the logon process has been

# shortened; the parsing of call arguments has

# also been omitted.

# -------------------------------------

session.cmd ('use user %s %s serverdb %s' % tuple (sys.argv [1:4]))

# Querying whether a table exists;

# the sql method is used here;

# if the table does not yet exist, Loader

# returns an error; and the table is

# created.
# -------------------------------------

sqlrc = session.sql("EXISTS TABLE CUSTOMER")

if (sqlrc == 0):

print 'Table CUSTOMER exists'

elif (sqlrc == -4004):

# To create the CUSTOMER table:

# -------------------------------------

session.sql("""

CREATE TABLE customer

(

cno FIXED(4,0) PRIMARY KEY,

title CHAR(7),

firstname CHAR(10),

name CHAR(10) NOT NULL,

zip CHAR(5),

address CHAR(25) NOT NULL,

CONSTRAINT cno_cons CHECK cno > 0,

CONSTRAINT title_cons CHECK title IN

('Mr','Mrs','Company'),

CONSTRAINT zip_cons CHECK

SUBSTR(ZIP,1,1) BETWEEN '1' AND '9' AND

SUBSTR(ZIP,2,1) BETWEEN '0' AND '9' AND

SUBSTR(ZIP,3,1) BETWEEN '0' AND '9' AND

SUBSTR(ZIP,4,1) BETWEEN '0' AND '9' AND

SUBSTR(ZIP,5,1) BETWEEN '0' AND '9'

)""")

print 'Table CUSTOMER created'

session.cmd ("COMMIT")

# Ending the session with the database instance
# -------------------------------------

del session


Example 3 (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example 3

This example describes the following steps:

...

1. Calling the Loader

2. Starting the session with the database instance

3. Creating a table

4. How to load data into a table using Loader commands; an exception-handling process deals with errors

5. Ending the session with the database instance

# Reference to Python Libraries

# ----------------------------

import sys

import sdb.loader

# Calling the Loader; the most up-to-date version of the

# Loader is started; there is still no connection

# to the database
# -------------------------------------

session = sdb.loader.Loader ()

# Starting the session with the database instance

# To make things easier, logon in this example is

# shortened; the parsing of call arguments has

# been omitted

# -------------------------------------

session.cmd ('use user %s %s serverdb %s' % tuple (sys.argv [1:4]))

# How to query whether a table exists;

# the sql method is used here;

# if the table does not yet exist, Loader

# returns an error; and the table is

# created.
# -------------------------------------

sqlrc = session.sql("EXISTS TABLE CUSTOMER")

if (sqlrc == 0):

print 'Table CUSTOMER exists'

elif (sqlrc == -4004):

# To create the CUSTOMER table:

# -------------------------------------

session.sql("""

CREATE TABLE customer

(

cno FIXED(4,0) PRIMARY KEY,

title CHAR(7),

firstname CHAR(10),

name CHAR(10) NOT NULL,

zip CHAR(5),

address CHAR(25) NOT NULL,

CONSTRAINT cno_cons CHECK cno > 0,

CONSTRAINT title_cons CHECK title IN

('Mr','Mrs','Company'),

CONSTRAINT zip_cons CHECK

SUBSTR(ZIP,1,1) BETWEEN '1' AND '9' AND

SUBSTR(ZIP,2,1) BETWEEN '0' AND '9' AND

SUBSTR(ZIP,3,1) BETWEEN '0' AND '9' AND

SUBSTR(ZIP,4,1) BETWEEN '0' AND '9' AND

SUBSTR(ZIP,5,1) BETWEEN '0' AND '9'

)""")

print 'Table CUSTOMER created'

# Loading the CUSTOMER table: any errors that occur

# are dealt with

# -------------------------------------

filename = 'customer.dat'

try:

session.cmd("""

DATALOAD TABLE customer

cno 1

title 2

firstname 3

name 4

zip 5

address 6

INFILE '%s' """ % (filename))

print 'Table CUSTOMER loaded'

except sdb.loader.LoaderError, err:

print ("DATALOADing file %s failed: %d, %s\n" % (filename, err.errorCode, err.message))

session.cmd ("COMMIT")

# Ending the session with the database instance

# -------------------------------------

del session

Content of the customer.dat File

"3000","Mrs","Jenny","Porter","10580","1340 N.Ash Street, #3"

"3100","Mr","Peter","Brown","48226","1001 34th Str., APT.3"

"3200","Company","?","Datasoft","90018","486 Maple Str."

"3300","Mrs","Rose","Brian","75243","500 Yellowstone Drive, #2"

"3400","Mrs","Mary","Griffith","20005","3401 Elder Lane"

"3500","Mr","Martin","Randolph","60615","340 MAIN STREET, #7"

"3600","Mrs","Sally","Smith","75243","250 Curtis Street"

"3700","Mr","Mike","Jackson","45211","133 BROADWAY APT. 1"

"3800","Mrs","Rita","Doe","97213","2000 Humboldt Str., #6"

"3900","Mr","George","Howe","75243","111 B Parkway, #23"

"4000","Mr","Frank","Miller","95054","27 5th Str., 76"

"4100","Mrs","Susan","Baker","90018","200 MAIN STREET, #94"

"4200","Mr","Joseph","Peters","92714","700 S. Ash Str., APT.12"

"4300","Company","?","TOOLware","20019","410 Mariposa Str., # 10"

"4400","Mr","Antony","Jenkins","20903","55 A Parkway, #15"


sdb.sql Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation sdb.sql Module

Syntax

import sdb.sql

Use

You can use the sdb.sqlPython module to access the database system. Data is accessed using Structured Query Language (SQL).

Module Content

Method connect

Class SapDB_Session

Class SapDB_ResultSet

Class SapDB_Prepared

Class SapDB_Result

Troubleshooting for the Module sql

Example

Examples for the sapdb.sql Module


connect Method (SAP Library - MaxDB Library)

 Entering content frame

Background documentation connect Method

Use

connect is a method of the sdb.sql module. You can use this method to generate a database connection.

Definition

connect(database_user, password, database_name [, host [, config]])

Parameter | Description
database_user | Name of the database user (case-sensitive)
password | Password of the database user
database_name | Name of the database instance
host | Name of the database computer
config | String with additional connection options in the format keyword=value[&keyword=value]... You can specify the following connection options:
 | Keyword | Value
 | sqlmode | SQL Mode INTERNAL | ORACLE The default value is INTERNAL
 | isolation | Isolation Level
 | timeout | Maximum period of inactivity for a database session in seconds (See also: Timeout Value)
 | cachelimit | The cache limit of the database session in KB
 | autocommit | Autocommit mode ON | OFF The default value is OFF ON: After each SQL statement, the transaction is ended with a COMMIT. OFF: The user must control the transaction manually using the Rollback and Commit methods.
 | genericResults | ON | OFF The default value is OFF ON: The sql and sqlX methods of the SapDB_Session class and the execute method of the SapDB_Prepared class return an object of the SapDB_Result class as the result. This can be useful, for example, for applications where the type of executed SQL statement is unknown. OFF: The SQL results can differ according to the SQL statement that is executed.
 | component | ODBC | CPC ODBC: The database chooses the SQL variant that is valid for ODBC. CPC: The database chooses the SQL variant that is valid for the Precompiler.

Result

The result is an object of the SapDB_session class.

The database user TESTUSER with the password TEST generates a connection to the database TST on the current computer:

session=sdb.sql.connect ('TESTUSER', 'TEST', 'TST')

The TESTUSER database user generates a connection to the TST database on the remoteserver computer using the TEST password:

session=sdb.sql.connect ('TESTUSER', 'TEST', 'TST','remoteserver')

The TESTUSER database user generate a connection to the TST database on the computer with the IP address 127.0.0.1 using the TEST password:

session=sdb.sql.connect ('TESTUSER', 'TEST', 'TST','127.0.0.1')

The database user TESTUSER with the password TEST generates a connection to the database TST on the current computer. The SQL mode is ORACLE and the command timeout is 60 seconds:

session=sdb.sql.connect ('TESTUSER', 'TEST', 'TST','', 'sqlmode=oracle&timeout=60')


SapDB_Session Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SapDB_Session Class

Use

SapDB_Session is a class of the sdb.sql Module. Objects of this class are generated by calling the connect method of the sdb.sql module. You can use these objects to execute SQL statements.

An object belonging to this class corresponds to a database connection. Once the last connection to this object is deleted, the database connection is ended by a ROLLBACK of the transaction.

Class Content

The class SapDB_Session contains the following methods:

sql (cmd)

sqlX (cmd, parms)

prepare (cmd)

release (withCommit=0)

commit ()

rollback ()

UNICODE character strings cannot be used as SQL statements for sql (cmd), sqlX (cmd, parms) and prepare (cmd) methods.


Method sql (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method sql

Definition

sql (cmd)

Use

sql is a method of the class SapDB_Session. When this method is called, the SQL statement cmd is executed.

Result

The type of the result depends on the content of the SQL statement (see Possible SQL Results).

Executing a data query (for example, SELECT statement)

cursor = session.sql ('SELECT * FROM messages')

The variable cursor contains an object of the class SapDB_ResultSet. You can use this object to access the data records in the results set.

Executing a data manipulation action (for example, a DELETE statement)

rowsDeleted = session.sql ('DELETE FROM testtable WHERE column = 3')

The variable rowsDeleted contains the number of lines deleted by the DELETE statement.


Method sqlX (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method sqlX

Definition

sqlX (cmd parms = [])

Use

sqlX is a method of the class SapDB_Session. When this method is called, the SQL statement cmd is executed.

The SQL statement cmd can contain the placeholders ? or :<varname> for parameters that the system replaces with values from the parameter list parms.

The method sqlX enables you to execute SQL statements with parameters, without requiring you to create an object of the class SapDB_Prepared first.

Result

The type of the result depends on the content of the SQL statement (see Possible SQL Results).

Executing a data query (for example, SELECT statement)

cursor = session.sql ('SELECT * FROM messages WHERE msgno>?',[0])

The variable cursor contains an object of the class SapDB_ResultSet. You can use this object to access the data records in the results set.

Executing a data manipulation action (for example, a DELETE statement)

rowsDeleted = session.sql ('DELETE FROM testtable WHERE column = ?', [3])

The variable rowsDeleted contains the number of lines deleted by the DELETE statement.


Method prepare (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method prepare

Definition

prepare (cmd)

Use

prepare is a method of the class SapDB_Session. When you call this method, you send the SQL statement cmd to the database to be checked.

Result

The result is an object of the class SapDB_Prepared.

You can use this object to execute the same SQL statement more than once and with different parameters, without making the database check the syntax and privileges every time. To do this, you use the method execute.

Generating an INSERT statement for inserting data in the table TESTTABLE

insert = session.prepare ('INSERT INTO testtable VALUES (?,?)')

The variable insert contains an object of the class SapDB_Prepared. You can use this object to execute the INSERT statement with different parameters.


Method release (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method release

Definition

release (with_commit = 0)

Use

release is a method of the class SapDB_Session. When you call this method, you end the current connection to the database instance.

If you specify True for the optional parameter with_commit, the transaction is ended with a COMMIT; otherwise, it is ended with a ROLLBACK.

You can then no longer access the object of the class SapDB_Session.


Method commit (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method commit

Definition

commit ()

Use

commit is a method of the class SapDB_Session. It ends the current transaction with a COMMIT and starts a new transaction.


Method rollback (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method rollback

Definition

rollback ()

Use

rollback is a method of the class SapDB_Session. It ends the current transaction with a ROLLBACK and starts a new transaction.


SapDB_ResultSet Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SapDB_ResultSet Class

Use

SapDB_ResultSet is a class of the sdb.sql Module. You can use this class to navigate within a result set and extract data.

Class Content

The SapDB_ResultSet class contains the following methods:

next ()

previous ()

relative (offset)

absolute (pos)

first ()

last ()

current ()

__getitem__ (pos)

getDescription ()

The following applies for the next, previous, relative, absolute, first, last and current methods:

Python 2.x: The system has read and write access to UNICODE columns.

Python 1.5.2: UNICODE output values are converted to ASCII. An error is registered if this conversion fails.

Examples for SapDB_ResultSet


Method next (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method next

Definition

next ()

Use

next is a method of the class SapDB_ResultSet. You use this method to position the cursor on the next record within a results set, to extract this record.

Result

The record is extracted.

If you are at the end of the results set, the value of the result is None.

row = cursor.next ()

See also: Examples for SapDB_ResultSet


Method previous (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method previous

Definition

previous ()

Use

previous is a method of the class SapDB_ResultSet. You use this method to position the cursor on the previous record within a results set, to extract this record.

Result

The record is extracted.

If you are at the beginning of the results set, the value of the result is None.

row = cursor.previous ()

See also: Examples for SapDB_ResultSet


Method relative (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method relative

Definition

relative (offset)

Use

relative is a method of the class SapDB_ResultSet. You position the cursor offset records ahead, to extract the record at this position.

relative (1) matches next ().

If you give offset a negative value, the cursor moves back in the results set. In this way, relative (-1) matches previous ().

Result

The record is extracted.

If you specify a value for offset that exceeds the number of records before or after the current cursor position, then the value of the result is None.

row = cursor.relative (5)

row = cursor.relative (-1)

See also: Examples for SapDB_ResultSet


Method absolute (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method absolute

Definition

absolute (pos)

Use

absolute is a method of the class SapDB_ResultSet. You use this method to position the cursor on the record with the position pos in the results set, to extract the record.

The first record has the position 1.

A negative pos refers to the end of the results set. This means that when you specify absolute (-1), you get the last record in the results set.

Result

The record is extracted.

If you specify a value for pos that exceeds the number of records in the results set, then the value of the result is None.

row = cursor.absolute (3)

See also: Examples for SapDB_ResultSet


Method first (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method first

Definition

first ()

Use

first is a method of the class SapDB_ResultSet. You use this method to position the cursor on the first record of the results set, to extract the record.

Result

The record is extracted.

If the results set is empty, the value of the result is None.

row = cursor.first ()

See also: Examples for SapDB_ResultSet


Method last (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method last

Definition

last ()

Use

last is a method of the class SapDB_ResultSet. You use this method to position the cursor on the last record of the results set, to extract the record.

Result

The record is extracted.

If the results set is empty, the value of the result is None.

row = cursor.last ()

See also: Examples for SapDB_ResultSet


Method current (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method current

Definition

current ()

Use

current is a method of the class SapDB_ResultSet. You use this method to extract the record at the current cursor position in the results set.

Result

The record is extracted.

If the cursor is positioned before the first record, or after the last record, then the value of the result is None.

row = cursor.current ()

See also: Examples for SapDB_ResultSet


Method __getitem__ (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method __getitem__

Definition

__getitem__ (pos)

Use

getitem is a method of the class SapDB_ResultSet. You use this method to position the cursor on the record at position pos in the results set, and extract the record. The first record has the position 0.

This method enables you to iterate across all records of a result set in a for loop.

Result

The record is extracted.

If you specify a value for pos that exceeds the number or records in the results set, then the value of the result is None.

You iterate across the entire results set:

for msgno, language, message in session.sql ('SELECT * FROM messages'):
    print msgno, language, message


Method getDescription (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getDescription

Definition

getDescription ()

Use

getDescription is a method of the class SapDB_ResultSet. You can use this method to extract information about the columns of a results set.

Result

This method gets a description of the results set.

Each tuple of the result contains the following values:

· Name of the column

· Type of the column as a string

· Type of the column as an integer

These figures have the same meaning as they do in the ODBC specification.

· Logical size of the column

· Number of decimal places

· Indicator that specifies whether the column can contain NULL

· String OUT

Generating a results set and the formatted output of the column descriptions

cursor = session.sql ("SELECT * FROM messages")
print "colname    typename   code length frac  null? in/out"
print "===================================================="
for columnDescription in cursor.getDescription ():
    print "%-10s %-10s %4d %6d   %2d  %5s %s" % columnDescription

colname    typename   code length frac  null? in/out
====================================================
MSGNO      Fixed         3      5    0   None OUT
LANGUAGE   Char          1      3    0   None OUT
MSGTEXT    Unicode       1     80    0      1 OUT


Examples for SapDB_ResultSet (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples for SapDB_ResultSet

Generating a table and filling the table with data

session.sql ('CREATE TABLE cursortest (A INT KEY)')

insert = session.prepare ('INSERT INTO cursortest (A) VALUES (?)')

for i in xrange (1, 11):

    insert.execute ([i])

Generating a results set

cursor = session.sql ('SELECT A FROM cursortest ORDER BY A')

The cursor is positioned before the first record.

You position the cursor on the next record (the first record, initially), and display this record:

>>> cursor.next ()

(1,)

You position the cursor on the next record and display this record:

>>>cursor.next ()

(2,)

You position the cursor on the previous record and display this record:

>>> cursor.previous ()

(1,)

You move the cursor five records ahead and display this record:

>>> cursor.relative (5)

(6,)

You move the cursor one record back and display this record:

>>>cursor.relative (-1)

(5,)

You position the cursor on the third record of the results set and display this record:

>>> cursor.absolute (3)

(3,)

You position the cursor on the third last record of the results set and display this record:

>>>cursor.absolute (-3)

(8,)

You position the cursor on the first record of the results set and display this record:

>>> cursor.first ()

(1,)

You position the cursor on the last record of the results set and display this record:

>>> cursor.last ()

(10,)

You display the record on which the cursor is currently positioned:

>>> cursor.current ()

(10,)

You iterate across the entire results set:

>>> for row in cursor: print row,

(1,) (2,) (3,) (4,) (5,) (6,) (7,) (8,) (9,) (10,)


SapDB_Prepared Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SapDB_Prepared Class

Use

SapDB_Prepared is a class of the sdb.sql Module. You can use this class to execute an SQL statement multiple times with different parameters. This has the following advantages:

· The database only needs to check the syntax and privileges once.

· The application does not need to convert the parameters into a format that matches the SQL syntax. This means that any special characters do not need special handling.

You use the method prepare (of the class SapDB_Session) to generate objects of this class

Class Content

The class SapDB_Prepared contains the following methods:

execute (sqlParms = [])

getDescription ()


Method execute (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method execute

Definition

execute (sqlParms = [])

Use

execute is a method of the class SapDB_Prepared. This method executes the statement with the parameters specified in parameterlist.

In the parameter list, enter only input parameters. If the executed statement gets output parameters, then the method returns them as a tuple.

Result

The type of the result depends on the content of the SQL statement (see Possible SQL Results).

Example 1: Executing a data query

select = session.prepare ('SELECT * FROM messages WHERE msgno = ?')
select.execute ([300])

Result

<SapDB_ResultSet object at …>

Example 2: Calling a stored procedure

Generating a stored procedure

session.sql ("""CREATE DBPROC paramdemo (
IN    p1 FIXED (5),
INOUT p2 FIXED,
OUT   p3 FLOAT)
AS BEGIN
SET p2 = 2;
SET p3 = 3.0;
END;""")

Generating an object of the class SapDB_Prepared for calling a stored procedure

call = session.prepare ('call paramdemo (?, ?, ?)')
in1 = 1    # sets p1
in2 = 2    # set p2

Calling the stored procedure and getting the output parameters

out2, out3 = call.execute ([in1, in2])
print 'value p2:', out2
print 'value p3:', out3

Result

value p2: 2
value p3: 3.0


Method getDescription (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getDescription

Definition

getDescription ()

Use

getDescription is a method of the class SapDB_Prepared. You can use this method to extract information about the parameters of an SQL statement.

Result

Each tuple of the result contains the following values:

· Empty string as a placeholder for the name of the parameter

· Type of the parameter as a string

· Type of the parameter as an integer (as with ODBC)

These figures have the same meaning as they do in the ODBC specification.

· Logical size of the parameter

· Number of decimal places

· Indicator that specifies whether the parameter can be NULL

· String 'IN' | 'OUT' | 'IN/OUT'

Generating a stored procedure

session.sql ("""CREATE DBPROC paramdemo (
IN    p1 FIXED (5),
INOUT p2 FIXED,
OUT   p3 FLOAT)
AS BEGIN
SET p2 = 2;
SET p3 = 3.0;
END;""")

Generating an object of the class SapDB_Prepared for calling a stored procedure

call = session.prepare ('call paramdemo (?, ?, ?)')

Formatting of the output of the parameter description

print "colname    typename   code length frac  null? in/out"
print "===================================================="
for parameterDescription in call.getDescription ():
    print "%-10s %-10s %4d %6d   %2d  %5s %s" % parameterDescription

colname    typename   code length frac  null? in/out
====================================================
           Fixed         3      5    0      1 IN
           Fixed         3      5    0      1 IN/OUT
           Float         6     16    0      1 OUT


SapDB_Result Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SapDB_Result Class

Use

SapDB_Result is a class of the sdb.sql Module.

SQL statements can deliver varying results (see also: Possible SQL Results). You can use the methods in this class to send targeted queries about the type of the results.

Class Content

The class SapDB_Result contains the following methods:

getResultSet()

getOutputParameters()

getRowsAffected()

getLastSerial()

getFirstSerial()


Method getResultSet (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getResultSet

Definition

getResultSet ()

Use

getResultSet is a method of the class SapDB_Result. You call this method to extract the results set generated by an SQL statement.

Result

If the statement generated a results set, the method returns an object of the class SapDB_ResultSet. Otherwise, the value of the result is None.


Method getOutputParameters (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getOutputParameters

Definition

getOutputParameters ()

Use

getOutputParameters is a method of the class SapDB_Result. You call this method to extract the output parameters of an SQL statement.

Result

If output parameters are generated, this method returns a tuple with these output parameters. Otherwise, the value of the result is None.


Method getRowsAffected (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getRowsAffected

Definition

getRowsAffected ()

Use

getRowsAffected is a method of the class SapDB_Result.

You can use this method to query how many rows have been changed by an SQL statement.

Result

The method returns the number of modified rows.


Method getLastSerial (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getLastSerial

Definition

getLastSerial ()

Use

getLastSerial is a method of the class SapDB_Result.

You can use an SQL statement to enter multiple records in a table. If a table contains a column with the data type SERIAL, you can use this method to query the last value generated for this column.

Result

You get the queried value.

If no value with the data type SERIAL is generated, the value of the result is None.


Method getFirstSerial (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method getFirstSerial

Definition

getFirstSerial ()

Use

getFirstSerial is a method of the class SapDB_Result.

You can use an SQL statement to enter multiple records in a table. If the table contains a column with the data type SERIAL, you can use this statement to generate multiple values for this column. You can query the first of these values with the method getFirstSerial.

(See also: Method getLastSerial)

Result

You get the queried value.

If no value with the data type SERIAL is generated, the value of the result is None.


SapDB_LongReader Class (SAP Library - MaxDB Library)

 Entering content frame

Background documentation SapDB_LongReader Class

Use

SapDB_LongReader is a class of the sdb.sql Module. You can use this class to read the content of a LONG column sequentially.

Objects of the class SapDB_LongReader are generated by results sets that contain one or more columns of the type LONG.

Class Content

The class SapDB_LongReader contains the following methods:

read (count = -1)


Method read (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Method read

Definition

read (count = -1)

Use

read is a method of the class SapDB_LongReader. It returns the next count character of the LONG value.

If you call this method without parameters, you get the remainder of the LONG value.

When the end of a LONG value is reached, you get an empty string.

For this reason, objects of the class SapDB_LongReader can be used like file objects.


Error Handling for the sdb.sql Module (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Error Handling for the sdb.sql Module

When errors occur, the methods of the module sdb.sql raise one of the following exceptions:

Class CommunicationError

Class SQLError


Class CommunicationError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class CommunicationError

Exceptions of the class CommunicationError are raised if no connection can be made to the database instance, or if an existing connection has been broken.

Instances of the class CommunicationError have the following attributes:

Attribute | Description
errorCode | Error code
message | Text of the error message


Class SQLError (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Class SQLError

Exceptions of the class SQLError are raised if an error occurs when an SQL statement is executed.

Instances of the class SQLError have the following attributes:

Attribute | Description
errorCode | Number of the database-specific error message (see also: the documentation Messages)
sqlState | Standardized error code
message | Text of the error message
errorPos | For an error in the SQL statement: Position of the error in the SQL statement For an error in the execution of the SQL statement: Position number of the parameter with the error (first parameter = 0)


Possible SQL Results (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Possible SQL Results

Depending on the content of the SQL statement, you get different results when you execute the methods of the module sdb.sql.

SQL Statement | Result
SELECT | An object of the class SapDB_ResultSet
UPDATE, DELETE | The number of modified or deleted records (an integer)
INSERT | An object of the class SapDB_Result, if the table in which records are being inserted contains a column with the type SERIAL Otherwise, the number of inserted records (an integer)
CALL | Output parameters, if the stored procedure returns output parameters, or an object of the class SapDB_ResultSet, if the stored procedure returns a results set, or an object of the class SapDB_Result, if the stored procedure returns both output parameters and a results set
DDL | None


Examples for the sdb.sql Module (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Examples for the sdb.sql Module

You use the sdb.dbm Module to execute SQL statements in a database instance using the Python program. To do this, create a Python file sample_n.py and then call it using the following command:

python sample_n.py <database_user> <database_user_password> <database_name>

Examples of executing DBM commands using the sdb.sql module:

CONNECT Statement

SELECT Statement and Calling the Result Set Step-by-Step

SELECT Statement and Calling the Result Set in a for-Loop

SELECT Statement and Displaying the Structure of the Result Set

Executing an INSERT Statement Multiple Times with Different Parameters

Handling Error Situations


CONNECT Statement (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text CONNECT Statement

1. Creating the Python file sample_1.py:

#

# To reference Python libraries:

# -------------------------------------------

import sys

import sapdb.sql

#

# Parse the call arguments

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

#

# Starting the session with the database instance

# -------------------------------------------

session = sapdb.sql.connect (database_user, database_user_password, database_name)

#

# Ending the session with the database instance

# --------------------------------------------

session.release ()

2. To call the Python file sample_1.py from the command line and transfer database user MONA’s data to the Python program with the password RED and the database instance named DEMODB, specify the following:

python sample_1.py MONA RED DEMODB


Select Statement and Calling the Result Set Step-by-Step (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Select Statement and Calling the Result Set Step-by-Step

The result of a SELECT statement is an object of the SapDB_ResultSet class. You can use this object to call each result row in sequence, without loading the entire result set in the main memory.

1. Creating the Python file sample_2.py:

#

# To reference Python libraries:

# -------------------------------------------

import sys

import sapdb.sql

# Starting the session with the database instance

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sapdb.sql.connect (database_user, database_user_password, database_name)

select = """

SELECT msgno, language, msgtext FROM messages

WHERE msgno BETWEEN -1000 AND -1"""

#

# If the SQL method executes a SELECT statement,

# the result is an object of the SAPDB_ResultSet class.

-----------------------------------------------

cursor = session.sql (select)

#

# The next method releases the following row of the result set.

# When the last row of the result set is reached,

# the next method returns the value 'None'.

-----------------------------------------------

row = cursor.next ()

while row:

errorcode, language, message = row

print "%6d %s" % (errorcode, message)

row = cursor.next ()

#

# Ending the session with the database instance

# ---------------------------------------------

session.release ()

2. To call the Python file sample_2.py from the command line and transfer database user MONA’s data to the Python program with the password RED and the database instance named DEMODB, specify the following:

python sample_2.py MONA RED DEMODB


SELECT Statement and Calling the Result Set in a For Loop (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text SELECT Statement and Calling the Result Set in a For Loop

You can use the for loop to run through a result set in a loop.

1. Creating the Python file sample_3.py:

#

# To reference Python libraries:

# -------------------------------------------

import sys

import sapdb.sql

#

# Starting the session with the database instance

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sapdb.sql.connect (database_user, database_user_password, database_name)

select = """

SELECT msgno, language, msgtext FROM messages

WHERE msgno BETWEEN -1000 AND -1"""

#

# If the SQL method executes a SELECT statement,

# the result is an object of the SAPDB_ResultSet class.

-----------------------------------------------

cursor = session.sql (select)

#

# You can use a SapDB_ResultSet object in a for loop

# in the same way as any other iterator.

-----------------------------------------------

for row in cursor:

errorcode, language, message = row

print "%6d %s" % (errorcode, message)

#

# You can use a for statement to

# execute an SQL statement and to group the results rows

# in columns.

-------------------------------------------------

for errorcode, language, message in session.sql (select):

print "%6d %s" % (errorcode, message)

#

# Ending the session with the database instance

# --------------------------------------------

session.release ()

2. To call the Python file sample_3.py from the command line and transfer database user MONA’s data to the Python program with the password RED and the database instance named DEMODB, specify the following:

python sample_3.py MONA RED DEMODB


SELECT Statement and Displaying the Structure of the Result Set (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text SELECT Statement and Displaying the Structure of the Result Set

The structure of a result set is not always known when the application program is written. You can use the getDescription Method to determine this structure at program run time.

1. Creating the Python file sample_4.py:

#

# To reference Python libraries:

# -------------------------------------------

import sys

import sapdb.sql

#

# Starting the session with the database instance

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sapdb.sql.connect (database_user, database_user_password, database_name)

select = """

SELECT msgno, language, msgtext FROM messages

WHERE msgno BETWEEN -1000 AND -1"""

#

# If the SQL method executes a SELECT statement,

# the result is an object of the SAPDB_ResultSet class.

----------------------------------------------

cursor = session.sql (select)

#

# The getDescription method releases

# a list of the column descriptions.

----------------------------------------------

descriptions = cursor.getDescription ()

for description in descriptions:

print '======================='

# Column name

print 'Name:', description [0]

# Type of the column as a string

print 'Type:', description [1]

# Type of the column as an integer

print 'Type:', description [2]

# Column length

print 'Len:', description [3]

# Number of decimal places

print 'Frac:', description [4]

# Result set columns are always required columns.

print 'Mandatory:', description [5]

# Result set columns are always output.

print 'in/out:', description [6]

#

# Ending the session with the database instance

# --------------------------------------------

session.release ()

2. To call the Python file sample_4.py from the command line and transfer database user MONA’s data to the Python program with the password RED and the database instance named DEMODB, specify the following:

python sample_4.py MONA RED DEMODB


Executing an INSERT Statement Multiple Times With Different Parameters

 Entering content frame

This graphic is explained in the accompanying text Executing an INSERT Statement Multiple Times With Different Parameters

If you want to execute the same SQL statement with different values, choose the prepare method. Using this method means that Python values do not need to be converted to the version understood by the SQL parser.

1. Creating the Python file sample_5.py:

#

# To reference Python libraries:

# -------------------------------------------

import sys

import sapdb.sql

#

# Starting the session with the database instance

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sapdb.sql.connect (database_user, database_user_password, database_name)

#

# Creating a PYTEST test table;

# to ensure that it is not already available,

# a statement is then executed to delete

# the table

----------------------------------------------

try:

session.sql ("DROP TABLE PYTEST")

except sapdb.sql.SQLError:

pass

session.sql ("""CREATE TABLE PYTEST (

keycol VARCHAR (20),

datacol VARCHAR (100),

PRIMARY KEY (keycol),

CHECK datacol <> 'invalid' )

""")

#

# To generate an object of the SapDB_Prepared class:

------------------------------------------------

insert = session.prepare ("INSERT INTO PYTEST VALUES (?, ?)")

for value in ['a', 'b', 'c']:

keyval = value + 'key'

dataval = value + 'data'

# The execute method executes the prepared

# SQL statement with all parameters on the list

insert.execute ([keyval, dataval])

for keyval, dataval in session.sql (

"SELECT * from PYTEST"):

print keyval, '=>', dataval

#

# Ending the session with the database instance

# -----------------------------------------------

session.release ()

2. To call the Python file sample_5.py from the command line and transfer database user MONA’s data to the Python program with the password RED and the database instance named DEMODB, specify the following:

python sample_5.py MONA RED DEMODB


Handling Error Situations (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Handling Error Situations

If an error occurs when executing an SQL statement, an exception of the SQLError class is generated.

1. Creating the Python file sample_6.py:

#

# To reference Python libraries:

# ---------------------------------------------------

import sys

import sdb.sql

#

# Starting the session with the database instance

# ---------------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sdb.sql.connect (database_user, database_user_password, database_name)

#

# Creating a PYTEST test table;

# to ensure that it is not already available,

# a statement is then executed to delete

# the table

#----------------------------------------------------

try:

session.sql ("DROP TABLE PYTEST")

except sdb.sql.SQLError:

pass

session.sql ("""CREATE TABLE PYTEST (

keycol VARCHAR (20),

datacol VARCHAR (100),

PRIMARY KEY (keycol),

CHECK datacol <> 'invalid' )

""")

session.sql ("INSERT INTO PYTEST VALUES ('a', 'aval')")

#

# To display errors in SQL statements:

#----------------------------------------------------

select = "SELECT unknown FROM PYTEST"

try:

cursor = session.sql (select)

except sdb.sql.SQLError, err:

print "ERR [%d] %s" % (err.errorCode, err.message)

print select

print ("=" * (err.errorPos - 1)) + '^'

#

# To display errors during execution:

#-----------------------------------------------------

try:

count = session.sqlX ("""

INSERT INTO PYTEST (keycol, datacol)

values (?, ?)""", ['b', 'invalid'])

except sdb.sql.SQLError, err:

print "ERR [%d] %s" % (err.errorCode, err.message)

#

# Ending the session with the database instance

# ----------------------------------------------------

session.release ()

2. To call the Python file sample_6.py from the command line and transfer database user MONA’s data to the Python program with the password RED and the database instance named DEMODB, specify the following:

python sample_6.py MONA RED DEMODB


PHP Manual (SAP Library - MaxDB Library)

 Entering content frame

Component documentation PHP Manual

Purpose

The MaxDB PHP programming interface enables you to access MaxDB database instances with PHP.

The programming interface can be used on Linux x86_32, Microsoft Windows 2000, and Microsoft Windows XP.

Implementation Considerations

The software for MaxDB PHP support is included in the MaxDB software. See the Download section and the Installation Manual for information on where to find the MaxDB software and how to install it. You need PHP version 4.3.6 or higher.

To use this documentation effectively, you must have working knowledge of the PHP programming language. For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

The PHP programming interface provides the following functions, among others:

· Connecting to the database instance

· Accessing data in the database instance using SQL statements


WebDAV (SAP Library - MaxDB Library)

 Entering content frame

Component documentation WebDAV

Purpose

MaxDB provides a WebDAV servlet that implements the WebDAV protocol in accordance with RFC2518 (see www.w3.org). You can use a MaxDB database instance as a document store and access those documents directly via the WebDAV servlet using a web client such as Microsoft Windows Explorer.

You can use the WebDAV servlet on any operating system supported by the database system.

Implementation Considerations

The SQL Studio is an integral part of the MaxDB software. For information on where to get the MaxDB software and how to install it, see Download; and in the Installation Manual, see Configuring Web SQL / WebDAV.

For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Integration

As runtime environment for the MaxDB WebDAV servlet, you need a servlet container such as Apache Tomcat, SAP NetWeaver AS or JBoss.

You can use the Web SQL database tool to access the document stores with which you are currently connected.

Features

Calling the WebDAV Servlet

See also:

Concepts of the Database System, Architecture of the Interfaces


Calling the WebDAV Servlet (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Calling the WebDAV Servlet

Prerequisites

· You have installed the WebDAV Servlet. See the Installation Manual, Configuring Web SQL / WebDAV.

If you use the default values during installation, the WebDAV servlet is installed with the context path /webdav.

· You have started your servlet container. For more information, see the documentation for your servlet container.

Procedure

Enter the following address in your web browser:

http://<servlet_container_computer>:<servlet_container_port>/<context_path>

<servlet_container_computer> | Computer on which the servlet container is installed
<servlet_container_port> | Port used for the servlet container
<context_path> | Context path for the WebDAV servlet

Example

You have installed the servlet container Apache Tomcat on computer parma and adopted the default value 8080 for the port. You have defined /mywebdav as the context path for the WebDAV servlet.

http://parma:8080/mywebdav


Backint for MaxDB (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Backint for MaxDB

Purpose

This documentation specifies the Backint interface for MaxDB that can be used to connect external backup tools to the MaxDB Database Manager database tool.

Implementation Considerations

You can download the MaxDB software from the MaxDB website (see Download and Installation Profile). The MaxDB software includes a special implementation of the Backint for MaxDB specification. This special implementation allows you to connect external backup tools with a Backint for Oracle interface to Database Manager (see Connecting to a Backint for Oracle Interface).

For more information on the database system, see Database System Concepts and Glossary.

Features

Each implementation of a Bankint for MaxDB interface must include the following functions:

· Backup Function

· Restore Function

· Inquire Function

· Delete Function

The Backint for MaxDB program definition describes the formal requirements that must be met in order to implement Backint for MaxDB.

Constraints

Supported Operating Systems and Platforms in Database Version 7.4

Supported Operating Systems and Platforms in Database Version 7.3


Backing Up and Restoring Data with MaxDB Programs (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backing Up and Restoring Data with MaxDB Programs

MaxDB database systems can be backed up and restored with MaxDB programs.

See also:

Concepts of the Database System, Backing Up and Restoring


Backing Up and Restoring Data with External Backup Programs (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backing Up and Restoring Data with External Backup Programs

Use

You can implement external backup tools to back up and restore MaxDB database systems. Data is transferred through named pipes, using the Database Manager.

There are two possible implementations:

· The external backup tool is controlled by the DBM Server.

When data is backed up, the DBM Server initiates the data transfer from the database instance to one or more pipes, and calls the external backup tool to back up the data in the pipes. If the database system or the external backup tool causes an error, the DBM Server ends the data transfer and informs the data transfer partner.

When data is restored, the client queries the available backups from the external backup tool through the DBM Server. It then displays the result of this query to the user, and initiates and controls the transfer of the required backups from the external backup tool to the database through one or more pipes.

See also: Documentation Connecting External Backup Tools, section Block Diagram: Backup and Restore

· The external backup tool uses the client application Database Manager CLI to control the database.


Functional Description for Backint for Max DB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Functional Description for Backint for Max DB

Backint for MaxDB backs up and restores data with the appropriate MaxDB database tool and searches for older backups. The program is the connection between the DBM Server and the external backup tool.

If the external backup tool has a client/server architecture, then Backint for MaxDB communicates with the client. Otherwise, it implements the client that is running on the database server. In this way, the MaxDB database tool is able to make standardized use of different external backup tools.

See also: Installation Manual, Block Diagram: Backing Up and Restoring

Backint for MaxDB supports the following functions:

· Backup

· Restore

· Inquire

· Delete

For all functions, the User ID (UID) is used as the ID of the MaxDB database. Once a function has been performed, Backint for MaxDB sends a return code that indicates whether it has been successful.


Backup Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup Function

General Function Description

The backup function defines a backup request for a list of files or pipes, and sends this request to Backint for MaxDB. Backint for MaxDB backs up these files or pipes, and generates a backup ID for each backup object as a response. Here, the combination of user ID, backup ID and backup object name is guaranteed as being unique for each backup object.

Backint for MaxDB informs the user which files or pipes have been backed up successfully and which have not, which backup ID was assigned to each file and to each pipe, and how many bytes were saved for each pipe.

The order in which the files and/or pipes in the list are backed up is freely determined by the external backup tool.

Type of Backup Objects

The input list for the backup function indicates whether an object is a file or a pipe. You can combine files and pipes in the input list.

Backint for MaxDB and BACKINT (for Oracle) differ in the objects they allow to be backed up:

BACKINT (for Oracle) allows files, directories, and raw devices.

Backint for MaxDB allows only files and pipes.

Data Transfer

If the input list contains files, then they are backed up by the external backup tool, however, the backup can be made in a random order and degree of parallelism.

The following rules apply when pipes are restored:

The software (DBM server) or user that called Backint for MaxDB, ensures that every pipe in the list is opened and closed at least once. Backint for MaxDB returns an error for every pipe that has not been opened. To enable a data transfer, both sides of a pipe must be opened; one side by the database software or user, and the other side by Backint for MaxDB. If pipes listed in the input file do not exist, Backint for MaxDB either creates them or checks periodically to see whether they exist.

The pipes are opened for read access only. The data transfer through a pipe ends when one side of the pipe is closed.

If a database version lower than 7.4.03 is used and more than one pipe is specified in the input file, they must all be processed in parallel and in real time to avoid deadlocks. This means that Backint for MaxDB must process all pipes simultaneously, but independently of each other.

When one pipe is opened or read, this action must not block any other pipes listed in the input file from being opened, or any data from being transferred. This is why Backint for MaxDB checks every pipe periodically to make sure that it can be opened or that data can be read from the pipe. This can be achieved by starting one child process or thread for each pipe and by avoiding any synchronization between these processes and/or threads. In this way, the processes or threads can open and read the pipes with normal blocking operations, since the operating system switches periodically to the processes or threads of the other pipes.

If a database version from 7.4.03 is being used, and multiple pipes are specified in the input file, then Backint for MaxDB processes at least some of these pipes in parallel. Otherwise, there would be no advantage in being able to make parallel backups. Interdependencies between the pipes or the processes/threads that process these pipes do not need to be avoided during the backup, since the database itself processes the pipes independently of each other.

MaxDB can support parallel backups with pipes, but this is not mandatory. You can also configure MaxDB for database version 7.4.03 only, or for all database versions covered by this documentation.


Restore Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Restore Function

The restore function is used to send a request to Backint for MaxDB to restore backups. This request consists of the user ID (see also Variables) and a list of the files and/or pipes that need to be restored.

For files, the information consists of the backup ID, its name, and the directory to which the file is to be restored. For pipes, the information consists of the backup ID, its name, and the name of the current pipe to which the content of the backup pipe is to be restored. The name of the directory for the new file and the name of the current pipe are optional pieces of information. If no backup ID is specified, then the last backup of the file or pipe is restored. Information is returned that indicates which files or pipes have been restored successfully and which backups have been used.

The order in which the files in the list are restored is freely determined by Backint for MaxDB.

Type of Backup Medium

For the restore function, Backint for MaxDB uses its own information or information from the backup tool to decide whether an object is a file or a pipe. Files and pipes can be combined in the input list.

Data Transfer

If the input list contains files, these are restored in the file system.

The software (DBM Server) or user that called Backint for MaxDB, ensures that every pipe in the list is opened and closed at least once. Backint for MaxDB returns an error for every pipe that has not been opened. It restores the data in a pipe in the order in which it was read from the original pipe backup. To enable a data transfer, both sides of a pipe must be opened; one side by the database software or user, and the other side by Backint for MaxDB. If pipes listed in the input file do not exist, Backint for MaxDB either creates them or checks periodically to see whether they exist.

The pipes are opened for write access only. The data transfer through a pipe ends when one side of the pipe is closed.

If a database version lower than 7.4.03 is used and more than one pipe is specified in the input file, they must all be processed in parallel and in real time to avoid deadlocks. This means that Backint for MaxDB must process all pipes simultaneously, but independently of each other.

When one pipe is opened or written, this action must not block any other pipes listed in the input file from being opened, or any data from being transferred. This is why Backint for MaxDB checks every pipe periodically to make sure that it can be opened or that data can be written to the pipe. This can be achieved by starting one child process or thread for each pipe and by avoiding any synchronization between these processes and/or threads. In this way, the processes or threads can open and write to the pipes with normal blocking operations, since the operating system switches periodically to the processes or threads of the other pipes.

If a database version from 7.4.03 is being used, and multiple pipes are specified in the input file, then Backint for MaxDB processes a maximum number of these pipes in parallel. This minimizes restore times. Interdependencies between the pipes or the processes/threads that process these pipes do not need to be avoided while data is being restored, since the database itself processes the pipes independently of each other.

MaxDB can support parallel restores with pipes, but this is not mandatory. You can also configure MaxDB for database version 7.4.03 only, or for all database versions covered by this documentation.

However, the supported type of parallel restore must match the parallel backup type.


Inquire Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Inquire Function

You can use the inquire function to query information about any backups managed by the external backup tool.

This function is called with the user ID, the backup ID, and the file name or pipe name. The user ID must be specified, but the backup ID and file name or pipe name are optional. The content of the output file for this function depends on the information specified in the request.

If the input list contains multiple entries, Backint for MaxDB generates the output for the individual entries, and displays it in the order they were entered.

There are four possible cases:

Entries in the Input File

Entries in the Output File

Neither backup ID nor file name or pipe name specified
 #NULL

List of backup IDs for a user ID sorted by the date the backup was created (latest backup first)
One list entry consists of one backup ID.
 #BACKUP <backup_id>

If no backup IDs exist for the specified user ID, Backint for MaxDB does not create any output.

Backup ID specified, file name or pipe name not specified:
 <backup_id>

List of files or pipes that belong to the backup ID
Each list entry consists of the specified backup ID and a file name or pipe name.
 #BACKUP <backup_id> <file_name>
|#BACKUP <backup_id> <pipe_name>

If no files and/or pipes exist for the specified backup ID, Backint for MaxDB does not create any output.

File name or pipe name specified,
backup ID not specified:
 #NULL <file_name> |#NULL <pipe_name>

List of backup IDs that belong to the specified file or pipe, sorted by the date the backup was created (latest backup first)
Each list entry consists of a backup ID and the specified file name or pipe name.

( #BACKUP <backup_id> <file_name>
|#BACKUP <backup_id> <pipe_name>)

If no backup exists for the specified file or pipe, MaxDB generates output that contains the keyword #NOTFOUND.

(#NOTFOUND <file_name>)
(#NOTFOUND <pipe_name>)

Both backup ID and file name or pipe name specified:
 <backup_id> <file_name>
|<backup_id> <pipe_name>

The backup specified by the backup ID and the file name or pipe name:
 #BACKUP <backup_id> <file_name>
|#BACKUP <backup_id> <pipe_name>

If no backup with the specified backup ID exists for the specified file or pipe, MaxDB generates output that contains the keyword #NOTFOUND.

(#NOTFOUND <file_name>)
(#NOTFOUND <pipe_name>)


Delete Function (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Delete Function

The delete function tells Backint for MaxDB which backed up files or pipes are no longer needed. Backint for MaxDB is allowed to ignore a delete request.

If, for example, a backup action has been only partially successful, the delete function informs Backint for MaxDB. The files or pipes that are no longer needed are specified by their user ID, backup ID, and name.


Program Definition for Backint for Max DB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Program Definition for Backint for Max DB

Variables

Calling Backint for MaxDB

Options

Content of the Input File

Content of the Output File

Return Codes


Calling Backint for MaxDB (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Calling Backint for MaxDB

It must be guaranteed that Backint for MaxDB can be called with the following syntax at the command line level:

backint -u <user_id> [-f <function>] [-t <type>] [-c] [-p <par_file>] [-i <in_file>] [-o <out_file>]

For a description of the options, see Options.

For a description of the variables, see Variables.

In addition to the options, the interface also supports several environment variables. These variables are set by the DBM Server before you call Backint for MaxDB.

Environment Variable | Value | Description
BI_CALLER | DBMSRV | Backint for MaxDB is called by the DBM Server
BI_BACKUP | FULL | PARTIAL | ARCHIVE | Complete or incremental data backup or log backup
BI_REQUEST | NEW | OLD | First or subsequent call of Backint for MaxDB within a running backup

Since the DBM Server sets the environment dynamically (putenv), Backint for MaxDB, as a process started by the DBM Server, can inherit these variables (getenv), and use their values to control its further actions.


Options (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Options

It must be guaranteed that the following options can be set for Backint for MaxDB:

Option | Description | Default
-u <user_id> | User ID (UID) User of the backup tool (for example, the name the database instance) | None
-f <function> | <function>::= backup | restore | inquire | delete Type of operation | backup
-t <type> | <type>::= file Backup type; file is the only possible type for handling files or pipes. This backup type is the equivalent of the file backup type of BACKINT (for Oracle). | file
-c | Unattended mode (no action by operator possible) | Attended mode
-p <par_file> | Name of the parameter file, text file for the external backup tool with parameters that specify the backup procedure; specific to the backup tool The MaxDB database tools get the location of this file from their own parameter file. However, they do not analyze its content. | None
-i <in_file> | Name of the input file Text file with the objects of the function (backup, restore, inquire, or delete). See also Content of the Input File | If this option is not set, the data is read from the standard input.
-o <out_file> | Name of the output file Text file where processing messages and the results of functions are saved See also Content of the Output File | If this option is not set, the messages are written to the standard output.

See also: Variables


Variables (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Variables

Variables

In this documentation, all variables have the following meanings and definitions:

Variable | Description | Type (Maximum Length)
<backup_id> | Backup ID (BID) | CHAR(16)
<backup_vol> | Backup volume (for example, tape label) | CHAR(10)
<dest_dir> | Absolute directory and name to which a backed up file is restored | CHAR(255)
<dest_name> | Absolute name of the current pipe to which a backed up pipe is restored | CHAR(255)
<file_name> | Absolute directory and name of the file | CHAR(255)
<in_file> | Name of the input file | CHAR(255)
<out_file> | Name of the output file | CHAR(255)
<par_file> | Name of the parameter file | CHAR(255)
<pipe_name> | Absolute name of the pipe | CHAR(255)
<size> | File size or pipe size | CHAR(16)
<user_id> | User ID (UID) | CHAR(16)


Backup ID (BID) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Backup ID (BID)

The Backint for SAP DB implementation generates a backup ID when a file or pipe is backed up, and writes this ID to the output file. This ID is then used by the functions restore, inquire, and delete.

A backup ID is not necessarily unique since it can be assigned both to the backup of a single file or pipe and to the backups of multiple files and/or pipes. However, any backup of a file is identified by a unique combination of user ID, backup ID, and file name or pipe name.


Content of the Input File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Content of the Input File

The input file consists of a list of objects that need to be backed up. The entries must comply with the syntax rules indicated below.

The information that needs to be processed by Backint for MaxDB depends on the function that has been used.

See also: Functional Description for Backint for MaxDB

Function

Content of the Input File

Syntax

Backup

Names of the files or pipes that you want to back up
Pipes are indicated by the keyword #PIPE

<file_name> | <pipe_name> #PIPE

Restore

Backup ID(s) and/or names of the files or pipes that you want to restore

If you want to restore the newest version of the files or pipes, you can replace some or all of the backup IDs with the keyword #NULL.
If you want to restore the file to a directory other than the one where it was backed up, then you can add the absolute name of a target directory to the combination of backup ID and name of a file.
If you want to restore the content of the pipe to a pipe other than the one where it was backed up, then you can add the absolute name of a target pipe to the combination of backup ID and name of a pipe.

<backup_id> <file_name> [<dest_dir>]
| #NULL <file_name> [<dest_dir>]
| <backup_id> <pipe_name> [<dest_name>]
| #NULL <pipe_name> [<dest_name>]

Inquire

Backup ID(s) and/or names of the files or pipes whose information you want to query

#NULL
| <backup_id>
| #NULL <file_name>
| #NULL <pipe_name>
| <backup_id> <file_name>
| <backup_id> <pipe_name>

Delete

Backup IDs and names of files or pipes that can be deleted

<backup_id> <file_name>
| <backup_id> <pipe_name>

See also: Variables


Content of the Output File (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Content of the Output File

The output file contains the messages about the processing of the functions, and their results. In addition to the success messages and error messages in their defined formats, the file can also contain other messages.

The content of a message depends on the function that has been executed.

See also: Functional Description for Backint for MaxDB

Function

Success Message

Error Message

Backup

#SAVED <backup_id> <file_name> [<backup_vol>]

| #SAVED <backup_id> <pipe_name> <size> [<backup_vol>]

#ERROR <file_name>
| #ERROR <pipe_name>

Restore

#RESTORED <backup_id> <file_name>
| #RESTORED <backup_id> <pipe_name>

#NOTFOUND <file_name>
| #NOTFOUND <pipe_name>
| #ERROR <file_name>
| #ERROR <pipe_name>

Inquire

#BACKUP <backup_id>
| #BACKUP <backup_id> <file_name>
| #BACKUP <backup_id> <pipe_name>

#NOTFOUND <file_name>
| #NOTFOUND <pipe_name>
| #ERROR <file_name>
| #ERROR <pipe_name>

Delete

#DELETED <backup_id> <file_name>
| #DELETED <backup_id> <pipe_name>

#NOTFOUND <file_name>
| #NOTFOUND <pipe_name>
| #ERROR <file_name>
| #ERROR <pipe_name>
| #NOTDELETED <file_name>
| #NOTDELETED <pipe_name>

See also: Variables


Return Codes (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Return Codes

Backint for MaxDB is called by the software (the DBM Server) or a user. Both the software and the user expect Backint for MaxDB to return one of the codes described below:

Return Code | Description
0 | OK – All files and pipes were processed successfully without warnings.
1 | WARNING – However, all files and pipes were processed successfully.
2 | ERROR – Some or all files or pipes were not processed successfully.


Supported Operating Systems and Platforms (Version 7.4) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Supported Operating Systems and Platforms (Version 7.4)

Version 7.4 of the database system supports the following operating systems and platforms:

· Compaq Tru64 Unix (Alpha)

· HP-UX (HP-PA)

· IBM AIX (PowerPC)

· Linux (i386, ia64)

· SUN Solaris (SPARC)

· Microsoft Windows 2000 (i386)

· Microsoft Windows XP (i386)

· Microsoft Windows Server 2003 (i386, ia64)


Supported Operating Systems and Platforms (Version 7.3) (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Supported Operating Systems and Platforms (Version 7.3)

Version 7.3 of the database system supports the following operating systems and platforms:

· Compaq True64 Unix / Alpha

· IBM AIX / PowerPC

· SUN Solaris / SPARC

· HP-UX / HP-PA

· Linux / Intel

· Siemens Reliant Unix / MIPS

· Windows NT / Intel


Development (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Development

Title of the Documentation | Contents
Development Environment | Using the development environment for creating MaxDB software from the source code
Web Based Problem Tracking System | Web interface to the internal MaxDB program PTS (Problem Tracking System) for documenting problem messages regarding the MaxDB software


Development Environment (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Development Environment

Purpose

The development environment is used to change the source code of MaxDB programs and to recreate these MaxDB programs.

You can use the development environment on all operating systems that are supported by the database system, although the installation and some functions differ slightly depending on the operating system.

Implementation Considerations

The development environment is a component of the MaxDB software. For information on how to get the MaxDB software, see Download. For more information about the database system, see Concepts of the Database System. For quick access to the entire documentation and an explanation of the most important terms, use the alphabetically sorted Glossary.

Features

The following tools are available, among others:

· Scripts for initializing the development environment

· Scripts for processing source code and comparing different versions of files

· Scripts for calling VMAKE

· VMAKE for translating and linking the changed source code

Constraints

The database tools Database Manager GUI and SQL Studio are not created using the development environment described here.

Example

· Example: Translating the File HelloWorld.c

· Example: Creating the Database Manager CLIsapurl

See also:

Concepts of the Database System,

· Open Source Development of the Database Software

· Syntax Notation

· Variables and Example


Installing the Development Environment (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installing the Development Environment

Prerequisites

· Perl 5.005 (ActivePerl) or above

· Python 1.5.2 or above

We recommend that you install Perl and Python on Microsoft Windows in directories whose paths do not contain blank characters.

· Visual C++ 6.0 or Visual C++ 7.0 (Microsoft Windows) or C/C++ Compiler gcc (UNIX/Linux)

· bison, flex (UNIX/Linux only)

Procedure

...

1. Download the zip archive (Microsoft Windows) or the tgz archive (UNIX/Linux) that contains the development environment. See Download and Installation Profile.

2. UNIX/Linux only:

Check whether your browser has changed the file extension from .tgz to .tar. If it has, then rename the archive .tgz again.

3. Unpack the archive in a directory that does not contain blank characters.

The DevTool directory is created.

4. Execute the installtools.pl script in the DevTool directory.

¡ The script searches in the %PATH% or $PATH environment variables for the Perl and Python installations.

¡ You are asked to specify your preferred text editor.

¡ The iprofile.tmp file is created.

Result

The development environment was installed.

To change MaxDB programs and recreate them, install the source code and initialize the development environment.


Installing the Source Code (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Installing the Source Code

Prerequisites

You have installed the development environment.

Procedure

...

1. Download the archive with the source code. See Download.

2. Unpack the archive in any directory.

The V<version> directory is created, where <version> is the version number of the MaxDB software.

3. Execute the installsources.pl Perl script in the V<version> directory.

The initDev_SAPDB(.bat) file and the MaxDB_ORG and MaxDB_DEV directories are created (see Directory Structure of the Development Environment).

Result

The source code was installed. Before you can change and recreate MaxDB programs, you first have to initialize the development environment.

Example

The following subdirectories are created when the development environment and the source code of the MaxDB software version 7.5.00.12 are installed in the <MyDevelopmentDirectory> directory:

<myDevelopmentDirectory>

/DevTool

/V75_00_12

/MaxDB_ORG

/MaxDB_DEV


Initializing the Development Environment (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Initializing the Development Environment

Use

You call the initDev_MaxDB(.bat) script that fills the environment variables that are required by the VMAKE program with values.

Call this script each time you have opened a new shell or a new command window.

Prerequisites

· You have installed the development environment.

· You have installed the source code.

Procedure

...

1. Switch to the directory in which you installed the development environment and then two the V<version> directory. <version> is the version of the installed source code.

<myDevelopmentDirectory>/V75_00_12/

2. If necessary, change the values of the environment variables in the initDev_MaxDB(.bat) script.

3. Execute the initDev_MaxDB(.bat) script.

Result

The environment variables in the development environment were filled with values. The system also switches to the MaxDB_DEV directory.

You can now change a MaxDB program.


Environment Variables (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Environment Variables

Use

In general, all environment variables are set when the development environment is initialized by the initDEV_MaxDB(.bat) script. You can also configure the environment variables manually. You can find information about changing environment variables in your operating system documentation.

In Microsoft Windows, the name of environment variables is enclosed in percentage signs (%env_variable%). In UNIX, the name of environment variables begins with a dollar sign ($env_variable). This documentation uses the UNIX notation for environment variables.

You can configure the following environment variables:

$ARC_TYPE

$BUILD_PRAEFIX

$CORRECTION_LEVEL

$DBROOT

$DLL_TYPE

$EDITOR

%INCLUDE% (Microsoft Windows only)

$INSTROOT

$NOQUIET

$OWN

$PATH

$PERL5LIB

$PYTHONPATH

$RELVER

$SHELL

$TOOL

$TOOLEXT

$TOOLOPT

$TOOLSHELL

$TOOLVARS

$VMAKE_DEFAULT

$VMAKE_OPTION

$VMAKE_PATH

$VMAKE_VERSION

$WRK


$ARC_TYPE (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $ARC_TYPE

Definition

This environment variable is optional. It defines the file extension of static libraries.

System default

Operating system | File extension
Microsoft Windows | .lib
UNIX/Linux | .a


$BUILD_PRAEFIX (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $BUILD_PRAEFIX

Definition

This environment variable defines the patch level number of the MaxDB program to be created.

The system default is the patch level of the source code that is installed.

Example

The source code’s patch level of the MaxDB software version 7.5.00.12 is 12.


$CORRECTION_LEVEL (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $CORRECTION_LEVEL

Definition

This environment variable defines the correction level number for the software component to be created.

The system default is the correction level of the MaxDB software source code that is installed.

Example

The source code’s correction level of the MaxDB software version 7.5.00.12 is 00.


$DBROOT (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $DBROOT

Definition

DBROOT is an obsolete name for the $INSTROOT environment variable.

If you change $INSTROOT, set $DBROOT to the same value.


$DLL_TYPE (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $DLL_TYPE

Definition

This environment variable is optional. It defines the file extension of dynamic libraries.

System default

Operating system | File extension
Microsoft Windows | .dll
UNIX/Linux | No file extension


$EDITOR (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $EDITOR

Definition

This environment variable defines the editor that the iview.pl Perl script uses to display and edit source code files.


%INCLUDE% (SAP Library - MaxDB Library)

 Entering content frame

Object documentation %INCLUDE%

Definition

This environment variable only exists in Microsoft Windows. It defines in which directories the development environment tools search for include files.

It has to contain the following directories:

%INSTROOT%\incl

%TOOL%\incl

%OWN%\sys\wrk\incl

%OWN%\sys\wrk\incl\SAPDB


$INSTROOT (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $INSTROOT

Definition

This environment variable defines where the VMAKE program stores the MaxDB programs that are created. The relative path below $INSTROOT depends on the MaxDB program that is created.

$INSTROOT contains an absolute path.

Example

C:\test\V75_00_12\MaxDB_DEV\usr


$NOQUIET (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $NOQUIET

Definition

This environment variable is optional. It defines whether every compiler and linker call is displayed for the MAKE operation.

You can achieve the same behavior by starting the MAKE operation as follows (see ims.pl, imf.pl: Starting the MAKE Operation):

imf --noquiet


$OWN (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $OWN

Definition

This environment variable defines the absolute path for the MaxDB_DEV development area.

See also:

Directory Structure of the Development Environment


$PATH (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $PATH

Definition

This environment variable enhances the PATH operating system variable with those directories that are required by the development environment.

It has to contain the following paths:

$INSTROOT\bin

$INSTROOT\pgm (Microsoft Windows only)

$TOOL\Posix

$TOOL\bin

$TOOL\pgm (Microsoft Windows only)


$PERL5LIB (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $PERL5LIB

Definition

This environment variable defines in which directories the development environment searches for Perl libraries. This environment variable must be set so that the Perl scripts in the tools can be executed.

It has to contain the following directories:

$INSTROOT\misc

$TOOL\bin

$TOOL\Lib\Perl

$TOOL\Lib\perl5


$PYTHONPATH (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $PYTHONPATH

Definition

This environment variable defines in which directories the development environment searches for Python libraries. This environment variable must be set so that the Python scripts in the tools can be executed.

It has to contain the following directories:

$TOOL\Lib\Python

$INSTROOT\lib


$RELVER (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $RELVER

Definition

This environment variable defines the version number of the MaxDB program to be created. The development environment tools use this environment variable for linking.

The system default is the version number of the MaxDB software source code that is installed.

Example

The version number of the source code of the MaxDB software version 7.5.00.12 is V75.


$SHELL (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $SHELL

Definition

This environment variable is optional. It defines which command shell is used by the tools of the development environment to execute operating system commands in description files.

If you do not set this environment variable, the following command shells are used:

· Windows: cmd /c

· UNIX/Linux: sh

You cannot use the following command shells: csh, tcsh

We recommend that you use sh or bash on UNIX/Linux.

Example

/usr/local/bin/bash


$TOOL (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $TOOL

Definition

This environment variable defines the absolute path in which the scripts and programs that the VMAKE program uses are saved.

Example

C:\MyProject\DevTool


$TOOLEXT (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $TOOLEXT

Definition

This environment variable defines the file extension of the scripts (VMAKE tools). The VMAKE program only knows the first part of the file name of the script to be used, and uses this environment variable to determine the file extension.

Example

.pl


$TOOLOPT (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $TOOLOPT

Definition

This environment variable determines additional options for the shell that was determined using $TOOLSHELL. The environment variable is used for internal test purposes only.


$TOOLSHELL (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $TOOLSHELL

Definition

This environment variable defines which shell the VMAKE program uses to execute scripts (VMAKE tools).

Example

C:\Perl\bin\perl.exe


$TOOLVARS (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $TOOLVARS

Definition

This environment variable determines the path for the toolvars.pl initialization file, with which the Perl scripts of the development environment are initialized. The system default is $TOOL/bin.

toolvars.pl contains platform-specific adjustments, such as the platform-specific compiler, link, and other programs, as well as the associated options. Certain additional environment variables that are required for the MAKE process are also initialized in this file.

Example

C:\develop\DevTool\bin\toolvars.pl


$VMAKE_DEFAULT (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $VMAKE_DEFAULT

Definition

This environment variable is optional. It defines the system default for translating module files that are listed in description files.

Use

· If you have not set this environment variable, VMAKE uses the value of $VMAKE_VERSION.

· If you specified the value slow for $VMAKE_VERSION and you set $VMAKE_DEFAULT to fast, only the module files in the description files are translated with the fast version; all other files are translated using the slow version.


$VMAKE_OPTION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $VMAKE_OPTION

Definition

The parameters of this environment variables define VMAKE’s mode of operation:

· General Parameters for $VMAKE_OPTION

· $VMAKE_OPTION Parameters for Searching for Source Code

· $VMAKE_OPTION Parameters for Searching for Object Files

If you specify several parameters, do not enter a blank space between the individual parameters. Each letter stands for a parameter; a distinction is made between upper and lowercase letters.

You can override some of these parameters by specifying the VMAKE options when you start the MAKE process.

Example

aDISOhvWMLRgbX


General Parameters for $VMAKE_OPTION (SAP Library - MaxDB Library)

 Entering content frame

Function documentation General Parameters for $VMAKE_OPTION

Use

Different parameters can be set for the $VMAKE_OPTION environment variable. If you specify several parameters, do not enter a blank space between the individual parameters.

General Parameters for $VMAKE_OPTION

Parameter | Description
A | Object files are copied to the top directory level specified in $VMAKE_PATH if they are already available in the MaxDB_DEV development area.
a | A warning is output instead of an error message due to differences regarding upper and lower-case notation of a target. Discrepancies regarding upper and lower-case letters in the targets within the hierarchy are usually regarded as an error.
b | Normally, C module files are not allowed to use PASCAL include files. If this option is set, the C header files generated from the PASCAL include file are used.
C | c | C level. The same rules apply as for the PASCAL level, with the exception that PASCAL module files are not allowed to exist here. If PASCAL and C Level are used, non-PASCAL files are copied from the PASCAL Level to the C Level during the translation process. C | c therefore implies that PASCAL files are translated into C files. C requires that source code be managed at this level. If you use c, this is optional. In other words, the source code from this level is used if it exists.
D | Date files are used to log the date of a module file that was used to create a program.
e | All object files are assigned debug information.
g | If objects are found in the search hierarchy that are younger than those in the first hierarchy, they are copied to the first hierarchy (standard behavior).
h | If you specify a description file without an extension in the command line, VMAKE attempts to find a description file with a file name that matches the one entered in the command line. The h option determines the search sequence as follows: ... 1. File extension mac 2. File extension shm 3. File extension lnk 4. File extension dld 5. File extension shr 6. File extension rel
H | PASCAL include files are not automatically converted to C header files.
I | i | Include files are assigned a frame. This must be removed, and the include file must be transferred to the include directory. If neither the i nor the I option is set, include files are not interdependent. If i is specified, include files are subject to the standard dependency rules. If I is specified, include files are generated with size information for PASCAL. Include files are only considered if one of the S | s options is set.
l | Object files whose module files are located within the MaxDB_ORG development area are regarded as being up-to-date. The search hierarchy is therefore not applied.
L | The content of libraries is not analyzed. The date of a library is checked against the timestamp of the object files. When libraries are created, all object files that are involved are linked.
M | Object files are stored in the file system, as they cannot be accessed otherwise. Alternatively, object files from programs that have already been linked can be used.
O | o | This level contains object files that can be linked to generate programs. If O is set, these files are used accordingly. If o is specified, program generation ends once all of the object files have been created.
P | p | If P is specified, PASCAL Level files remain in the PASCAL Level directory. P requires that source code be managed at this level. If you use p, this is optional. In other words, the source code from this level is used if it exists.
R | The shrglob and noshrglob options for description files are ignored.
S | s | Many module files have a frame that has to be removed before they are translated. If S is specified, all of the module files have to be present. If s is specified, these files are only used if they exist. Dependent files are only processed if the source code is present.
t | If description files are translated, a date stamp is output.
T | A timestamp is always output before a module file is translated.
X | If write-protected source code (such as those on a CD-ROM) should be accessed, you have to specify this option.
Z | The system searches for module files, whose name does not contain a coded layer and which ends in .rc, .ico, .def, .mc, .dlg, .idl, .ycc, .lex or .rgs, in the Resource layer.


$VMAKE_OPTION Parameters for Searching for Source Code (SAP Library - MaxDB Library)

 Entering content frame

Function documentation $VMAKE_OPTION Parameters for Searching for Source Code

Use

Different parameters can be set for the $VMAKE_OPTION environment variable. If you specify several parameters, do not enter a blank space between the individual parameters.

Parameters for Searching for Source Code

Parameter | Description
(No parameter set) | The first item of source code found is used.
v | The first item of source code found is used. The system outputs a warning if a more recent file is found in the remaining search hierarchy.
V | The most recent source code in the hierarchy is used and, if necessary, copied to the local source area.
vV | The most recent source code in the hierarchy is used and a warning is output.


$VMAKE_OPTION Parameters for Searching for Object Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation $VMAKE_OPTION Parameters for Searching for Object Files

Use

Different parameters can be set for the $VMAKE_OPTION environment variable. If you specify several parameters, do not enter a blank space between the individual parameters.

Parameters for Searching for Object Files

Parameters | Description
(No parameter set) | The first object file found is used.
w | The first object file found is used. The system outputs a warning if a more recent object file is found in the remaining search hierarchy.
W | The most recent object file in the search hierarchy is used.
wW | The most recent object file in the search hierarchy is used and a warning is output.


$VMAKE_PATH (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $VMAKE_PATH

Definition

This environment variable defines in which directories the VMAKE program searches for files. Separate the individual directories using commas.

If a directory ends with two slashes, this directory is not searched for current object files.

Example

/home/test/MAXDB_DEV,/maxdbmount/hpux1/src/MAXDB_ORG//


$VMAKE_VERSION (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $VMAKE_VERSION

Definition

This environment variable is optional. It defines the system default for the VMAKE version and can have the following values: fast or slow.


$WRK (SAP Library - MaxDB Library)

 Entering content frame

Object documentation $WRK

Definition

This environment variable refers to the sys/wrk directory in the MaxDB_DEV development area. It is used by different description files.

See also:

Directory Structure of the Development Environment


Search Hierarchy (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Search Hierarchy

Use

The search hierarchy is the sequence of directories in which the tools of the development environment search for files.

The tools search for files in the following sequence:

...

1. The MaxDB_DEV directory and its subdirectories

2. The MaxDB_ORG directory and its subdirectories

To configure a different search hierarchy, change the value of the $VMAKE_PATH environment variable.

See also:

Directory Structure of the Development Environment


Directory Structure of the Development Environment (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Directory Structure of the Development Environment

Definition

The development environment has a fixed defined directory structure.

Use

The MaxDB_ORG directory and its subdirectories contain the original versions of the description and module files that are not changed by the development environment tools.

You change the files in the MaxDB_DEV directory (“development area”). All files that you want to change have to be copied with the icp.pl script to the development area.

The two directories MaxDB_ORG and MaxDB_DEV are created when the source text is installed . If you are calling VMAKE for the first time, VMAKE creates the corresponding subdirectories.

You use the $OWN environment variable to configure the path and, if you require, to define a different name for the MaxDB_DEV directory If you do not define module files and description files in the MaxDB_DEV directory, but in a different location, adapt the environment variable $VMAKE_PATH (Search Hierarchy) accordingly.

Structure

MaxDB_DEV has the subdirectories sys, tmp and usr.

The sys directory is the work area. It contains the following subdirectories:

· src: module files, optionally also description files

· desc: description files

· wrk : directory in which the MAKE operation takes place. All of the intermediate products (object files, include files) and logs are stored here.

¡ A separate directory (fast, slow) with a similar structure exists for each of the VMAKE versions. Since include files are independent of the VMAKE version, they are stored directly below the wrk directory in the incl directory. The associated date files are stored directly below the wrk directory in the dates directory.

¡ All of the object files and static libraries created are stored in the obj subdirectory. The date files are stored in the dates subdirectory. The psrc and csrc directories can be used as buffers for module files if the parameters for VMAKE_OPTION have been set accordingly. The module files that were translated in debug mode are stored in the debug directory (see Activating Debug Mode.

The tmp directory contains temporary files for the Perl script iview.pl for displaying and editing source text files.

The usr directory contains the MaxDB programs that were created using the development environment. This directory is the future $INSTROOT directory for the MaxDB software (<dependent_path>, see Concepts of the Database System, Variables and Examples).

Example

<myDevelopmentDirectory>
MaxDB_DEV
sys
desc
src
ak
vak54
tmp

MaxDB_ORG
sys
desc
src
ContentStorage
Globals
Interfaces
Resource
SAPDB
ak
gak00
...
vak54
...
bd
...


Changing a MaxDB Program (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Changing a MaxDB Program

Purpose

You are changing the source code of a MaxDB program. The source code of a MaxDB program consists of module files.

Prerequisites

You have initialized the development environment.

Process Flow

...

1. You are copying the module files that you want to change using the icp.pl Perl script from the MaxDB_ORG directory to the MaxDB_DEVdevelopment area.

2. You are changing a module file (source code).

3. You prepare the MAKE process.

Result

In the next step you can call VMAKE and retranslate the changed source code (see MAKE process).

Example

· Example: Translating the File HelloWorld.c

· Example: Creating the Database Manager CLI


Changing a Module File (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Changing a Module File

Use

You are changing a module file.

Prerequisites

You have copied the file with the icp.pl script to the development area.

Procedure

...

1. Call the file using the iview.pl tool.

The file is opened in your editor.

2. Change the file in your editor.

3. Save the file.


Module File (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Module File

Definition

The source code of a MaxDB program consists of several module files.

Use

Module files can be written in any programming language. VMAKE features a special set of VMAKE tools for unpacking and translating module files for all of the programming languages supported by MaxDB.

Module files can contain include files.

Follow the naming conventions for module files.


Include Files (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Include Files

Definition

An include file is a module file that is included in another module file. Include files are independent of VMAKE versions.

Use

For each include file that you changed, the module file in which this include file is integrated must also be retranslated for each MAKE process (see Translation Process).


Layer (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Layer

Definition

Subdirectories in the directory for module files are also known as layers.

Example

Layer ak:

<myDevelopmentdirectory>\V75_00_15\MaxDB_ORG\sys\src\ak

See also:

Directory Structure of the Development Environment


Preparing the MAKE process (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Preparing the MAKE process

Purpose

Once you have changed the module files, you still need to make a few preparations before you start the MAKE process.

Process Flow

...

1. Create or change the corresponding description files

2. Adapt the initialization files

3. Specify files that do not require translation


Creating/Changing Description Files (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating/Changing Description Files

Use

If necessary, you can create or change description files. The description files define how and with which module files the MaxDB program (target) is created.

If, for example, you have created a new module file with additional functions for a MaxDB program, then you have to enter this module file in the link description of the MaxDB program and expand the dependencies for this module file in the corresponding compilation description.

Prerequisites

· You have initialized the development environment.

· You have changed module files.

Procedure

...

1. Copy the necessary description files into the development area.

2. Use the iview.pl script to change the description files.

Follow the general grammar for description files.

Example

Create the DBMCLI


Description Files (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Description Files

Definition

A description file defines how and with which module files a MaxDB program (target) is created.

The following types of description files exist:

· Link descriptions

· Compilation descriptions

· Processing lists

Follow the naming conventions for description files.


Link Description (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Link Description

Definition

A link description specifies how the module files are linked to form a MaxDB program (target).

Use

A link description lists the references to module files and additional description files that should be processed serially by VMAKE. You can specify the options that are used during the link operation.

The file extension of the link description defines which software component is created.

Naming conventions for file extensions of link descriptions

File extension | Target
lnk | Program
shm | Program that enables shared memory access
lib | Static library
dld | Dynamic library
rel | Program that can be linked to other programs (relocatable)
shr | Program that can be linked to other programs (relocatable) and enables shared memory access


Compilation Description (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Compilation Description

Definition

A compilation description defines how VMAKE translates the module files.

Use

A compilation description lists the module files with their dependencies and translation-specific options.

The following dependencies between module files can exist:

· Include dependencies ( include file )

· Dependencies, such as certain auxiliary files that must be located in the same directory as the module file to be translated (demand=<list>) during the translation process

· Logical dependencies – if, for example, the module file X links a file Y that produces the module file Z when it is translated (extdep=<list>)

Compilation descriptions are always created for groups of module files, not for individual module files. The compilation description has the same name as the group. Compilation descriptions have the file extension .com.

If the layer ak exists in the directory containing the module files (src), then the directory with the description files (desc) must contain the compilation description ak.com .

If a layer under the directory with the module files (src) contains further sublayers, the hierarchy must be recreated up to the second last level in the directory containing the description files (desc). The name of the compilation description is then formed from the last sublayer and the file extension .com.

The compilation description for module files in the SAPDB/DBM/Cli layer has the name Cli.com and is located in the directory containing the description files (desc) under SAPDB/DBM.

The processing steps of a compilation description are addressed selectively and are not processed sequentially.

Variants

You can also create compilation descriptions directly in the directory for the module files (src) with the same name and the file extension .com.

The compilation description for module files in the SAPDB/DBM/Cli layer has the name Cli.com and is located in the src/SAPDB/DBM/Cli directory.

VMAKE always searches first for compilation descriptions in the directory of the description files (desc).

See also:

Directory Structure of the Development Environment


Processing List (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Processing List

Definition

A processing list is a list of description files and module files to be processed, as well as operating system commands to be executed. They can also contain additional processing lists and options.

Processing lists have the file extension .mac.

Use

VMAKE processes the entries in a processing list from top to bottom.

All of the listed files, as well as any other files listed as links, are first checked down to the lowest level to determine whether they have been changed with respect to a target created previously. If there were any changes, then VMAKE recreates the targets.


General Grammar for Description Files (SAP Library - MaxDB Library)

 Entering content frame

Background documentation General Grammar for Description Files

For a detailed description, see Grammar for Link Descriptions, Grammar for Compilation Descriptions, and Grammar for Processing Lists.

Syntax

<debug_opt> = debug | d

<digit> = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<letter> = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | r | u | v | w | x | y | z

<new_line> = explicit line break

<profile_opt> = profile | p

<sign> = + | -

<tabulator> =tab

<vmake_default> = f | q | s

<vmake_version> = f | q | s

<extended_letter> = all other printable characters

<character> = <digit> | <letter> | <extended_ letter>

<identifier> = <token>

<space> = [<space>] | [<space>]<tabulator>

<token_sep> = {<token_sep>}<space>

<token> = <character>{<character>}

<list> = [<list>,],{<character>}<token_sep>

<ext_list> = [<ext_list>,],[<sign>]{<character>}<token_sep>

<comment> = [<comment><token_sep>]<token>

<compile_option> = <extended_letter><token>

<demand_spec> = demand[{<layer>{<layer>}}]

<dep_list> = (obj | inc | dep | <demand spec>)=(<list> | <ext_list> | EMPTY)

<expr> = <character>{<character>} | (<expr>) | not<space><expr> | ![<space>]<expr> | <expr><space>[(not | !)<space> ]in<space>[[<space>]<expr>{[<space>] ,[<space>]<expr>}[<space>]] | <expr>=[=]<expr> | <expr>!=<expr> | <expr>&&<expr> | <expr>||<expr>

<layer> = <letter><letter>{<letter>}

<mf_option> = <token>[=<value>]

<option> = [<option><token_sep>](<dep_list> | <mf_option> | <compile_option> | <target_option>)

<option_block> = ([f | [q | [s) <option> {<option>} (f] | q] | s])

<ext_option> = <option_block> | <option> | EMPTY

<target_option> = uncond | remake | <debug opt> | binary | ascii | exec | definition | interface | <profile opt> | shrglob | noshrglob | noobjcopy | (<vmake_version>[<vmake_default>]) | -><token> | <ext_target_option> | <ext_target_option_list> | nobind | noversion | nocomfile

<ext_target_option> = ?<token_sep>(default_layer | default_version | require | -><token> | propagate | parentlinkoption)<token_sep>(: | ([<character>]))<token_sep><token>

<ext_target_option_list> = ?<token_sep>(output | link_with | link_option | tool_option)<token_sep>(: | ([<character>]))<token_sep><token>{<token_sep>,<token_sep><token>}

<ext_target_option_line> = (<ext_target_option> | <ext_target_option_list>) <new_line>

<value> = <character>{<character>}

<def line> = &define | &undef <identifier> [<value>]<new_line>

<comment_line> = #<comment><new_line>

<block> = <instance_block> | <sub_block>

<instance_block> = (<instance_block_start>{<sub_block>}<instance_block_end>) | EMPTY

<instance_block_start> = (&fast | &slow) <comment><new_line>

<instance_block_end> = (&endfast | &endslow) <comment><new_line>

<sub_block> = {<line>} | <sub_block_start>{<line>}<sub_block_end>

<sub_block_start> = &if <expr>{<space>}<new_line> | &ifdef | &ifndef | &ifvar | &ifnvar) <identifier>{<space>}<new_line>

<sub_block_end> = &endif <comment><new_line> | &else <comment><new_line> | &elif <comment><new_line>

<line> = Line

General Rules

· <token> can contain a maximum of 512 characters

· <token> must not contain a <space>

· If <instance_block_start> contains the string &xxx, <instance_block_stop> must contain the character string &endxxx.

· If the <option_block>expression starts with [x , it must end with x].

· In <mf_option>, <token> must start with <letter> or <character>.


Grammar for Link Descriptions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Grammar for Link Descriptions

Link descriptions are based on the general grammar for description files, the naming conventions for module files, and the naming conventions for description files.

Syntax

<link_description> = {<block>} | EMPTY

<line> = <link_desc_line>

<link_desc_line> = <comment_line> | <link_line> | <def_line> | <ext_target_option_line> | <tool_option_line> | <file> | EMPTY

<tool_option_line> = <extended_letter><token><new_line>

<file> = (/ | $)<token>

<link_line> = [<source_spec>|<desc_spec>]<new_line>

General Rule

In <tool_option_line>, <ext_character> must not begin with / | $ | !


Grammar for Compilation Descriptions (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Grammar for Compilation Descriptions

Compilation descriptions are based on the general grammar for description files and the naming conventions for module files.

<compile_description> = {<block>} | EMPTY

<line> = <comp_desc_line>

<comp_desc_line> = <comment_line> | <comp_line> | <def_line> | <option_line> | EMPTY

<comp_line> = (<source_spec> | <reg_source>)<token_sep>{<option>}<new_line>

<reg_source> = regex(<regex>) | ([<source_id>]*[<lang_id>][<variant>])

<source_id> = g | h | i | v

<regex> =Regular expression (according to GNU standard)


Grammar for Processing Lists (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Grammar for Processing Lists

Processing lists are based on the general grammar for description files, the naming conventions for module files, and the naming conventions for description files.

Syntax

<macro_description> = {<block>} | EMPTY

<line> = <macro_desc_line>

<macro_desc_line> = <comment_line> | <macro_line> | <def_line> | <ext_target_option_line>

| <command_line> | EMPTY

<command_line> = ![! | ?]<command>

<command> = {<character>}

<macro_line> = [<source_spec>|<desc_spec>]<new_line>

General Rule

In <tool_option_line>, <ext_character> must not begin with / | $ | !


Options for Description Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Description Files

Use

To specify the translation process and the link operation and to override the system default for VMAKE for certain processes, you can specify options in description files.

Some options are available for all types of description files, others can only be used in certain description files.

See

· Options for Link Descriptions

· Options for Compilation Descriptions

· Options for Processing Lists


Options for Link Descriptions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Link Descriptions

Use

The following options are available for link descriptions:

? defaultlayer : <layer>

? defaultlayer :

? defaultversion : <vmake_version>

? defaultversion :

? distribute : <list>

? error: <error_message>

? link with : <list>

? linkoption : <list>

? output : <list>

? parentlinkoption : <link_option>

? propagate : <variable>[=<value>]

? require : <target>

? tooloption : <list>

-> <output>

ascii

binary

debug|d

definition

demand

demand{<relative_path>}

demand=<list>

demand{<relative_path>}=<list>

dep=<list>

distrib

extdep=<list>

inc=<list>

interface

nobind

nocomfile

nodistrib

noobjcopy

noshrglob

obj=<list>

output=<list>

profile|p

remake

shrglob

uncond


Options for Compilation Descriptions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Compilation Descriptions

Use

The following options are available for compilation descriptions:

? defaultlayer : <layer>

? defaultlayer :

ascii

binary

debug|d

definition

demand=<list>

demand{<relative_path>}=<list>

dep=<list>

exec

extdep=<list>

inc=<list>

interface

noobjcopy

noshrglob

noversion

obj=<list>

output=<list>

parentlinkoption=<link_option>

profile|p

remake

shrglob

uncond


Options for Processing Lists (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Processing Lists

Use

The following options are available for processing lists:

!! <command>

!? <command>

! <command>

? defaultlayer : <layer>

? defaultlayer :

? defaultversion : <vmake_version>

? defaultversion :

? distribute : <list>

? error: <error_message>

? propagate : <variable>[=<value>]

? require : <target>

ascii

binary

debug|d

distrib

nocomfile

nodistrib

remake

shrglob

uncond


! <command> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ! <command>

You can only use this option in processing lists.

VMAKE processes a processing list from top to bottom. When VMAKE reaches this option, and if VMAKE has updated targets up to this point, the operating system command <command> is executed.

If no targets have been updated, this command is ignored.


!! <command> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation !! <command>

You can only use this option in processing lists.

VMAKE processes a processing list from top to bottom. When VMAKE reaches this option, the operating system command <command> is executed.

Unlike the ! <command> option, the command is executed irrespective of whether targets have been updated up to this point.


!? <command> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation !? <command>

You can only use this option in processing lists.

VMAKE processes a processing list from top to bottom. If all previous targets were updated successfully, then the operating system command <command> is executed as soon as VMAKE reaches this option.


? defaultlayer : <layer> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? defaultlayer : <layer>

You can use this option in processing lists, link descriptions, and compilation descriptions.

If the name of a module file does not follow the naming conventions, and if the system cannot determine the corresponding layer as a result, the layer specified in <layer> is accessed.

This option can be repeated several times in a description file.


? defaultlayer : (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? defaultlayer :

You can use this option in processing lists, link descriptions, and compilation descriptions.

If the name of a module file does not follow the naming conventions, and if the system cannot determine the corresponding layer as a result, the layer that was specified with the ? defaultlayer : <layer> option is accessed.

To delete this default value for a layer, use the ? defaultlayer : option.


? defaultversion : <vmake_version> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? defaultversion : <vmake_version>

You can use this option in processing lists and link descriptions.

This option defines the VMAKE version to be used to process the following listed files.

To specify a different version subsequently, use the ? defaultversion : <vmake_version>option. This option, therefore, can be used repeatedly in a description file.

To reset VMAKE to the VMAKE version specified in the call, use the ? defaultversion : option.


? defaultversion : (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? defaultversion :

You can use this option in processing lists and link descriptions.

You use this option to delete a VMAKE version that was set with ? defaultversion : <vmake_version> .

The system then uses the VMAKE version that was specified when VMAKE was called.


? distribute : <list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? distribute : <list>

You can use this option in processing lists and link descriptions.

This option can be used to create distribution lists (-F option for calling VMAKE). Enter the list of files to be included in the distribution list in <list>.

Specify the file paths in <list>, relative to the $INSTROOT directory (for example pgm/kernel).

We recommend that you use the distrib option.


? error: <error_message> (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ? error: <error_message>

You can only use this option in link descriptions and processing lists.

An error is output and the MAKE process is ended.


? link with : <list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? link with : <list>

You can only use this option in link descriptions.

If a target requires additional libraries, these can be included in the link description with the ? link with : <list> option.


? linkoption : <list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? linkoption : <list>

You can only use this option in link descriptions.

You use this option to transfer the list of options specified in<list> to the tool used for the link operation.


? output : <list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? output : <list>

You can only use this option in link descriptions.

Targets of link descriptions are given the name of the link description and are stored in a path specified by VMAKE.

Use the ? output : <list> option to change the name and/or path of several output files, or create copies of individual files. To do so, you create a list <list>, in which you assign one or more paths to one or more targets. VMAKE then changes the name and path definition specified for this target by the system.

If you specify a directory in the list or end an entry with a slash, the file retains the name assigned by the system and is copied to the specified directory.

To change the name and/or path for one individual output file, use the -><output> option.

An output file can have different file extensions on different platforms. In this case, specify the file extension * for the target. By doing so, you can avoid having to define individual output files for each platform.

Dynamic libraries have the file extension dll on Microsoft Windows and so or sl (HP-UX) on UNIX.

Specify the libtest.* list with path specifications for targets:

? output : $DBROOT/misc/libtest.*


? parentlinkoption : <link_option> (SAP Library - MaxDB Library)

 Entering content frame

Background documentation ? parentlinkoption : <link_option>

You can use this option in link descriptions. You use it to define a link option for all link descriptions that integrate this link description.

The specified link option is also passed to all additional (higher-level) link descriptions.


? propagate : <variable>[=<value>] (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? propagate : <variable>[=<value>]

You use this option in processing lists and link descriptions to set an environment variable.

The system deletes this variable once the relevant list or link description has been processed.


? require : <target> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? require : <target>

You can use this option in processing lists and link descriptions. It is only effective with the -R option for calling VMAKE.

You use this option to specify whether a link description requires certain targets to be created.


? tooloption : <list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ? tooloption : <list>

You can only use this option in link descriptions.

The options in the <list> are forwarded to the tool that is responsible for the link operation.


-><output> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation -><output>

You can use this option in link descriptions and compilation descriptions.

Targets of link descriptions are given the name of the link description and are stored in a path specified by VMAKE.

Use the -><output> option to change the name and/or path for an individual output file.

If you want to change the name and/or path for several output files, or if you want to create copies of files, use the ? output: <list> option (in link descriptions) or the output=<list> option (in compilation descriptions).


ascii (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation ascii

You can use this option in processing lists, link descriptions, and compilation descriptions.

If this option is specified, the module file is not translated and VMAKE creates the corresponding target by copying the module file to the object directory only. In contrast to the binary option, the file is treated as a text file.

To store the file in a different location, use the -><output> option.


binary (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation binary

You can use this option in processing lists, link descriptions, and compilation descriptions.

If this option is specified, the module file is not unpacked and translated. VMAKE creates the corresponding target by copying the module file to the object directory only. In contrast to the ascii option, the file is treated as a binary file.

To store the file in a different location, use the ->output option.


debug|d (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation debug|d

You can use this option in processing lists, link descriptions, and compilation descriptions.

This option causes a module file to be translated in debug mode. Specify option debug or d after the module file.

Example

vak10 debug

ven70.c d

See also:

Activating Debug Mode


definition (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation definition

You can use this option in link descriptions and compilation descriptions.

The definition option identifies a module file as a definition file for dynamic libraries on Microsoft Windows. Semantically, this option has the same effect as a combination of the options binary and demand.

When this option is assigned to a module file, the file is copied as a binary file to the current working directory tmp before the link operation takes place.


demand (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation demand

You can only use this option in link descriptions.

An object file is copied to the tmp directory before the link operation takes place.

If you assign this option to a module file, the resulting object file is requested for the link operation; in other words, it is copied to the working directory specified by VMAKE.


demand{<relative path>} (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation demand{<relative path>}

You can only use this option in link descriptions.

The object file of the identified module file is requested in a specific path for the link operation; in other words, it is copied to the specified path relative to the working directory.


demand=<list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation demand=<list>

You can use this option in link descriptions and compilation descriptions.

The object files of the files in the <list> list are requested when translation is carried out; in other words, they are copied to the relevant working directory.


demand{<relative path>}=<list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation demand{<relative path>}=<list>

You can use this option in link descriptions and compilation descriptions.

The object files of the files listed in <list> are requested to a specific path when translation is carried out; in other words, they are copied to the path relative to the working directory.


dep=<list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation dep=<list>

You can use this option in link descriptions and compilation descriptions.

The <list> list contains the module files on which the specified module file depends.

Example

vco01.idl dep=vco03.idl


distrib (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation distrib

You can use this option in processing lists and link descriptions .

This option is required to create distribution lists (-F option for Calling VMAKE). The files resulting from the target listed directly before this option are included in the distribution list, provided that they are located in the $INSTROOT directory.


exec (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation exec

You can only use this option in compilation descriptions. It is only evaluated on UNIX and in conjunction with the ascii or binary options.

When you specify this option, the corresponding target is assigned the execute access authorization.


extdep=<list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation extdep=<list>

You can use this option in link descriptions and compilation descriptions.

You use this option to define a logical dependency between targets and/or files.

Example

Translating module file X results in the by-product Y. You can use this option to specify that X should be retranslated as soon as Y no longer exists or is obsolete and therefore has to be recreated.

vco01.idl   extdep=$WRK/incl/livecache.h


inc=<list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation inc=<list>

You can use this option in link descriptions and compilation descriptions. You can use this option to list the include files that are used by the module file.

The files in <list> must be identifiable as include files. If a file is not identifiable as an include file by its extension .h or 00, or by the letter h as the first letter in the file name, you can identify it as an include file by an appended (i).

inc=vma18(i)


interface (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation interface

You can use this option in link descriptions and compilation descriptions.

By specifying this option, you can ensure that a module file cannot be updated once it has been translated (for example, an interface). For this purpose, a file with the extension .i is created on the computer, on which module files with this option are translated.

This module file can only be translated again when VMAKE no longer finds a file of this name with the extension .i in the path hierarchy (VMAKE_PATH).


nobind (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation nobind

You can only use this option in link descriptions.

The target that has been assigned this option is created but not linked during the link operation.


nocomfile (SAP Library - MaxDB Library)

 Entering content frame

Background documentation nocomfile

You can use this option in link descriptions and processing lists.

VMAKE does not evaluate a compilation description for the module that is specified after this option.

All other options that are specified in the compilation description have to be defined individually for this module in the listing of the link description or in the processing list.


nodistrib (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation nodistrib

You can use this option in processing lists and link descriptions.

This option is specified after the target nodistrib or directly after the output file in brackets (nodistrib). In this way, you can exclude individual components or files that would usually be created during the MAKE process, from the delivery list.


noobjcopy (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation noobjcopy

You can use this option in link descriptions and compilation descriptions.

Object files that result from module files with this option are not copied. You use this option, for example, if the object contains information that is computer specific or unique across all departments.


noshrglob (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation noshrglob

You can use this option in link descriptions and compilation descriptions.

By specifying this option, you explicitly suppress the calculation of size specifications for global variables in the source code. These size specifications are required to use the shared memory.


noversion (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation noversion

You can use this option in compilation descriptions.

If you want to modules used by the header files in such a way that they are independent of the VMAKE version, you must specify the noversion option for these modules. The object files and the date files are then copied directly under the $WRKdirectory in the objand datedirectories. In this way, these files are only created once for all kernel versions (fast, slow).


obj=<list> (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation obj=<list>

You can use this option in link descriptions and compilation descriptions.

Normally, exactly one object file is created during the translation process that has the name of the module file and the file extension .o. Use the obj=<list> option if additional object files exist. <list> can be empty if no object file is created.


output=<list> (SAP Library - MaxDB Library)

 Entering content frame

Background documentation output=<list>

You can use this option in compilation descriptions.

This option saves the output file to those locations that are specified in the <list> list.


parentlinkoption=<link_option> (SAP Library - MaxDB Library)

 Entering content frame

Background documentation parentlinkoption=<link_option>

You use this option in compilation descriptions to define a link option for all link descriptions that integrate this module.

The specified link option is also forwarded in link descriptions that contain link descriptions that integrate the relevant module (with the link option).


profile|p (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation profile|p

You can use this option in link descriptions and compilation descriptions.

You can use this option to insert source code for measuring performance (profiling) in a module file.

Example

vak10 profile

ven70.c p


remake (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation remake

You can use this option in processing lists, link descriptions, and compilation descriptions.

When object files are no longer up to date and the target is to be recreated, you can use this option to force a retranslation of the corresponding module files.


shrglob (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation shrglob

You can use this option in processing lists, link descriptions, and compilation descriptions.

With this option you define that a file with size specifications is created for the variables that are used globally in the source code. These size specifications are required to use the shared memory.


uncond (SAP Library - MaxDB Library)

 Entering content frame

Syntax documentation uncond

You can use this option in processing lists, link descriptions, and compilation descriptions.

You use this option if a module file is to be retranslated with every MAKE process.


Adapting the Initialization Files (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Adapting the Initialization Files

Use

Initialization files determine how the VMAKE program is initialized.

VMAKE initialization files

Name | Use
Langextinfo | Assignment of the module files to the translation tools; the assignment is based on the file extension or the last character in the file name.
Langinfo | Assignment of programming language to respective tools for unpacking and translating module files
Extra | Assignment of files that do not require translation to their storage locations
Globals.com | Global compilation description for all description files
DirectoryMapping | Assignment of module files to a layer uses the first part of the file name

The files are stored in the desc directory (see Directory Structure of the Development Environment).

Procedure

Change the initialization files using the iview.pl script.


Langextinfo (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Langextinfo

Definition

Langextinfo is an initialization file from VMAKE. It assigns file extensions to a programming language. Each programming language is represented by a letter (see below).

Use

If VMAKE finds a Langextinfo file, then the information contained in the file overrides the system default of VMAKE for the assignment of programming languages.

To override the system default, create a file with the name Langextinfo in the desc directory.

Syntax

<langextinfo_line> = <comment_line> | (<lang_id><lang_descr><token_sep><token>{<token_sep>,<token_sep><token>}<new_line>)

Use the # character as a comment character.

Parameters

Name | Description
<lang_id> | Letter that identifies the language
<lang_descr> | Description of the language; must not contain <token_sep>
<token> | File extension

If you make assignments between new letters, programs and file extensions, you also have to maintain the Langinfo file.

System Default Value

Assigned letter (program) | File extension(s)
x(C++) | cpp, hpp
c(C) | c, h
t(PASCAL) | t
a(Assembler) | s
r(Resources) | rc, ico, def, mc, dlg, idl, ycc, lex, rgs

Example

w(WinResources) rc


Langinfo (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Langinfo

Definition

Langinfo is an initialization file from VMAKE. In this file you assign the individual programming languages to the tools that should be used for unpacking and translating module files.

Use

If VMAKE finds a Langinfo file, the information contained in the file overrides the system default of VMAKE. To change or enhance the existing assignments, create a file with the name Langinfo in the desc directory. All further changes are then made in this file.

Each programming language is specified in the Langinfo file by a letter. This letter is defined in the Langextinfo file.

Syntax

<langinfo_line> = <comment_line> | (<lang_id><token_sep><unpack_inc_tool><token_sep><unpack exp tool><tokensep><unpack mod tool><tokensep><extension><tokensep><option prefix><tokensep>
<compiler tool>)

<unpack inc tool> = <token>

<unpack exp tool> = <token>

<unpack mod tool> = <token>

<extension> = .<token>

<option prefix> = <ext character><letter>

<compiler tool> = <token>

Use the # character as the comment character.

System Default Value

last char | unpack include | unpack exports | unpack module | extension | option prefix | compiler | comment
t | mfpinc | mfpexp | mfp | .p | %T | comppc | # PASCAL
p | mfpinc | mfpexp | mfp | .p | %P | compp | # PASCAL
c | mfcinc | mfcexp | mfc | .c | %C | compc | # C
x | mfcinc | mfcexp | mfc | .cpp | %X | compc | # C++
a | mfainc | mfaexp | mfa | .s | %A | compa | # Assembler
r | mfcinc | mfcexp | mfrc | .rc | %R | comprc | # Resources

The scripts for unpacking a module file use the table entry in extension as the file extension.

Example

w mfcinc mfcexp mfrc .rc .res %W comprc2res


Extra (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Extra

Definition

Extra is an initialization file of VMAKE. It defines how VMAKE handles module files that have a special file extension and should not be translated.

Use

<extra_line> = <comment_line> | (<extension><token_sep><layer><token_sep><dest_dir><token_sep><option><new_line>)

Use the # character as a comment character.

Parameters

Name | Description
<extension> | File extension
<token_sep> | Separators (any number of blank characters or tabs)
<layer> | Layer
<dest_dir> | Directory to which the files should be copied
<option> | Options

Options

Name | Description
ascii | See ascii
binary | See binary
concom | Conditional compiling
exec | See exec
unpack=yes|no|no dot | Unpack (yes| no | remove the last file extension)

Example

.ino xx usr/env unpack=no
.mp px usr/bin unpack=no dot
.dm px tmp exec

Module files with the file extension .ino belong to the xx layer. They must be copied to the usr/env directory in $INSTROOT. The module file does not contain any textual frame (option unpack=no).

Module files with the file extension .mp belong to the px layer. These must be copied to the usr/bin directory (relative to $INSTROOT). The module file does not contain any textual frame. Once the files have been copied, the extension .mp must be removed (option unpack=no dot).

Module files with the file extension .dm belong to the px layer. These must be copied to the tmp directory (relative to $INSTROOT). The module file contains a textual frame that must be removed. Once the frame has been removed, the file is identified as executable (exec option, only relevant for UNIX/Linux).


Globals.com (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Globals.com

Definition

Globals.com is a compilation description in which options and dependencies for all module files are specified. It can either be stored in $INSTROOT/sys/desc or in $INSTROOT/sys/src/Globals.

Use

VMAKE interprets for each module the corresponding compilation description to determine dependencies and options for these. If there are options or dependencies that apply to all module files, they do not have to be listed in each compilation description, they can be defined globally in Globals.com instead. The syntax is the same as for all other compilation descriptions.

Example

The $INSTROOT/sys/src/Globals/Globals.com file has the following entries:

*.cpp -OPT=-O2

For all C++ files, the optimization for the compilation is set to -O2.

*p dep=:ptoc/ptoc_h

All Pascal files are dependent on the src/ptoc/ptoc_h module file.


DirectoryMapping (SAP Library - MaxDB Library)

 Entering content frame

Object documentation DirectoryMapping

Definition

DirectoryMapping is an initialization file of VMAKE. It is used to assign module files to layers. DirectoryMapping is stored in the $INSTROOT/sys/desc directory.

Use

VMAKE uses the second and third letters of the file name to assign module files to a layer. An alternative method of assigning module files to a layer is to use the DirectoryMapping function. This method also allows you to use longer and more meaningful file names. File names specified with the DirectoryMapping function consist of two parts, which are linked by an underscore. The first part specifies in short form the layer, the second part specifies the name of the module file:
<file_name> = <short_layer>_<modular_file>

The short form is mapped to the corresponding later in the DirectoryMapping file:
<dm_line> = <comment_line> | (<short_layer>, <full_layer><new_line>)

<short_layer> | Short form of the layer
<full_layer> | Layers below $INSTROOT/sys/src/SAPDB

You can use the # character as a comment character.

A compilation description is necessary for a directory containing module files. This is defined according to the conventions for compilation descriptions.

Example

The $INSTROOT/sys/desc/DirectoryMapping file has the following entries:

# <short_layer>, <directory>
# Component SQLStudio
StudioTD, SQLStudio/TableDefinition # Table Definition

If the StudioTD_TableDef.cpp and StudioTD_Wrapper.cpp are to be created, the compilation description KTableDefinition.com must be stored under $INSTROOT/sys/desc/SAPDB/SQLStudio/ or $INSTROOT/sys/src/SAPDB/SQLStudio/TableDefinition.

VMAKE searches for the StudioTD_TableDef.cpp and StudioTD_Wrapper.cpp files in the $INSTROOT/sys/src/SAPDB/SQLStudio/TableDefinition layer.


Specifying Files That Do Not Require Translation (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Specifying Files That Do Not Require Translation

Use

Certain files contain source code that is already in the required text or binary format. These files do not have to be translated, instead they are only copied to the object directory by VMAKE.

You can edit these files using the mfextra tool (see VMAKE Tools).

Procedure

To prevent the translation of a file, you have the following options:

· Set the ascii or binary option.

· Enter the file in the Extra initialization file.


icp.pl: Copying Files to the Development Area (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation icp.pl: Copying Files to the Development Area

Use

You always change source code files in the MaxDB_DEV development area, not in the MaxDB_ORG area (original files). Use the icp.pl Perl script to copy the source code files from the MaxDB_ORG area to the MaxDB_DEV development area During copying, icp.pl creates all necessary subdirectories in the development area.

Prerequisites

You have initialized the development environment.

Procedure

icp.pl [-o] <file1> [<file2>]

Parameters

Name | Description
<file1> | File which is to be copied to the development area. Do not specify the complete path, only the file name. The naming conventions for files ensure that the file name is unique.
<file2> | Name in which the file is to be stored in the development area
-o | Copies the file to the same directory in the top level of the search hierarchy

Result

The module file can now be changed.

Example

Copy the module file vak54:

icp.pl vak54

The icp.pl Perl script copies the vak54 file to the MaxDB_DEV development area and creates the necessary directories:

<myDevelopmentDirectory>\V75_00_12\MaxDB_DEV\sys\src\ak\vak54

See also:

Directory Structure of the Development Environment


iview.pl: Displaying and Editing Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation iview.pl: Displaying and Editing Files

Use

iview.pl is a Perl script with which you display and edit module and description files. The program that is specified in the $EDITOR environment variable is used as the editor.

iview.pl [-l <level>] <file>

Parameters

Name | Description
<file> | File to be opened Do not specify the complete path, only the file name. The naming conventions for files ensure that the file name is unique.
-l <level> | The version of the file that is located in the search hierarchy at <level> is accessed

The script proceeds as follows:

· If the <file> file is located in the src or desc subdirectory in the MaxDB_DEV development area, it is opened directly there and can be processed.

· If the file is not located in the development area, then the script searches for it using the search hierarchy and copies the file for display in the tmp subdirectory in the MaxDB_DEV development area.

Changes to a file can only be translated if the file was previously copied with the icp.pl script to the development area and changed there.

Example

iview.pl dbmcli.lnk

See also:

Directory Structure of the Development Environment


idiff.pl: Comparing Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation idiff.pl: Comparing Files

Use

idiff.pl is a Perl script that compares a file in the MaxDB_DEV development area with an older version of the same file in the search hierarchy.

idiff.pl [-l <level1>,<level2>] <file>

Parameters

Name | Description
-l <level1>,<level2> | Levels <level1>,<level2> in the search hierarchy in which the script searches for versions of the file to be compared If you omit this option, the file is compared with the next level in the search hierarchy.
<file> | File in the development area to be compared with an older version. Do not specify the complete path, only the file name. The naming conventions for files ensure that the file name is unique.

Example

idiff.pl -l 2,3 vak54

See also:

Directory Structure of the Development Environment


ils.pl: Displaying the Versions of a File (SAP Library - MaxDB Library)

 Entering content frame

Function documentation ils.pl: Displaying the Versions of a File

ils.pl is a Perl script that displays the versions of a file within the search hierarchy.

ils.pl [-l <level>] <file>

Parameters

Name | Description
<file> | File whose versions is to be displayed in the search hierarchy. Do not specify the complete path, only the file name. The naming conventions for files ensure that the file name is unique.
-l <level> | Levels in the search hierarchy from which the script searches for versions of the file.

Example

ils.pl vak54

------------------------------------------------

level 0 - C:\test\V75_00_15\MaxDB_DEV :

190144 Thu Jul 22 09:41:03 2004 sys/src/ak/vak54

level 1 - C:\test\V75_00_15\MaxDB_DEV :

190144 Tue Jun 22 20:33:46 2004 sys/src/ak/vak54

------------------------------------------------

See also:

Directory Structure of the Development Environment


Naming Conventions for Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Naming Conventions for Files

Use

Follow the naming conventions when you name module files and description files .

<filename> = <digit> | <letter> | <extended letter>

Permitted Characters in File Names

<digit> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<letter> | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | | u | v | w | x | y | z
<extended> | All other printable characters, apart from hyphen and period

The following conventions also apply:

· Naming Conventions for Module Files

· Naming Conventions for Description Files


Naming Conventions for Module Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Naming Conventions for Module Files

Use

<source_spec> = <qual_source> | <std_source> | <ext_std_source> | <map_source>

<source_spec> can contain a maximum of 512 characters

Naming Conventions for Module Files

<qual_source> | :<ext_layer><source>
<std_source> | <source_id><layer><digit><digit>{<digit>}[{<letter>}<lang_id>][<variant>]
<ext_std_source> | <std_source>[<primary_lang_id>]
<map_source> | <shortform>_<specification>
<source> | <token>[<variant>]<primary_lang_id>
<source_id> | g | h | i | v
<ext_layer> | [<ext_layer>]<character><character>{< character >}/ Maximum 256 characters
<shortform> | <letter>{<letter>}
<specification> | <letter>{<letter>}[<variant>][<primary_lang_id>]
<lang_id> | <letter>
<layer> | <letter><letter>{<letter>} Maximum 256 characters
<primary_lang_id> | .<token>
<variant> | -<token>

Example

<qual_source> | :Demo/Test/demo.cpp
<std_source> | hak33c | vbd23x | vkb00
<ext_std_source> | hak33.h | vbd23x.cpp | vkb00.hxx
<map_source> | StudioTD_TableDef.hpp | StudioTD_Wrapper.cpp


Naming Conventions for Description Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Naming Conventions for Description Files

Use

<desc_spec> = <qual_desc> | <std_desc>

<desc_spec> can contain a maximum of 512 characters

Naming Conventions for Description Files

<qual_desc> | ::[<ext_layer>]<std_desc>
<std_desc> | <character>{<character>}<desc_ext>
<desc_ext> | .(mac | prj | shm | lnk | dld | shr | rel | lib | com)

Example

<qual_desc> | ::Kern/diagnose.lnk
<std_desc> | ak1.lib | kernel.shm | ak.com


MAKE Operation (SAP Library - MaxDB Library)

 Entering content frame

Process documentation MAKE Operation

Purpose

You are creating a software component using the VMAKE program from changed source text files.

Prerequisites

You have prepared the MAKE operation.

Process Flow

The MAKE operation is divided into two phases: the collection phase and the make phase.

Collection Phase

...

1. ims.pl, imf.pl: Starting the MAKE Operation

2. Determining the Files to be Translated

MAKE Phase

The module files are created in the dependency defined in the description files during the MAKE phase. If an error occurs while a module file is being created, all the targets that are dependent on this module file will not be created either. This applies across all dependency levels.

3. Translation Process

4. Link Process

5. The files located in the temporary working directory are deleted once the targets have been successfully created. If an error occurs while the targets are being created, the files are not deleted from the temporary directory. VMAKE also logs the entire software creation process.

Example

If a module file vak10 is dependent on vak00 (vak10 inc=vak00), vak00 is handled first. vak10 cannot be created until this file has been successfully generated.

If an error occurs when vak00 is created, vak10 as well as other dependent files cannot be handled. As vak10 is contained in ak1lib.lib, ak1lib.lib is not linked. Since ak1lib.lib is contained in the kernel.shm kernel, the kernel is also not linked.

See also:

Comparison Between MaxDB VMAKE and a Conventional Make Program


ims.pl, imf.pl: Starting the MAKE Operation (SAP Library - MaxDB Library)

 Entering content frame

Function documentation ims.pl, imf.pl: Starting the MAKE Operation

Use

You never call VMAKE directly, but always with one of the following Perl scripts:

· imf.pl (VMAKE-Version fast)

· ims.pl (slow)

The selected script initializes a defined environment and then starts the VMAKE program and therefore the actual MAKE operation.

Procedure

<script_name> [<option_list>][<vmake_option_list>] <target1>[//<ext_option1>] <target2>[//<ext_option2>]

Parameters

Name | Description
<script_name> | Script name
<option_list> | The following options can be specified in the <option_list> option list: · --mail=<email_address> An e-mail is sent to the <email_address> address at the end of the MAKE operation. · --force_run Forces a MAKE operation also outside the MaxDB_DEV development area · --noquiet All compiler and linker calls are displayed during the MAKE operation. To activate this option by default, define the NOQUIET environment variable.
<vmake_option_list> | [-<vmake_opt1>] [-<vmake_opt2>] [+e] Options for Calling VMAKE
<target> | Target (of the software module to be created): <source_spec> | <desc_spec> You can specify all types of output files as the target that can be created during the whole software creation process. These can be individual object files, link descriptions, or output files of files that do not require translation.
<source_spec> | Module File
<desc_spec> | Description file (link description and processing lists) You can omit the file extension. VMAKE searches for files in the following sequence: .mac, .shm, .lnk, .dld, .shr, .rel, .lib, .jpr
<ext_option> | These options correspond to the options for description files. Use a slash / as the separator.

Example

Create the Database Manager CLI software component using the VMAKE version slow:

ims.pl dbmcli.lnk

Create all software components using the VMAKE version fast:

imf.pl all


Direct VMAKE Call (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Direct VMAKE Call

Use

VMAKE translates and links changed source texts.

Never call VMAKE directly. You should always use one of the three scripts to start the MAKE operation instead, see ims.pl, imf.pl: Starting the MAKE Operation.

Syntax

vmake [<vmake_opt_list>] <target1>[//<ext_option1>] <target2>[//<ext_option2>] ...

To find out about the meaning of the parameter, see ims.pl, imf.pl: Starting the MAKE Operation.

Example

vmake -D4 -i vzz34x//debug/profile

vmake -l -p demo.mac


Options for Calling VMAKE (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for Calling VMAKE

Use

Option | Description
-b | Parent process is ended once the child process was successfully created. The child process is generated once all of the descriptions have been collected. Normally, the first child process message is <date> start of <target>. VMAKE is executed interactively before this message, that is, the standard signal handlers are used.
-c | Once all of the description files have been collected, all of the description information is displayed, and VMAKE is ended. This can be used to check the description files (or the VMAKE tool).
-d | Only the targets listed on the command line are created (if they are not up to date). Dependent module files are assumed to be up to date. For test purposes, therefore, you can avoid having to update all of the dependent module files.
-D<digit> | Outputs information about internal data and program processes; the greater the <digit> number, the more information is output.
+e | If you have specified software creation in debug mode using the $VMAKE_OPTION environment variable, you can deactivate debug mode with the +e option.
-F | Creates a distribution list, where possible obsolete targets are not updated. All files from the called target that have been assigned the distrib or distribute option for description files are entered in a list. This list is saved in a file in the $INSTROOT/etc directory. The name of the file is the same as the name of the called target. The file is given the extension .lst. The all.lst file is created when you enter imf -F all .
-g | Use of the complete path hierarchy from $VMAKE_PATH to search for object files; overrides the I parameter for the environment variable $VMAKE_OPTION.
-i | Interactive mode; user does not have to confirm a termination of VMAKE.
-I | Together with option -U; include files are created.
-k | Temporary files are not deleted (such as unpacked module files, object files)
-K | Temporary files are not deleted; in addition, all scripts are assigned the –k option, with the result that they also do not delete their temporary files.
-L | C module files are analyzed using LINT. No further operations are executed.
-l | Prevents the use of object files from lower path hierarchies. VMAKE only translates module files that originate from the lowest path hierarchy. This option overrides the environment variable $VMAKE_OPTION parameter g.
-m | Once all of the description information has been collected, all of the required module files are output.
-n | Checking MAKE process. VMAKE functions as normal, but no file system or operating system commands are executed. VMAKE assumes that all of these operations have been successfully carried out.
-p | Profiling for all module files
-r | Module files are normally freed from their frame and are then translated. This option suppresses translation and linking. The unpacked module files remain in the working directory. No further operations are executed.
-R | To speed up the creation process, the ? require : <source> option in the description files is not evaluated (default setting in VMAKE). The R option, takes the ? require : <source> option into account.
-S | Size information for types and variables is extracted from PASCAL module files. No further operations are executed.
-u | All named module files are explicitly retranslated and linked. All dependent module files are translated and linked as standard, depending on whether they are up to date. All named description files are explicitly relinked. If you specify a processing list as a target, then all modules that are listed directly in this processing list are retranslated.
-U | All named module files, and files that are dependent on them, are translated and linked (exception: include files).
-x | All of the file system commands executed by VMAKE are first displayed.


Activating Debug Mode (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Activating Debug Mode

Use

You can activate debug mode for individual module files.

Procedure

You can use the following methods to activate debug mode for module files:

· -e Option for Calling VMAKE

· VMAKE_OPTION Parameter e

· debug|d option for description files

Result

· The object files that are created from these module files contain additional debug information.

· The module files are copied to the version-specific debug directory $WRK/<version>/debug, from where they can be used for subsequent troubleshooting.


VMAKE Versions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation VMAKE Versions

Use

VMAKE can be executed in different versions. The VMAKE versions differ from each other by the trace and check levels that are integrated in the software when they are created (see Kernel Variants).

Scripts for calling VMAKE

VMAKE Version | Description | Calling Script
fast | The software that is created does not make any additional error checks and does not log any information beyond the database’s normal trace output. | imf.pl
slow | The software that is created does not make any additional error checks and logs information beyond the database’s normal trace output. | ims.pl

See ims.pl, imf.pl: Starting the MAKE Operation

If the VMAKE version in the description files for the module groups is different to the one you specified when you called VMAKE, the call version is overridden by the version specified in the validity range of the description file.


Determining the Files to be Translated (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Determining the Files to be Translated

Use

VMAKE uses the date files to determine which targets have to be recreated.

VMAKE collects the description files of a target and examines the mutual file dependencies. The system does not yet search for the module files in the hierarchy.

VMAKE terminates if errors occur in this phase.


Translation Process (SAP Library - MaxDB Library)

 Entering content frame

Process documentation Translation Process

Purpose

VMAKE and its tools translate module files using description files. The resulting files are called object files.

Process Flow

...

1. VMAKE copies the module files into the tmp temporary run directory.

2. Selecting the translation tools

3. Unpacking the Module Files

4. Translating the Module Files

5. VMAKE temporarily stores the output files (object files and include files) in the temporary run directory.

6. VMAKE copies the object files to the respective obj directory and the include files to the incl directory for the relevant layer. If VMAKE is operating in debug mode (see Activating the Debug Mode), the module files are also copied to the corresponding debug directory. VMAKE creates a date file for each module file that is used to create a target.

In the different phases of the MAKE process of a <file_name>.<ext>, the <file_name> is preserved but the <ext> file extension changes.


Selecting the Translation Tools (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Selecting the Translation Tools

Use

Module files can be written in different programming languages. There are special VMAKE tools for translating the PASCAL, C/C++ and Assembler languages; there is also a tool for translating a group of description languages (IDL, Resource, Yak, Lex and so on).

Available tools

 |  | Assembler | PASCAL | C / C++ | Description Language Group
1. Phase 2 | Unpack imported interface | mfainc | mfpinc | mfcinc | mfcinc
 | Unpack exported interface | mfaexp | mfpexp | mfcexp | mfcexp
 | Unpack module | mfa | mfp | mfc | mfrc
2. Phase 2 | Translate | compa | comppc | compc | comprc

VMAKE assigns module files to a specific tool on the basis of the file extension. If the file does not have an extension, it is assigned on the basis of the last character in the file name.

 | Assembler | PASCAL | C / C++ | Description Language Class
File extension | s | p, t | c, h / cpp, hpp | rc, ico, def, mc, dlg, idl, ycc, lex, rgs
Last character | a | p, t or a number | c / x | r

You can change the assignment of the translation tools on the basis of the file extension or the last character of the file name in the Langextinfo initialization file.


Unpacking the Module Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Unpacking the Module Files

Use

VMAKE uses the options in the compilation descriptions to determine where to unpack the module files.

The following additional steps can be carried out:

· Remove parts of the frame that are not relevant for translation: Module files that have to be unpacked have a text frame that contains the following information:

¡ Name of the module

¡ Module specification

¡ Author, version, release

¡ Exported interface

¡ Imported interface

¡ Source code

¡ Control characters

Since some of the text frame does not have to be translated, those parts of the frame that are not relevant for translation are removed when the file is unpacked.

· Conditional compilation: VMAKE hides those parts of the source code that are not required under the current conditions, such as unnecessary network connections. The system copies the include files that are to be used to the start of the module file that is awaiting translation.


Translating the Module Files (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Translating the Module Files

Use

VMAKE translates the module files in the tmp temporary directory. The system stores the resulting object files in an object directory and deletes the files from the temporary directory.

See also:

Directory Structure of the Development Environment


Object Files (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Object Files

The files that are created when module files are unpacked and translated are called object files. Object files have the file extension .o

Object files are stored by default in the directories that correspond to the VMAKE version (VMAKE Call Versions), that is, in fast or slow (see Directory Structure of the Development Environment). If the noversion option is specified in the compiler description for a module file, the object file is stored directly in the wrk/obj directory.


Date Files (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Date Files

Definition

VMAKE creates a date file for every target that is to be generated. The name of the date file comprises the name of the processed file and the file extension .dat: <file_name>.dat. Its timestamp corresponds to that of the respective module file or link description.

Use

VMAKE uses the date file during the MAKE process to determine whether the local targets correspond to the module files/link descriptions that are currently being used. If both files have a different time stamp, VMAKE detects that the target is not current and recreates it.

VMAKE stores date files are follows:

· Date files for include files are stored in the $WRK/dates directory within their layer irrespective of the VMAKE version used in the MAKE process, since include files are not version specific.

· Date files for all other module files are stored in the version-specific $WRK/<version>/dates directory, under the relevant subdirectories for the layer in question.

· Date files for link descriptions are stored directly in the version-specific $WRK/<version>/dates directory.


Link Operation (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Link Operation

Use

Object files are linked to form a software component in the tmp  directory.

VMAKE uses different tools for linking the different object files that can occur during the translation operation. VMAKE uses the file extension of the description file to decide which tool to use to link the respective object file. The tool takes the object files and the relevant options to be used from the link description.

VMAKE stores the software components created during linking in a predefined or in a target directory specified by the link description and deletes them afterwards in the tmp directory.

Software Component to be Created | Tool Used | Target Directory
Program | linklnk | $DBROOT/pgm
Program that facilitates shared memory access | linkshm | $DBROOT/pgm
Static library | archive | $WRK/fast/obj or $WRK/slow/obj
Dynamic library | linkdll | $DBROOT/lib (32 bit) $DBROOT/lib/lib64 (64 bit)
Program that can be linked to other programs | linkrel | $WRK/fast/obj or $WRK/slow/obj
Program that can be linked to other programs and facilitates shared memory access | linkshr | $WRK/fast/obj or $WRK/slow/obj


VMAKE Tools (SAP Library - MaxDB Library)

 Entering content frame

Function documentation VMAKE Tools

Use

The VMAKE program uses several tools (scripts). These tools can be written in any script or prototyping language. Use the $TOOLSHELL environment variables to configure which shell is used by the scripts.

VMAKE completes the names of the scripts using the $TOOLEXT variable (if available), which defines the file extension of the scripts. If additional parameters are to be sent to $TOOLSHELL, they must be defined in the environment variable $TOOLOPT.

The tools accept both absolute and relative path specifications for module files and description files. The targets are created in the current run directory specified by VMAKE and are then stored in the specified target directory.

VMAKE initially assumes that the VMAKE tools are stored in the $TOOL/bin directory. If this is not the case, VMAKE searches every local <path> along the <path>/sys/tool/bin path.

Features

VMAKE Tools

Call

Description

archive [<ar-flags>] <library> <objects>

Writes object files to the <library>.

compa [<as-flags>] <source>

Translates an Assembler module file and creates the <file_name>.o

compc [<cc-flags>] <source>

Translates a C/C++ module file and creates the <file_name>.o

complint [<cc-flags>] <source>

Checks a C module file with LINT

compp [<pc-flags>] <source>

Translates a PASCAL module file and creates the <file_name>.o

comppc [<pc-flags>] <source>

Translates a PASCAL module file into a C module file.

linkdll [<ld-flags>] <dll> <archive> <objects>

Links <objects> object files to a dynamic library <dll> and creates the static library <archive>.

linklnk [<ld-flags>] [-o program] <objects>

Links a program with the name program.

linkrel [<ld-flags>] relocatable <objects>

Writes the object files <objects> in a relocatable object with the name relocatable

linkshm [<ld-flags>] [-o program] <objects>

Links a program with the name program, the global variables of which must be stored in the shared memory.

linkshr [<ld-flags>] relocatable <objects>

Writes object files <objects> to a relocatable object with the name relocatable, whose global variable must be stored in the shared memory.

mfa [-trace=<procedure>] [-check=no] [-<token>=<value>] <source> [<includes>]

Extracts the code section of an Assembler module file and writes it to the file <file_name>.s

If include files are required, they must be specified in the correct order. The -trace and -check options are inserted to ensure compatibility with mfp scripts, and are ignored by the mfa script.

mfainc [-<token>=<value>] <source>

Extracts the include code from an Assembler include file and writes it to the file <file_name>.h.

mfc [-trace=<procedure>] [-check=no] [-<token>=<value>] <source> [includes]

Extracts the code section of a C/C++ module file and writes it to <file_name>(.c |.cpp).

If include files are required, they must be specified in the correct order. If $VMAKE_VERSION is defined with slow, #define DEBUG is used as a prefix for the file name. The -trace and -check options are inserted to ensure compatibility with mfp scripts, and are ignored by the mfc script.

mfcexp [-<token>=<value>] <source>

Writes the exported interface (define section of the text frame) to the file <file_name>.h.

mfcinc [-<token>=<value>] <source>

Extracts the include code from a C/C++ include file and writes it to the file <file_name>.h.

mfextra [-<token>=<value>] <source> <destination> [<includes>]

Creates files that do not require translation

mfp [-trace=<procedure>] [-check=no] [-<token>=<value>] <source> [>includes>]

Extracts the define section, use section and code section of a PASCAL module file and writes it to the file <file_name>.p

If include files are required, they must be specified in the correct order. The -trace=<procedure> option specifies the name of the trace procedure, whose call is inserted at the start of every function and procedure. The -check=no option defines whether the name prefixes of exported procedures are to be checked.

mfpinc [-<token>=<value>] <source>

Extracts the include file from a C/C++ include file.

Extracted CONST definitions are written to the file <file_name>.con;
extracted TYPE definitions are written to the file <file_name>.typ.

mfsize [<include-list>] <module>

Creates a file <file_name>.siz that contains size information on the types of module file used.

If include files are required, they must be specified in the correct order.

You can specify additional options for some tools.


Options for VMAKE Tools (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Options for VMAKE Tools

Use

The following options can be passed by VMAKE to the VMAKE tools. Some tools ignore these options.

Options

-g | Debug mode is activated (for at least one module file)
-k | Temporary files are not deleted
-language=<lang id> | Used by all tools; abbreviation for the programming language on which the source text is based
-p | Profiling is activated (for at least one module file)
-unpack=no | The source code does not contain a frame (mf* scripts only)
-Y | Shared global data, PTOC pointer conversion

The specified options for calling VMAKE and options for description files also apply here.


VMAKE Logs (SAP Library - MaxDB Library)

 Entering content frame

Object documentation VMAKE Logs

Definition

MAKE operation is logged by VMAKE. For each module file that is translated, it creates logs in the prot directory (see General Directory Structure ).

Use

The names of the logs are the same as the files names that were specified when the VMAKE version was called. The files have the extension .e0, .p0 or .x0.

Contents of the logs

File extension | Log
.e0 | Contains error messages only and lists the targets that could be successfully created.
.p0 | Normal log; corresponds to the screen outputs during the creation process
.x0 | Contains detailed information on the individual files as well as the options used to call the VMAKE tools.

When the logs are created, older logs with the same name are renamed (the last digit is incremented by 1). As a result, a log history comprising up to 10 logs (.p0 to.p9) is possible.

You can display the current logs using the ips.pl, ipf.pl scripts: Displaying Logs.


ips.pl, ipf.pl: Displaying Logs (SAP Library - MaxDB Library)

 Entering content frame

Function documentation ips.pl, ipf.pl: Displaying Logs

Use

ips.pl and ipf.pl are Perl scripts that you can use to display the VMAKE logs of a translation process.

<script_name> <file>

<script_name> | Script name · ips.pl: VMAKE version slow · ipf.pl: VMAKE version fast
<file> | File whose translation process should be displayed in the log.

Example

Call the VMAKE version fast and translate the dmbcli file:

imf dbmcli

Display the logs for the translation process:

ipf dbmcli


Comparison Between MaxDB VMAKE and a Conventional Make Program (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Comparison Between MaxDB VMAKE and a Conventional Make Program

Use

VMAKE behaves to a certain extent differently to make on UNIX or nmake from Microsoft:

· Since VMAKE copies all of the include files to sys/wrk/incl and copies all of the source files to a temporary directory before translation, file names in the error messages output by the compiler never point to the actual source files.

· VMAKE always attempts to generate as much as possible, and does not stop after the first error. This is equivalent to the -k option in make.

· There is a date file for each object file. An object file is created in the following cases:

¡ If the existing object file is older than the source file (as in make)

¡ The timestamp of the date file differs from that of the source file.


Example: Translating the File HelloWorld.c (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Translating the File HelloWorld.c

Purpose

You translate and link the sys/src/SAPDB/HelloWorld.c file to an executable program usr/pgm/hello (or usr\pgm\hello.exe on Microsoft Windows).

Prerequisites

· You have created the sys/src/SAPDB/HelloWorld.c file.

· You have created the sys/src/SAPDB/HelloWorld.h include file.

Process Flow

...

1. Start the MAKE operation (VMAKE version fast):

imf.pl hello.lnk

2. VMAKE determines the files that are required:

¡ VMAKE recognizes the sys/desc/hello.lnkdescription file as the description of an executable program from its file extension .lnk. The description only contains the :SAPDB/HelloWorld.c file; the colon stands for the directory with the module files sys/src.

¡ VMAKE recognizes the sys/src/SAPDB/HelloWorld.c module file as a module files that has to be translated with the C compiler from its file extension .c. The include files that are required by this module file are listed in the sys/desc/SAPDB.com description file:
HelloWorld.c inc=:SAPDB/HelloWorld.h
This row can contain additional options for the compiler.

¡ The include file sys/src/SAPDB/HelloWorld.h does not require any further files. Otherwise, these dependencies would also have to be entered in SAPDB.com.

3. VMAKE updates the files that are required:

¡ Include files:
HelloWorld.h, HelloWorld.c fast, hello.lnk fast
VMAKE copies these from the development area to a corresponding subdirectory sys/wrk/incl, in this case sys/wrk/inl/SAPDB/HelloWorld.h. File names should therefore be specified in #include statements relative to sys/wrk/incl.

¡ C sources:
HelloWorld.h, HelloWorld.c fast, hello.lnk fast
These are translated into object files using the C compiler. Object files can be created in two versions (VMAKE versions): fast (with optimization) or slow (with assertions and trace output). In this case, the file created is written to sys/wrk/fast/obj/SAPDB/HelloWorld.o. On Microsoft Windows, object files receive the file extension .o. The source file in the sys/wrk/fast/tmp directory is coped for translation. All of the intermediate results (this is particularly relevant for PASCAL sources) are created in this directory, and can be checked there in the event of an error.

¡ Executable programs:
HelloWorld.h, HelloWorld.c fast, hello.lnk fast
These are linked and copied to usr/pgm. On UNIX, usr/pgm/hello.f is created and a link to it is entered in the file system, under usr/pgm/hello. On Microsoft Windows, the usr\pgm\hello.exe.f is created and copied to usr\pgm\hello.exe.

4. Display the VMAKE logs hello.lnk.p0 (copy of the screen output) and hello.lnk.x0 (list of all relevant time stamps as well as the executed actions):

imf.pl hello.lnk

Variants

· Forced translation: Creates the specified target as a new target. A new link is created to an executable program.

imf.pl -u hello.lnk

hello.lnk fast

· Option –U: Recreates the specified target and all of the necessary module files.

imf.pl -U hello.lnk

HelloWorld.c fast
hello.lnk fast

· Option -U-I: Recreates the specified target, all of the necessary modules, and all of the required include files.

imf.pl -U -I hello.lnk

HelloWorld.h
HelloWorld.c fast
hello.lnk fast

· Option -e: You instruct VMAKE to create targets with debug information (see Activating the Debug Mode).

imf.pl -U -e hello.lnk

HelloWorld.c fast debug
hello.lnk fast debug

usr/pgm/hello can then be started in the debugger. The source files are copied to sys/wrk/fast/debug after the translation process. This is particularly important for PASCAL module files, since these can only be debugged using the generated C file, and not in the source code itself.

5. Display the new targets to be generated:

imf.pl -u -n hello.lnk

6. Display the module and description files that are used:

imf.pl -m hello.lnk

7. Display the module and description files that are used and their dependencies:

imf.pl -C hello.lnk


Example: Creating the Database Manager CLI 7.4.03 Program (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example: Creating the Database Manager CLI 7.4.03 Program

Purpose

You create the MaxDB program Database Manager CLI 7.4.03.

The Database Manager CLI (DBMCLI) program consists of the following components:

· Main components:

¡ Accept and evaluate the call parameters and user entries.

¡ Transfer the DBM commands to the communication components.

¡ Receive the DBM server responses from the communication components.

¡ Evaluate and output the DBM server responses.

· Communication components:

¡ Communication with the local DBM server.

¡ Communication with a DBM server on a remote computer.

¡ The communication components are components of the database system runtime environment.

· DBM server: This integrated DBM server can be used on user request. In this case, the components required to connect to a separate DBM server are not used.

Process Flow

...

1. Follow the instructions as described in Creating the DBMCLI.

2. Perform a function check.

See also:

Components of DBMCLI

Documentation for the Database Manager CLI


Components of DBMCLI (SAP Library - MaxDB Library)

 Entering content frame

Object documentation Components of DBMCLI

Definition

The source code of the DBMCLI program consists of the following files:

· Module file dbmcli.rc

· Module file vcn12.cpp

· Module file vcn13.cpp

· Module file vcn14.c

· Link description cservlib

· Link description splib

· Link description eoxlib

· Link description sqlusr

· Link description enalib

· Link description enblib

· Other Dependencies

See also:

Link Description dbmcli.lnk


dbmcli.rc (SAP Library - MaxDB Library)

 Entering content frame

Function documentation dbmcli.rc

Use

The module file dbmcli.rc is a resource file and is stored in the $OWN\sys\src\Resource subdirectory. When you specify the module file in the link description, you have to list the Resource directory explicitly:

:Resource/dbmcli.rc

If you specify this module file in the link description, the corresponding resources are integrated in the DBMCLI program.

The module file contains source code that is specific to Microsoft Windows. The module file dbmcli.rc is only relevant in Microsoft Windows in the link description dbmcli.lnk and for this reason it is assigned a condition in the link description.

See also:

Components of DBMCLI


vcn12.cpp, vcn13.cpp, vcn14.c (SAP Library - MaxDB Library)

 Entering content frame

Function documentation vcn12.cpp, vcn13.cpp, vcn14.c

Use

The module files vcn12.cpp, vcn13.cpp, and vcn14.c from the link description dbmcli.lnk are stored in the directory $OWN/sys/src/cn. This directory name cn is determined implicitly from the module file name.

These module files are the main components of the DBMCLI program, and contain C or C++ source codes:

· The main function is stored in module file vcn12.cpp.

· The module file vcn13.cpp contains certain functions required for file access and character set conversion.

· The module file vcn14.c is used to connect main components with communication components.

The module files vcn12.cpp, vcn13.cpp and vcn14.c use #include statements to integrate include files.

The compilation description describes how the module files depend on the include files.

See also:

Components of DBMCLI


Compilation Descriptions (SAP Library - MaxDB Library)

 Entering content frame

Function documentation Compilation Descriptions

Use

A compilation description specifies how the module files vcn12.cpp, vcn13.cpp and vcn14.c depend on the include files.

In addition to the dependency of a module file on an include file, a compilation description specifies further properties of the module files that control how they are translated by the development environment.

The compilation description appropriate to a module file is determined and evaluated implicitly using the directory in which the module file to be translated is stored.


Example of an Include File (SAP Library - MaxDB Library)

 Entering content frame

This graphic is explained in the accompanying text Example of an Include File

Use

The following example shows how a module file vcn12.cpp from the $OWN/sys/src/cn directory depends on include files.

The dependencies for the module file are included in the compilation description $OWN/sys/desc/cn.com:

vcn12.cpp inc=gsp09.h,heo02.h,hcn13.h,hcn14.h,hcn90.h,...

This example only contains the keyword inc. The keyword inc refers to the required include files. The include files listed after the keyword inc are created by the development environment in include directory $OWN/wrk/incl before the module file is translated. In doing so, the development environment handles the include files according to their file type.

Only type h include files are shown in the example. Type h include files are copied from the relevant subdirectory under $OWN/sys/src to a subdirectory of the include directory. The name of this subdirectory is determined implicitly by the development environment from the name of the include file.


cservlib (SAP Library - MaxDB Library)

 Entering content frame

Function documentation cservlib

Use

cservlib ($OWN/sys/desc/cservlib.lib) is a link description of type lib. The link description type lib describes the creation of a static library.

A lib type link description consists of several module files that are grouped after translation to form the appropriate library. The dependencies and properties of the individual module files are stored in the directory-specific compilation descriptions.

To integrate the cservlib library in the Database Manager CLI program, enter it in the link description dbmcli.lnk.

The cservlib library contains the functionality of the DBM server integrated in the DBMCLI program.

See also:

Components of DBMCLI


splib (SAP Library - MaxDB Library)

 Entering content frame

Function documentation splib

Use

The link description splib ($OWN/sys/desc/splib.lib) in the link description dbmcli.lnk is of the type lib and specifies the creation of a static library.

The splib library contains modules with functions that can be used generally.

See also:

Components of DBMCLI


eoxlib (SAP Library - MaxDB Library)

 Entering content frame

Function documentation eoxlib

Use

The link description eoxlib ($OWN/sys/desc/eoxlib.lib) in the link description dbmcli.lnk is of the type lib and specifies the creation of a static library.

The eoxlib library contains communication components of the database system’s runtime environment.

See also:

Components of DBMCLI


sqlusr, enalib, enblib (SAP Library - MaxDB Library)

 Entering content frame

Function documentation sqlusr, enalib, enblib

Use

The link descriptions sqlusr, enalib, enblib ($OWN/sys/desc/sqlusr.lib, $OWN/sys/desc/enalib.lib, $OWN/sys/desc/enblib.lib) are of the type lib and specify the creation of static libraries.

The sqlusr, enalib, enblib libraries contain communication components of the MaxDB runtime environment. As the MaxDB runtime environment is platform-specific, different libraries are used for UNIX than those used for Microsoft Windows. For this reason, the link descriptions are encapsulated in a condition in the link description dbmcli.lnk.

See also:

Components of DBMCLI


Further Dependencies (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Further Dependencies

If you are using the Microsoft Windows operating system, the DBMCLI program requires the sqltcp.dll dynamic library. You have to create this library explicitly.

To do so, enter the following command:

imf sqltcp

For more information about the imf script, see ims.pl, imf.pl: Starting the MAKE Operation.


Creating the DBMCLI (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Creating the DBMCLI

Use

To create the executable program DBMCLI, use the link description dbmcli.lnk . It is located in the $OWN /sys/desc/dbmcli.lnk directory (see Directory Structure of the Development Environment ).

Procedure

To process the dbmcli.lnk link description using VMAKE and therefore to create the DBMCLI program, enter the following command:

imf dbmcli

You can leave out the type (lnk) of link description as the name of the file (dbmcli) is unique.

For more information about the imf script, see ims.pl, imf.pl: Starting the MAKE Operation.

Result

The DBMCLI program is created. The link description defines where the DBMCLI program is stored:

· Microsoft Windows: $OWN\usr\pgm

· UNIX: The row ->$INSTROOT/bin/dbmcli causes the program to be stored in the directory $OWN/usr/bin.

We recommend that you perform a function check after creating the DBMCLI program.


Link Description dbmcli.lnk (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Link Description dbmcli.lnk

The following extract from the link description dbmcli.lnk contains the main commands required for creating the DBMCLI program. Special commands and switches, which may be needed for the link operation on the individual platforms, are not listed here.

To create the Database Manager CLI program, use the complete link description dbmcli.lnk (see Directory Structure of the Development Environment).

Extract from the Link Description dbmcli.lnk

&if $OS in [ WIN32 ]
:Resource/dbmcli.rc remake
&endif

vcn12.cpp
vcn13.cpp
vcn14.c

cservlib

splib

eoxlib

&if $OS in [ WIN32 ]
sqlusr
&else

enalib
enblib

&endif

Comments

The link description refers to module files and additional link descriptions:

· References to module files cause these module files to be translated also. The translation tools are assigned on the basis of the file extension of the module files.

Module files in this example link description: dbmcli.rc, vcn12.cpp, vcn13.cpp, vcn14.c

· References to link descriptions cause these link descriptions to be processed.

Link descriptions in this example: cservlib, splib, eoxlib, sqlusr, enalib, enblib

See also:

Components of DBMCLI


Function Check (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Function Check

Use

You can check the function of the DBMCLI program by executing a DBM command (see Database Manager CLI, Overview of all DBM Commands).

Prerequisite

· Creating DBMCLI

· You have, for example, already created a database instance using the unchanged version of the MaxDB software.

Procedure

...

1. Check whether you are actually accessing the software component you have just created, the DBMCLI program ($OWN/usr/bin/dbmcli, Microsoft Windows: $OWN\usr\pgm\dbmcli.exe).

2. Enter the dbm command for displaying the Database Manager version:

dbmcli [-n <server_node>] -d <database_name> -u <dbm_userid>,<dbm_password> dbm_version

dbmcli -d DEMODB -u dbm,dbm dbm_version

OK

VERSION = 7.3.4

BUILD = DBMServer 7.3.4 Build 009-000-220-192

OS = UNIX

INSTROOT = /usr/sapdb-srv

LOGON = False

CODE = ASCII

SWAP = full


Web Based Problem Tracking System (SAP Library - MaxDB Library)

 Entering content frame

Component documentation Web Based Problem Tracking System

Purpose

The Web-Based Problem Tracking System (Web PTS) is a Web interface for the internal MaxDB program PTS, which is used for documenting problem messages for the MaxDB database software. You access Web PTS using a web browser (see System Requirements).

Implementation Notes

You can access Web PTS at www.sapdb.org/webpts

Features

How Web PTS Works

Terms

Restrictions

You can use Web PTS to obtain read-only access to the problem messages recorded in the MaxDB-internal PTS program.

Example

An external developer, such as a member of the Open Source Community, sends a problem message to the MaxDB development team. This is recorded in the internal PTS program. The URL of this problem message is then sent to the external developer. This allows the external developer to trace the processing status at any time and find out which change is to be included in which database version.


System Requirements (SAP Library - MaxDB Library)

 Entering content frame

Background documentation System Requirements

The minimum prerequisite for the use of the Web Based Problem Tracking System program is a browser that supports frames, JavaScript, and Cascading Style Sheets (CSS).

If your browser does not support CSS, the display of the program will be impaired. With some browsers (such as Konqueror 2.9.2 with activated Accessibility Stylesheets), it can also mean that the program becomes unusable.

Tests with Microsoft Internet Explorer 6, Netscape 4.74, Mozilla 1.1, Netscape 6.1, Netscape 7 (all on Microsoft Windows 2000), and Konqueror 3.0.3 (on Linux SuSE 8.0) produced good results.


How the Web PTS Works (SAP Library - MaxDB Library)

 Entering content frame

Background documentation How the Web PTS Works

Use

The Web-Based Problem Tracking System (Web PTS) program allows you to search for problem messages created in this program. There are various search templates for doing this, with selection lists and search functions for the message data and message texts.

Available Search Templates

Simple Search | Restrict the search result using free entries
Advanced Search | Restrict the search result using entries that you select from the system proposals
My Release Notes | Restrict the search result to only those messages that contain relevant information for the end customer If you specify the version of your installed software and of a newer version, you restrict the result list to the information relevant to your software installation that was issued up to the specified newer version.


Simple Search (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Simple Search

Use

You can use the Simple Search to display the problem messages recorded in the internal MaxDB program PTS, together with the available information for them. You can restrict the search result by entering suitable freely definable search terms.

The search is performed for the message texts and keywords but not for the message data.

The system displays a maximum of 25 results.

Input Rules

You can enter any combination of letters and numbers. However, you must adhere to the following input rules when doing so:

· Place search strings that consist of several words in quotation marks (such as: “backup history”)

· Place search strings that begin with a minus sign in quotation marks (such as: “-8000”).

· To exclude problem messages from the result list, start the search string with a minus sign as a negation operator (such as: -logging, -"-8000", -"backup history").

Procedure

Choose Simple Search.

...

1. Enter search strings in accordance with the above input rules.

2. Choose the rule that is to be used for the search:

All Words | Every message in the result list is to contain all of the entered search strings.
Any Word | Every message in the result list is to contain at least one of the entered search strings.
Exact Phrase | Every message in the result list is to contain exactly the entered search string.

3. If you want to reset your entries, choose Clear.

When you want to start the search, choose Search.

A negation operator before a search string is most useful in combination with the All Words search rule, as you restrict the result table in this way.

On the other hand, a negation operator before a search string in combination with the search rule Any Words significantly increases the size of the result list.

Result List of the Simple Search


Result List of the Simple Search (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Result List of the Simple Search

Use

You can display the search criteria used for the search; underneath this you can display the total number of hits for the search, and the result list. A maximum of 25 hits are displayed in the list. If the number of hits exceeds 25, we recommend that you restrict the search further.

The system displays the most important message data for every result, as well as the first 160 characters of the description created for the problem message.

Procedure

If you want to display a detailed view for an entry in the result list, click the current number (Number) of the relevant message. By doing this, you display all of the information available for a selected message; that is, all available message data and message texts.
You can save the detailed view as a URL. To do this, click the displayed link with the right mouse button.

If you want to change the search, change the displayed search criteria. Then choose Search.

If you want to start a new search, choose Clear and follow the procedure described under Simple Search.


Advanced Search (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Advanced Search

Use

You can use the Advanced Search to display the problem messages recorded in the internal MaxDB program PTS, together with the available information for them. You can restrict the search result by selecting values for the input fields.

The system informs you how many problem messages were found.

You can define the number of problem messages that are displayed in the result list.

You can save the result table as a URL.

Procedure

...

Choose Advanced Search.

Restrict the search result by selecting values from the displayed lists and options or by free input for searching in the message texts:
Header Data

¡ To see a list of all the available keywords, click Keywords. To add a keyword to the list of keywords, click the keyword once. You can specify up to 25 keywords. To copy the selected keywords into the search template, choose Apply.

Settlement
Message Texts

Define the display of the result list. You can choose between various combinations of columns and specify the number of problem messages that are to be displayed.

¡ Choose whether the system should display a maximum number of rows (Max Rows) or all rows of the result list (All Rows). If you want to restrict the number of rows, specify the desired number. The number of rows corresponds to the number of problem messages displayed.

¡ Choose which columns are displayed in the result list under Result Column Set. You can choose between three predefined combinations of columns:

Minimum | Number, Message Type, Component, Reported, Created
Standard | as Minimum plus the columns Settlement and Planned/Delivered
Maximum | as Standard plus the columns Processed, Completed, and Affected OS

If you want to reset your entries, choose Clear.

When you want to start the search, choose Search.

Result List of the Advanced Search


Result List of the Advanced Search (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Result List of the Advanced Search

Use

The system displays all problem messages that match the defined search criteria. You can call a detailed view for every problem message.

You can save both the result list and the detailed view for a problem message as a URL.

Procedure

If you want to save the displayed result list as a URL, choose the link displayed at the top of the page with the right mouse button.
If you call up this URL later, the system displays exactly this result list. Choose Refresh to update the output.

If you want to display a detailed view for an entry in the result list, click the current number (Number) of the relevant message. By doing this, you display all of the information available for a selected message; that is, all available message data and message texts.
You can also save the detailed view as a URL. To do this, click the link displayed at the top of the page with the right mouse button.

If you want to modify the search for the displayed result list, choose Modify Search.

If you want to define a new search, choose New Search and follow the procedure described under Advanced Search.


My Release Notes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation My Release Notes

Use

With this function, you can determine which errors/change requests reported for a version are corrected/implemented in a particular succeeding version.

In the result list, the system displays the Release Notes prepared for the processed problem messages. Release Notes for corrected errors are called Patch Information. Release Notes for implemented change requests are called Feature.

The system informs you how many Release Notes were found. The display is sorted.

Procedure

...

1. Choose My Release Notes.

2. Restrict the search by selecting values from the displayed lists:

My Version | Version from which the search should be performed
Newer Version | Version to which the search should be performed
Component | MaxDB component

3. If you want to reset your entries, choose Clear.

When you want to start the search, choose Search.

Result List of My Release Notes


Result List of My Release Notes (SAP Library - MaxDB Library)

 Entering content frame

Procedure documentation Result List of My Release Notes

Use

This list displays all of the Release Notes that match the defined search criteria.

The system displays the most important message data for each Release Note. Among other things, you can find out from this information whether the version in which the problem is solved is still being planned (Planned) or has already been delivered (Delivered), from the point of view of the specified Newer Version.

All Release Notes that the system finds are displayed in the result list, sorted by component. The system differentiates between Patch Information and Feature for each component.

For a particular component, the Release Notes for delivered versions are displayed first (first Features and then Patch Information), and then the Release Notes for planned versions (first Features and then Patch Information).

Procedure

If you want to modify the search for the displayed result list, choose Modify Search.

If you want to define a new search, choose New Search and follow the procedure described under Comparing Versions.


Terms (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Terms

Affected OS

Change Request

Completed

Component

Created

Delivered

Description

Error

Evaluate

Feature

Header Data

Keywords

Message Data

Message Texts

Message Type

Modules

Number

Patch Information

Planned/Delivered

Processed

Rejected

Release Note

Reported

Settlement

Solution

To be done

Waiting


Message Data (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Message Data

The following message data is recorded for every problem message:

Header Data

Settlement

The content of the problem message is in the message text.


Header Data (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Header Data

Header data is part of the message data.

The following header data is recorded for every problem message:

Number | Current number of the problem message
Message Type | Type of the problem message Error: The software does not function as intended Change Request: The reported deficiency makes the intended use of the software difficult
Component | MaxDB component
Reported | Database version to which the problem message refers
Settlement | Settlement
Planned/Delivered | Database version in which the problem is/is to be solved
Created | Date on which the message was created
Processed | Date on which the message was processed
Completed | Date on which the processing was completed
Affected OS | Affected operating systems
Keywords | Keywords They correspond to indexes that can be assigned to a problem message when it is created.


Settlement (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Settlement

Specifications about the settlement of a problem message are part of the message data.

The following settlements are possible:

Waiting | The problem message has been created, but not yet processed.
Evaluate | A developer is evaluating the problem message with respect to relevance, work required, and time required.
To be done | The problem message is being processed
Delivered | The result of the work is included in a database version that has been delivered
Rejected | The problem message is not processed


Message Texts (SAP Library - MaxDB Library)

 Entering content frame

Background documentation Message Texts

Message texts are texts created in the individual phases of the processing of a problem message.
The following types of text can be created:

Description | Description of the problem
Solution | Description of the solution for the problem
Patch Information | Description of the new status after an error has been corrected (Release Note for message type error)
Modules | Software modules affected by the solution to the problem
Feature | Description of the new feature (Release Note for message type change request)


Icons and Typographic Conventions (SAP Library - MaxDB Library)

 Entering content frame

Icons and Typographic Conventions

Icons in Body Text

Icon | Meaning
This graphic is explained in the accompanying text | Caution
This graphic is explained in the accompanying text | Example
This graphic is explained in the accompanying text | Note
This graphic is explained in the accompanying text | Recommendation
This graphic is explained in the accompanying text | Syntax

Typographic Conventions

Format | Description
Example text | Words or characters quoted from the screen. These include field names, screen titles, pushbutton labels, menu names, menu paths, and menu options. Cross-references to other documentation.
Example text | Emphasized words or phrases in body text, graphic titles, and table titles.
EXAMPLE TEXT | Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE.
Example text | Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools.
Example text | Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation.
<Example text> | Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system.
Example text | Keys on the keyboard, for example, F2 or ENTER.


SAP Library - MaxDB Library

 Entering navigation tree
Entering Level 1 Node MaxDB Library MaxDB Library Leaving Level 1 Node MaxDB Library
Entering Level 2 Node Installation Installation Leaving Level 2 Node Installation
Entering Level 3 Node Installation Manual Installation Manual Leaving Level 3 Node Installation Manual
Entering Level 4 Node Using the Installation Manager Using the Installation Manager Leaving Level 4 Node Using the Installation Manager
Entering Level 5 Node Calling the Installation Manager Calling the Installation Manager Leaving Level 5 Node Calling the Installation Manager
Entering Level 5 Node Installing the Synchronization Manager Installing the Synchronization Manager Leaving Level 5 Node Installing the Synchronization Manager
Entering Level 4 Node Installation, Upgrade and Uninstallation on the Command Line Installation, Upgrade and Uninstallation on the Command Line Leaving Level 4 Node Installation, Upgrade and Uninstallation on the Command Line
Entering Level 5 Node Installing and Updating the Database Software Installing and Updating the Database Software Leaving Level 5 Node Installing and Updating the Database Software
Entering Level 6 Node Installing/Updating Software on UNIX Installing/Updating Software on UNIX Leaving Level 6 Node Installing/Updating Software on UNIX
Entering Level 7 Node Unpacking the Software on UNIX Unpacking the Software on UNIX Leaving Level 7 Node Unpacking the Software on UNIX
Entering Level 7 Node Interactive Installations/Updates on UNIX Interactive Installations/Updates on UNIX Leaving Level 7 Node Interactive Installations/Updates on UNIX
Entering Level 7 Node Background Installations/Updates on UNIX Background Installations/Updates on UNIX Leaving Level 7 Node Background Installations/Updates on UNIX
Entering Level 6 Node Installing/Updating Software on Linux Installing/Updating Software on Linux Leaving Level 6 Node Installing/Updating Software on Linux
Entering Level 7 Node Installations/Updates with SDBINST Installations/Updates with SDBINST Leaving Level 7 Node Installations/Updates with SDBINST
Entering Level 7 Node Installations/Updates with the Red Hat Package Manager Installations/Updates with the Red Hat Package Manager Leaving Level 7 Node Installations/Updates with the Red Hat Package Manager
Entering Level 6 Node Installing/Updating Software on Microsoft Windows Installing/Updating Software on Microsoft Windows Leaving Level 6 Node Installing/Updating Software on Microsoft Windows
Entering Level 7 Node Unpacking the Software on Microsoft Windows Unpacking the Software on Microsoft Windows Leaving Level 7 Node Unpacking the Software on Microsoft Windows
Entering Level 7 Node Interactive Installations/Updates on Microsoft Windows Interactive Installations/Updates on Microsoft Windows Leaving Level 7 Node Interactive Installations/Updates on Microsoft Windows
Entering Level 7 Node Background Installations/Updates on Microsoft Windows Background Installations/Updates on Microsoft Windows Leaving Level 7 Node Background Installations/Updates on Microsoft Windows
Entering Level 5 Node Uninstalling the Database Software Uninstalling the Database Software Leaving Level 5 Node Uninstalling the Database Software
Entering Level 6 Node Uninstalling with SDBUNINST on UNIX, Linux and Microsoft Windows Uninstalling with SDBUNINST on UNIX, Linux and Microsoft Windows Leaving Level 6 Node Uninstalling with SDBUNINST on UNIX, Linux and Microsoft Windows
Entering Level 6 Node Uninstalling with the Red Hat Package Manager Uninstalling with the Red Hat Package Manager Leaving Level 6 Node Uninstalling with the Red Hat Package Manager
Entering Level 5 Node Upgrading Database Instances and Their Server Software Upgrading Database Instances and Their Server Software Leaving Level 5 Node Upgrading Database Instances and Their Server Software
Entering Level 6 Node Selection of the Upgrade Strategy Selection of the Upgrade Strategy Leaving Level 6 Node Selection of the Upgrade Strategy
Entering Level 7 Node Patch Installation with SDBUPD Patch Installation with SDBUPD Leaving Level 7 Node Patch Installation with SDBUPD
Entering Level 7 Node Patch Installation with SDBINST and Follow-Up Actions Patch Installation with SDBINST and Follow-Up Actions Leaving Level 7 Node Patch Installation with SDBINST and Follow-Up Actions
Entering Level 7 Node In-Place Migration with SDBUPD In-Place Migration with SDBUPD Leaving Level 7 Node In-Place Migration with SDBUPD
Entering Level 7 Node In-Place Migration with SDBINST and Follow-Up Actions In-Place Migration with SDBINST and Follow-Up Actions Leaving Level 7 Node In-Place Migration with SDBINST and Follow-Up Actions
Entering Level 7 Node Upgrading with APO Extract/Load Upgrading with APO Extract/Load Leaving Level 7 Node Upgrading with APO Extract/Load
Entering Level 4 Node Installing MaxDB PHP Extension Installing MaxDB PHP Extension Leaving Level 4 Node Installing MaxDB PHP Extension
Entering Level 5 Node Creating and Installing the MaxDB PHP Extension on Linux Creating and Installing the MaxDB PHP Extension on Linux Leaving Level 5 Node Creating and Installing the MaxDB PHP Extension on Linux
Entering Level 6 Node Testing the MaxDB PHP Extension (Linux) Testing the MaxDB PHP Extension (Linux) Leaving Level 6 Node Testing the MaxDB PHP Extension (Linux)
Entering Level 5 Node Installing the Max DB PHP Library (Microsoft Windows) Installing the Max DB PHP Library (Microsoft Windows) Leaving Level 5 Node Installing the Max DB PHP Library (Microsoft Windows)
Entering Level 6 Node Testing the PHP Library (Microsoft Windows) Testing the PHP Library (Microsoft Windows) Leaving Level 6 Node Testing the PHP Library (Microsoft Windows)
Entering Level 4 Node Configuring Web SQL / WebDAV Configuring Web SQL / WebDAV Leaving Level 4 Node Configuring Web SQL / WebDAV
Entering Level 4 Node Connecting Backup Tools from Other Providers Connecting Backup Tools from Other Providers Leaving Level 4 Node Connecting Backup Tools from Other Providers
Entering Level 5 Node Block Diagram: Backing Up and Restoring Block Diagram: Backing Up and Restoring Leaving Level 5 Node Block Diagram: Backing Up and Restoring
Entering Level 5 Node Block Diagram: Importing and Exporting Data Block Diagram: Importing and Exporting Data Leaving Level 5 Node Block Diagram: Importing and Exporting Data
Entering Level 5 Node Connecting to a Backint for Oracle Interface Connecting to a Backint for Oracle Interface Leaving Level 5 Node Connecting to a Backint for Oracle Interface
Entering Level 6 Node Restrictions for Using Backint for Oracle with Versions Smaller Restrictions for Using Backint for Oracle with Versions Smaller Leaving Level 6 Node Restrictions for Using Backint for Oracle with Versions Smaller
Entering Level 6 Node How the MaxDB Adapter Program Works How the MaxDB Adapter Program Works Leaving Level 6 Node How the MaxDB Adapter Program Works
Entering Level 6 Node Configuring the Backint for Oracle Connection Configuring the Backint for Oracle Connection Leaving Level 6 Node Configuring the Backint for Oracle Connection
Entering Level 7 Node Creating the Parameter File for the MaxDB Adapter Program Creating the Parameter File for the MaxDB Adapter Program Leaving Level 7 Node Creating the Parameter File for the MaxDB Adapter Program
Entering Level 8 Node Example of a Parameter File for the MaxDB Adapter Program Example of a Parameter File for the MaxDB Adapter Program Leaving Level 8 Node Example of a Parameter File for the MaxDB Adapter Program
Entering Level 7 Node Creating the Configuration File for Backint for MaxDB Creating the Configuration File for Backint for MaxDB Leaving Level 7 Node Creating the Configuration File for Backint for MaxDB
Entering Level 8 Node Example of a Configuration File for Backint for MaxDB Example of a Configuration File for Backint for MaxDB Leaving Level 8 Node Example of a Configuration File for Backint for MaxDB
Entering Level 7 Node Exporting Environment Variables for the External Backup Tool Exporting Environment Variables for the External Backup Tool Leaving Level 7 Node Exporting Environment Variables for the External Backup Tool
Entering Level 7 Node Setting the Environment Variable BSI_ENV Setting the Environment Variable BSI_ENV Leaving Level 7 Node Setting the Environment Variable BSI_ENV
Entering Level 7 Node Setting Non-Tool-Specific Environment Variables for the Database Setting Non-Tool-Specific Environment Variables for the Database Leaving Level 7 Node Setting Non-Tool-Specific Environment Variables for the Database
Entering Level 8 Node Setting TEMP or TMP Setting TEMP or TMP Leaving Level 8 Node Setting TEMP or TMP
Entering Level 8 Node Setting DBM_TTO_SUCCESS and DBM_TTO_FAILURE Setting DBM_TTO_SUCCESS and DBM_TTO_FAILURE Leaving Level 8 Node Setting DBM_TTO_SUCCESS and DBM_TTO_FAILURE
Entering Level 5 Node Connecting to a Backint for MaxDB Interface Connecting to a Backint for MaxDB Interface Leaving Level 5 Node Connecting to a Backint for MaxDB Interface
Entering Level 6 Node Restrictions for Using Backint for MaxDB for Versions Smaller th Restrictions for Using Backint for MaxDB for Versions Smaller th Leaving Level 6 Node Restrictions for Using Backint for MaxDB for Versions Smaller th
Entering Level 5 Node Connecting to TSM Connecting to TSM Leaving Level 5 Node Connecting to TSM
Entering Level 6 Node Restrictions for Using TSM for Versions Smaller than 7.5 Restrictions for Using TSM for Versions Smaller than 7.5 Leaving Level 6 Node Restrictions for Using TSM for Versions Smaller than 7.5
Entering Level 6 Node Restrictions for Parallel Backups and Restores with TSM for Vers Restrictions for Parallel Backups and Restores with TSM for Vers Leaving Level 6 Node Restrictions for Parallel Backups and Restores with TSM for Vers
Entering Level 6 Node Configuring the TSM Connection Configuring the TSM Connection Leaving Level 6 Node Configuring the TSM Connection
Entering Level 7 Node Setting the Environment Variables ADINT and ADA_OPT Setting the Environment Variables ADINT and ADA_OPT Leaving Level 7 Node Setting the Environment Variables ADINT and ADA_OPT
Entering Level 5 Node Connecting to NetWorker Connecting to NetWorker Leaving Level 5 Node Connecting to NetWorker
Entering Level 6 Node Restrictions for Using NetWorker for Versions Smaller than 7.5 Restrictions for Using NetWorker for Versions Smaller than 7.5 Leaving Level 6 Node Restrictions for Using NetWorker for Versions Smaller than 7.5
Entering Level 6 Node Restrictions for Parallel Backups and Restores Using NetWorker f Restrictions for Parallel Backups and Restores Using NetWorker f Leaving Level 6 Node Restrictions for Parallel Backups and Restores Using NetWorker f
Entering Level 6 Node Configuring the NetWorker Connection Configuring the NetWorker Connection Leaving Level 6 Node Configuring the NetWorker Connection
Entering Level 7 Node Setting the Environment Variable NSR_ENV Setting the Environment Variable NSR_ENV Leaving Level 7 Node Setting the Environment Variable NSR_ENV
Entering Level 7 Node Creating the Configuration File for NetWorker Creating the Configuration File for NetWorker Leaving Level 7 Node Creating the Configuration File for NetWorker
Entering Level 8 Node Example of a Configuration File for NetWorker Example of a Configuration File for NetWorker Leaving Level 8 Node Example of a Configuration File for NetWorker
Entering Level 5 Node Connecting to VERITAS NetBackup Connecting to VERITAS NetBackup Leaving Level 5 Node Connecting to VERITAS NetBackup
Entering Level 4 Node Troubleshooting Troubleshooting Leaving Level 4 Node Troubleshooting
Entering Level 5 Node Errors in the Execution of the Program SDBINST Errors in the Execution of the Program SDBINST Leaving Level 5 Node Errors in the Execution of the Program SDBINST
Entering Level 5 Node Errors in the Execution of the SDBUPD Program Errors in the Execution of the SDBUPD Program Leaving Level 5 Node Errors in the Execution of the SDBUPD Program
Entering Level 6 Node Case 1: No Database Instances Exist Yet Case 1: No Database Instances Exist Yet Leaving Level 6 Node Case 1: No Database Instances Exist Yet
Entering Level 6 Node Case 2: Downgrading Dependent Software Case 2: Downgrading Dependent Software Leaving Level 6 Node Case 2: Downgrading Dependent Software
Entering Level 6 Node Case 3: Downgrade for Independent Software Case 3: Downgrade for Independent Software Leaving Level 6 Node Case 3: Downgrade for Independent Software
Entering Level 4 Node Details Details Leaving Level 4 Node Details
Entering Level 5 Node Installation Profiles Installation Profiles Leaving Level 5 Node Installation Profiles
Entering Level 5 Node Software Components Software Components Leaving Level 5 Node Software Components
Entering Level 5 Node Logging Logging Leaving Level 5 Node Logging
Entering Level 5 Node Overview of Options for the SDBINST Program Overview of Options for the SDBINST Program Leaving Level 5 Node Overview of Options for the SDBINST Program
Entering Level 5 Node Overview of Options for the Program SDBUNINST Overview of Options for the Program SDBUNINST Leaving Level 5 Node Overview of Options for the Program SDBUNINST
Entering Level 5 Node Overview of Options for the SDBUPD Program Overview of Options for the SDBUPD Program Leaving Level 5 Node Overview of Options for the SDBUPD Program
Entering Level 5 Node Directories Directories Leaving Level 5 Node Directories
Entering Level 5 Node Variables and Examples Variables and Examples Leaving Level 5 Node Variables and Examples
Entering Level 2 Node Basic Information Basic Information Leaving Level 2 Node Basic Information
Entering Level 3 Node Concepts of the Database System Concepts of the Database System Leaving Level 3 Node Concepts of the Database System
Entering Level 4 Node Software Information Software Information Leaving Level 4 Node Software Information
Entering Level 5 Node SAP DB and MaxDB SAP DB and MaxDB Leaving Level 5 Node SAP DB and MaxDB
Entering Level 5 Node Documentation Documentation Leaving Level 5 Node Documentation
Entering Level 5 Node Demo Database Demo Database Leaving Level 5 Node Demo Database
Entering Level 5 Node Download Download Leaving Level 5 Node Download
Entering Level 5 Node Version Notation Version Notation Leaving Level 5 Node Version Notation
Entering Level 5 Node Supported Operating Systems, Platforms and Browsers Supported Operating Systems, Platforms and Browsers Leaving Level 5 Node Supported Operating Systems, Platforms and Browsers
Entering Level 5 Node Open Source Development of the Database Software Open Source Development of the Database Software Leaving Level 5 Node Open Source Development of the Database Software
Entering Level 5 Node Support Support Leaving Level 5 Node Support
Entering Level 5 Node Tracking Problem Messages with Web PTS Tracking Problem Messages with Web PTS Leaving Level 5 Node Tracking Problem Messages with Web PTS
Entering Level 4 Node Overview of the Database System Overview of the Database System Leaving Level 4 Node Overview of the Database System
Entering Level 5 Node SQL SQL Leaving Level 5 Node SQL
Entering Level 5 Node Transactions Transactions Leaving Level 5 Node Transactions
Entering Level 6 Node Logging Transactions Logging Transactions Leaving Level 6 Node Logging Transactions
Entering Level 7 Node Log Settings Log Settings Leaving Level 7 Node Log Settings
Entering Level 7 Node Undo Log Management Undo Log Management Leaving Level 7 Node Undo Log Management
Entering Level 7 Node Redo Log Management Redo Log Management Leaving Level 7 Node Redo Log Management
Entering Level 7 Node History Management History Management Leaving Level 7 Node History Management
Entering Level 8 Node Example: Consistent View Example: Consistent View Leaving Level 8 Node Example: Consistent View
Entering Level 7 Node Using Log Entries for a Restart or Restore Using Log Entries for a Restart or Restore Leaving Level 7 Node Using Log Entries for a Restart or Restore
Entering Level 8 Node Analyzing Log Information Analyzing Log Information Leaving Level 8 Node Analyzing Log Information
Entering Level 8 Node Repeating Transactions Repeating Transactions Leaving Level 8 Node Repeating Transactions
Entering Level 8 Node Example: Restart Example: Restart Leaving Level 8 Node Example: Restart
Entering Level 5 Node Locks for Database Objects Locks for Database Objects Leaving Level 5 Node Locks for Database Objects
Entering Level 6 Node Shared Lock Shared Lock Leaving Level 6 Node Shared Lock
Entering Level 6 Node Exclusive Lock Exclusive Lock Leaving Level 6 Node Exclusive Lock
Entering Level 6 Node Optimistic Lock Optimistic Lock Leaving Level 6 Node Optimistic Lock
Entering Level 6 Node Phenomena Phenomena Leaving Level 6 Node Phenomena
Entering Level 6 Node Parallel Locks Parallel Locks Leaving Level 6 Node Parallel Locks
Entering Level 6 Node Isolation Level Isolation Level Leaving Level 6 Node Isolation Level
Entering Level 5 Node Data Storage and Access Data Storage and Access Leaving Level 5 Node Data Storage and Access
Entering Level 6 Node B* Tree B* Tree Leaving Level 6 Node B* Tree
Entering Level 7 Node B* Trees for Tables with LONG Columns B* Trees for Tables with LONG Columns Leaving Level 7 Node B* Trees for Tables with LONG Columns
Entering Level 7 Node B* Trees for Tables with Indexes B* Trees for Tables with Indexes Leaving Level 7 Node B* Trees for Tables with Indexes
Entering Level 7 Node Rebalancing Rebalancing Leaving Level 7 Node Rebalancing
Entering Level 7 Node Example: SELECT Statement Example: SELECT Statement Leaving Level 7 Node Example: SELECT Statement
Entering Level 7 Node Example: INSERT Statement Example: INSERT Statement Leaving Level 7 Node Example: INSERT Statement
Entering Level 7 Node Example: DELETE Statement Example: DELETE Statement Leaving Level 7 Node Example: DELETE Statement
Entering Level 7 Node Example: UPDATE Statement Example: UPDATE Statement Leaving Level 7 Node Example: UPDATE Statement
Entering Level 6 Node Savepoint Savepoint Leaving Level 6 Node Savepoint
Entering Level 6 Node Converter Converter Leaving Level 6 Node Converter
Entering Level 4 Node Database Tools Database Tools Leaving Level 4 Node Database Tools
Entering Level 4 Node Interfaces Interfaces Leaving Level 4 Node Interfaces
Entering Level 4 Node Technical System Landscape Technical System Landscape Leaving Level 4 Node Technical System Landscape
Entering Level 5 Node Network Communication Network Communication Leaving Level 5 Node Network Communication
Entering Level 5 Node Architecture of the Database Tools Architecture of the Database Tools Leaving Level 5 Node Architecture of the Database Tools
Entering Level 5 Node Architecture of the Interfaces Architecture of the Interfaces Leaving Level 5 Node Architecture of the Interfaces
Entering Level 5 Node Data Encryption Data Encryption Leaving Level 5 Node Data Encryption
Entering Level 5 Node Example: System Landscape with MaxDB Database Instance Example: System Landscape with MaxDB Database Instance Leaving Level 5 Node Example: System Landscape with MaxDB Database Instance
Entering Level 5 Node Example: SAP System Landscape with Two MaxDB Database Instances Example: SAP System Landscape with Two MaxDB Database Instances Leaving Level 5 Node Example: SAP System Landscape with Two MaxDB Database Instances
Entering Level 5 Node Process Structure Process Structure Leaving Level 5 Node Process Structure
Entering Level 6 Node Overview of Processes Overview of Processes Leaving Level 6 Node Overview of Processes
Entering Level 6 Node Overview of Services Overview of Services Leaving Level 6 Node Overview of Services
Entering Level 6 Node Overview of Tasks Overview of Tasks Leaving Level 6 Node Overview of Tasks
Entering Level 6 Node Overview of the Task States Overview of the Task States Leaving Level 6 Node Overview of the Task States
Entering Level 6 Node Task Switching Task Switching Leaving Level 6 Node Task Switching
Entering Level 6 Node Load Balancing Load Balancing Leaving Level 6 Node Load Balancing
Entering Level 6 Node Overview of Special Threads Overview of Special Threads Leaving Level 6 Node Overview of Special Threads
Entering Level 4 Node Creating and Configuring a Database Instance Creating and Configuring a Database Instance Leaving Level 4 Node Creating and Configuring a Database Instance
Entering Level 5 Node Tips for Creating and Configuring a Database Instance Tips for Creating and Configuring a Database Instance Leaving Level 5 Node Tips for Creating and Configuring a Database Instance
Entering Level 5 Node Conventions for Database Names Conventions for Database Names Leaving Level 5 Node Conventions for Database Names
Entering Level 5 Node Technical Restrictions Technical Restrictions Leaving Level 5 Node Technical Restrictions
Entering Level 5 Node Directories Directories Leaving Level 5 Node Directories
Entering Level 5 Node Database Parameters Database Parameters Leaving Level 5 Node Database Parameters
Entering Level 6 Node General Database Parameters General Database Parameters Leaving Level 6 Node General Database Parameters
Entering Level 6 Node Special Database Parameters Special Database Parameters Leaving Level 6 Node Special Database Parameters
Entering Level 6 Node Support Database Parameters Support Database Parameters Leaving Level 6 Node Support Database Parameters
Entering Level 6 Node liveCache Database Parameters liveCache Database Parameters Leaving Level 6 Node liveCache Database Parameters
Entering Level 6 Node Properties of Database Parameters Properties of Database Parameters Leaving Level 6 Node Properties of Database Parameters
Entering Level 5 Node Configuration files Configuration files Leaving Level 5 Node Configuration files
Entering Level 5 Node Automatic Start Automatic Start Leaving Level 5 Node Automatic Start
Entering Level 6 Node Example: Start Script for a Database Instance (Linux) Example: Start Script for a Database Instance (Linux) Leaving Level 6 Node Example: Start Script for a Database Instance (Linux)
Entering Level 4 Node Administration Administration Leaving Level 4 Node Administration
Entering Level 5 Node Regular Administration Tasks Regular Administration Tasks Leaving Level 5 Node Regular Administration Tasks
Entering Level 5 Node Automating Administration Tasks Automating Administration Tasks Leaving Level 5 Node Automating Administration Tasks
Entering Level 6 Node Overview of Database Events Overview of Database Events Leaving Level 6 Node Overview of Database Events
Entering Level 5 Node Users, Authentication and Authorizations Users, Authentication and Authorizations Leaving Level 5 Node Users, Authentication and Authorizations
Entering Level 6 Node Database System Administrator (SYSDBA User) Database System Administrator (SYSDBA User) Leaving Level 6 Node Database System Administrator (SYSDBA User)
Entering Level 6 Node Database Manager Operator (DBM Operator) Database Manager Operator (DBM Operator) Leaving Level 6 Node Database Manager Operator (DBM Operator)
Entering Level 6 Node Database User Database User Leaving Level 6 Node Database User
Entering Level 6 Node Server Authorizations for the DBM Server Server Authorizations for the DBM Server Leaving Level 6 Node Server Authorizations for the DBM Server
Entering Level 6 Node Conventions for User Names and Passwords Conventions for User Names and Passwords Leaving Level 6 Node Conventions for User Names and Passwords
Entering Level 6 Node Authentication Authentication Leaving Level 6 Node Authentication
Entering Level 6 Node Special Operating System Users and Groups (UNIX/Linux) Special Operating System Users and Groups (UNIX/Linux) Leaving Level 6 Node Special Operating System Users and Groups (UNIX/Linux)
Entering Level 7 Node <sdb_user> (Special Operating System User) <sdb_user> (Special Operating System User) Leaving Level 7 Node <sdb_user> (Special Operating System User)
Entering Level 7 Node <sdba_group> (Special Operating System Group) <sdba_group> (Special Operating System Group) Leaving Level 7 Node <sdba_group> (Special Operating System Group)
Entering Level 7 Node Support Group (Special Operating System Group) Support Group (Special Operating System Group) Leaving Level 7 Node Support Group (Special Operating System Group)
Entering Level 5 Node Backing Up and Restoring Backing Up and Restoring Leaving Level 5 Node Backing Up and Restoring
Entering Level 6 Node Backup Media Backup Media Leaving Level 6 Node Backup Media
Entering Level 6 Node Backing Up Data Backing Up Data Leaving Level 6 Node Backing Up Data
Entering Level 6 Node Backing Up Log Entries Backing Up Log Entries Leaving Level 6 Node Backing Up Log Entries
Entering Level 7 Node Archiving Version Files Archiving Version Files Leaving Level 7 Node Archiving Version Files
Entering Level 6 Node Restoring the Database Instance Restoring the Database Instance Leaving Level 6 Node Restoring the Database Instance
Entering Level 6 Node Example: Backing Up and Restoring Example: Backing Up and Restoring Leaving Level 6 Node Example: Backing Up and Restoring
Entering Level 6 Node Supported Backup Tools from Other Providers Supported Backup Tools from Other Providers Leaving Level 6 Node Supported Backup Tools from Other Providers
Entering Level 6 Node Freezing the Data Area (Snapshot) Freezing the Data Area (Snapshot) Leaving Level 6 Node Freezing the Data Area (Snapshot)
Entering Level 5 Node Exporting and Importing Exporting and Importing Leaving Level 5 Node Exporting and Importing
Entering Level 5 Node Replication and High Availability Replication and High Availability Leaving Level 5 Node Replication and High Availability
Entering Level 6 Node Database Copy Database Copy Leaving Level 6 Node Database Copy
Entering Level 7 Node Compatible Processor Architectures for Database Copies Compatible Processor Architectures for Database Copies Leaving Level 7 Node Compatible Processor Architectures for Database Copies
Entering Level 6 Node Standby Database Standby Database Leaving Level 6 Node Standby Database
Entering Level 7 Node Setting Up a Standby Instance Setting Up a Standby Instance Leaving Level 7 Node Setting Up a Standby Instance
Entering Level 7 Node Updating the Standby Instance Updating the Standby Instance Leaving Level 7 Node Updating the Standby Instance
Entering Level 7 Node Starting the Standby Instance as an Active Instance Starting the Standby Instance as an Active Instance Leaving Level 7 Node Starting the Standby Instance as an Active Instance
Entering Level 8 Node Importing an Additional Manual Log Backup Importing an Additional Manual Log Backup Leaving Level 8 Node Importing an Additional Manual Log Backup
Entering Level 8 Node Importing Log Backups up to a Specific Time Importing Log Backups up to a Specific Time Leaving Level 8 Node Importing Log Backups up to a Specific Time
Entering Level 8 Node Copying the Log Volumes of the Original Instance Copying the Log Volumes of the Original Instance Leaving Level 8 Node Copying the Log Volumes of the Original Instance
Entering Level 8 Node Identifying Log Backups Since the Last Savepoint Identifying Log Backups Since the Last Savepoint Leaving Level 8 Node Identifying Log Backups Since the Last Savepoint
Entering Level 7 Node Example: Standby Database Example: Standby Database Leaving Level 7 Node Example: Standby Database
Entering Level 6 Node Hot Standby Hot Standby Leaving Level 6 Node Hot Standby
Entering Level 7 Node System Requirements for a Hot Standby System System Requirements for a Hot Standby System Leaving Level 7 Node System Requirements for a Hot Standby System
Entering Level 7 Node Architecture of a Hot Standby System Architecture of a Hot Standby System Leaving Level 7 Node Architecture of a Hot Standby System
Entering Level 7 Node Synchronizing Master and Standby Instances Synchronizing Master and Standby Instances Leaving Level 7 Node Synchronizing Master and Standby Instances
Entering Level 7 Node Behavior of the Hot Standby System when Errors Occur Behavior of the Hot Standby System when Errors Occur Leaving Level 7 Node Behavior of the Hot Standby System when Errors Occur
Entering Level 6 Node Synchronization Synchronization Leaving Level 6 Node Synchronization
Entering Level 4 Node Monitoring Monitoring Leaving Level 4 Node Monitoring
Entering Level 4 Node Performance Performance Leaving Level 4 Node Performance
Entering Level 5 Node Database Design Tips Database Design Tips Leaving Level 5 Node Database Design Tips
Entering Level 5 Node Automatic Transformation of SQL Statements Automatic Transformation of SQL Statements Leaving Level 5 Node Automatic Transformation of SQL Statements
Entering Level 5 Node SQL Optimizer SQL Optimizer Leaving Level 5 Node SQL Optimizer
Entering Level 6 Node How the Optimizer works How the Optimizer works Leaving Level 6 Node How the Optimizer works
Entering Level 7 Node Search Conditions Search Conditions Leaving Level 7 Node Search Conditions
Entering Level 8 Node Equality Condition Equality Condition Leaving Level 8 Node Equality Condition
Entering Level 8 Node Range Condition Range Condition Leaving Level 8 Node Range Condition
Entering Level 8 Node IN Condition IN Condition Leaving Level 8 Node IN Condition
Entering Level 8 Node LIKE Condition LIKE Condition Leaving Level 8 Node LIKE Condition
Entering Level 8 Node Restrictions for UPDATE Statements Restrictions for UPDATE Statements Leaving Level 8 Node Restrictions for UPDATE Statements
Entering Level 7 Node Search Strategies Search Strategies Leaving Level 7 Node Search Strategies
Entering Level 8 Node Sequential Search Sequential Search Leaving Level 8 Node Sequential Search
Entering Level 8 Node Search Conditions for Key Columns Search Conditions for Key Columns Leaving Level 8 Node Search Conditions for Key Columns
Entering Level 8 Node Search Conditions for Indexed Columns Search Conditions for Indexed Columns Leaving Level 8 Node Search Conditions for Indexed Columns
Entering Level 9 Node Examples: Search Conditions for Indexed Columns Examples: Search Conditions for Indexed Columns Leaving Level 9 Node Examples: Search Conditions for Indexed Columns
Entering Level 8 Node Search Conditions Linked with OR Search Conditions Linked with OR Leaving Level 8 Node Search Conditions Linked with OR
Entering Level 8 Node Postponement of the Search to the FETCH Time Postponement of the Search to the FETCH Time Leaving Level 8 Node Postponement of the Search to the FETCH Time
Entering Level 8 Node Joins Joins Leaving Level 8 Node Joins
Entering Level 9 Node JOIN_SEARCH_LEVEL Database Parameter JOIN_SEARCH_LEVEL Database Parameter Leaving Level 9 Node JOIN_SEARCH_LEVEL Database Parameter
Entering Level 8 Node List of All Search Strategies List of All Search Strategies Leaving Level 8 Node List of All Search Strategies
Entering Level 9 Node CATALOG KEY ACCESS CATALOG KEY ACCESS Leaving Level 9 Node CATALOG KEY ACCESS
Entering Level 9 Node CATALOG SCAN CATALOG SCAN Leaving Level 9 Node CATALOG SCAN
Entering Level 9 Node CATALOG SCAN USING USER EQUAL CONDITION CATALOG SCAN USING USER EQUAL CONDITION Leaving Level 9 Node CATALOG SCAN USING USER EQUAL CONDITION
Entering Level 9 Node DIFFERENT STRATEGIES FOR OR-TERMS DIFFERENT STRATEGIES FOR OR-TERMS Leaving Level 9 Node DIFFERENT STRATEGIES FOR OR-TERMS
Entering Level 9 Node EQUAL CONDITION FOR INDEX EQUAL CONDITION FOR INDEX Leaving Level 9 Node EQUAL CONDITION FOR INDEX
Entering Level 9 Node EQUAL CONDITION FOR KEY EQUAL CONDITION FOR KEY Leaving Level 9 Node EQUAL CONDITION FOR KEY
Entering Level 9 Node IN CONDITION FOR INDEX IN CONDITION FOR INDEX Leaving Level 9 Node IN CONDITION FOR INDEX
Entering Level 9 Node IN CONDITION FOR KEY IN CONDITION FOR KEY Leaving Level 9 Node IN CONDITION FOR KEY
Entering Level 9 Node JOIN VIA INDEXED COLUMN JOIN VIA INDEXED COLUMN Leaving Level 9 Node JOIN VIA INDEXED COLUMN
Entering Level 9 Node JOIN VIA KEY COLUMN JOIN VIA KEY COLUMN Leaving Level 9 Node JOIN VIA KEY COLUMN
Entering Level 9 Node JOIN VIA KEY RANGE JOIN VIA KEY RANGE Leaving Level 9 Node JOIN VIA KEY RANGE
Entering Level 9 Node JOIN VIA MULTIPLE INDEXED COLUMNS JOIN VIA MULTIPLE INDEXED COLUMNS Leaving Level 9 Node JOIN VIA MULTIPLE INDEXED COLUMNS
Entering Level 9 Node JOIN VIA MULTIPLE KEY COLUMNS JOIN VIA MULTIPLE KEY COLUMNS Leaving Level 9 Node JOIN VIA MULTIPLE KEY COLUMNS
Entering Level 9 Node JOIN VIA RANGE OF MULTIPLE INDEXED COL. JOIN VIA RANGE OF MULTIPLE INDEXED COL. Leaving Level 9 Node JOIN VIA RANGE OF MULTIPLE INDEXED COL.
Entering Level 9 Node JOIN VIA RANGE OF MULTIPLE KEY COLUMNS JOIN VIA RANGE OF MULTIPLE KEY COLUMNS Leaving Level 9 Node JOIN VIA RANGE OF MULTIPLE KEY COLUMNS
Entering Level 9 Node NO RESULT SET POSSIBLE NO RESULT SET POSSIBLE Leaving Level 9 Node NO RESULT SET POSSIBLE
Entering Level 9 Node NO STRATEGY NOW (ONLY AT EXECUTION TIME) NO STRATEGY NOW (ONLY AT EXECUTION TIME) Leaving Level 9 Node NO STRATEGY NOW (ONLY AT EXECUTION TIME)
Entering Level 9 Node RANGE CONDITION FOR KEY RANGE CONDITION FOR KEY Leaving Level 9 Node RANGE CONDITION FOR KEY
Entering Level 9 Node SUBQ CONDITION FOR KEY SUBQ CONDITION FOR KEY Leaving Level 9 Node SUBQ CONDITION FOR KEY
Entering Level 9 Node RANGE CONDITION FOR INDEX RANGE CONDITION FOR INDEX Leaving Level 9 Node RANGE CONDITION FOR INDEX
Entering Level 9 Node SUBQ CONDITION FOR INDEX SUBQ CONDITION FOR INDEX Leaving Level 9 Node SUBQ CONDITION FOR INDEX
Entering Level 9 Node INDEX SCAN INDEX SCAN Leaving Level 9 Node INDEX SCAN
Entering Level 9 Node TABLE SCAN TABLE SCAN Leaving Level 9 Node TABLE SCAN
Entering Level 7 Node Cost Determination Cost Determination Leaving Level 7 Node Cost Determination
Entering Level 8 Node SQL Optimizer Statistics SQL Optimizer Statistics Leaving Level 8 Node SQL Optimizer Statistics
Entering Level 7 Node Examples Examples Leaving Level 7 Node Examples
Entering Level 8 Node example example Leaving Level 8 Node example
Entering Level 8 Node ind ind Leaving Level 8 Node ind
Entering Level 8 Node indf indf Leaving Level 8 Node indf
Entering Level 8 Node invcolumn1 invcolumn1 Leaving Level 8 Node invcolumn1
Entering Level 8 Node invcolumn2 invcolumn2 Leaving Level 8 Node invcolumn2
Entering Level 8 Node one one Leaving Level 8 Node one
Entering Level 8 Node ten1 ten1 Leaving Level 8 Node ten1
Entering Level 8 Node ten2 ten2 Leaving Level 8 Node ten2
Entering Level 6 Node Troubleshooting Troubleshooting Leaving Level 6 Node Troubleshooting
Entering Level 7 Node EXPLAIN Statement EXPLAIN Statement Leaving Level 7 Node EXPLAIN Statement
Entering Level 8 Node EXPLAIN Statement for Joins EXPLAIN Statement for Joins Leaving Level 8 Node EXPLAIN Statement for Joins
Entering Level 8 Node EXPLAIN Statement for Complicated SELECT Statements EXPLAIN Statement for Complicated SELECT Statements Leaving Level 8 Node EXPLAIN Statement for Complicated SELECT Statements
Entering Level 8 Node EXPLAIN Statement for SELECT Statements with Subqueries EXPLAIN Statement for SELECT Statements with Subqueries Leaving Level 8 Node EXPLAIN Statement for SELECT Statements with Subqueries
Entering Level 8 Node STRATEGY Column STRATEGY Column Leaving Level 8 Node STRATEGY Column
Entering Level 4 Node Troubleshooting Troubleshooting Leaving Level 4 Node Troubleshooting
Entering Level 5 Node Typical Error Situations Typical Error Situations Leaving Level 5 Node Typical Error Situations
Entering Level 5 Node Log Files Log Files Leaving Level 5 Node Log Files
Entering Level 5 Node Traces Traces Leaving Level 5 Node Traces
Entering Level 5 Node Checking Database Structures Checking Database Structures Leaving Level 5 Node Checking Database Structures
Entering Level 6 Node Fixing Errors in the Data Structure Fixing Errors in the Data Structure Leaving Level 6 Node Fixing Errors in the Data Structure
Entering Level 6 Node Example: Error in the Data Structure Example: Error in the Data Structure Leaving Level 6 Node Example: Error in the Data Structure
Entering Level 4 Node Developing Database Applications Developing Database Applications Leaving Level 4 Node Developing Database Applications
Entering Level 5 Node Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Wi Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Wi Leaving Level 5 Node Example: Connecting OpenOffice to MaxDB Using ODBC (Microsoft Wi
Entering Level 5 Node Example: Connecting OpenOffice to MaxDB Using JDBC (Linux) Example: Connecting OpenOffice to MaxDB Using JDBC (Linux) Leaving Level 5 Node Example: Connecting OpenOffice to MaxDB Using JDBC (Linux)
Entering Level 4 Node Appendix Appendix Leaving Level 4 Node Appendix
Entering Level 5 Node Operating Mode of Command Line Programs Operating Mode of Command Line Programs Leaving Level 5 Node Operating Mode of Command Line Programs
Entering Level 5 Node Syntax Notation Syntax Notation Leaving Level 5 Node Syntax Notation
Entering Level 5 Node Variables and Examples Variables and Examples Leaving Level 5 Node Variables and Examples
Entering Level 3 Node Glossary Glossary Leaving Level 3 Node Glossary
Entering Level 4 Node A A Leaving Level 4 Node A
Entering Level 4 Node Data Access Data Access Leaving Level 4 Node Data Access
Entering Level 4 Node Administration Administration Leaving Level 4 Node Administration
Entering Level 4 Node After Image After Image Leaving Level 4 Node After Image
Entering Level 4 Node Application Data Application Data Leaving Level 4 Node Application Data
Entering Level 4 Node Architecture Architecture Leaving Level 4 Node Architecture
Entering Level 4 Node ASCII ASCII Leaving Level 4 Node ASCII
Entering Level 4 Node Authentication Authentication Leaving Level 4 Node Authentication
Entering Level 4 Node Authorization Authorization Leaving Level 4 Node Authorization
Entering Level 4 Node AUTOCOMMIT Mode AUTOCOMMIT Mode Leaving Level 4 Node AUTOCOMMIT Mode
Entering Level 4 Node Automatic Log Backup Automatic Log Backup Leaving Level 4 Node Automatic Log Backup
Entering Level 4 Node Automatic Start Automatic Start Leaving Level 4 Node Automatic Start
Entering Level 4 Node Automation Automation Leaving Level 4 Node Automation
Entering Level 4 Node B B Leaving Level 4 Node B
Entering Level 4 Node B* Tree B* Tree Leaving Level 4 Node B* Tree
Entering Level 4 Node Backint for MaxDB Backint for MaxDB Leaving Level 4 Node Backint for MaxDB
Entering Level 4 Node Backup Backup Leaving Level 4 Node Backup
Entering Level 4 Node Backup History Backup History Leaving Level 4 Node Backup History
Entering Level 4 Node Backup ID Backup ID Leaving Level 4 Node Backup ID
Entering Level 4 Node Backup Medium Backup Medium Leaving Level 4 Node Backup Medium
Entering Level 4 Node Backup Type Backup Type Leaving Level 4 Node Backup Type
Entering Level 4 Node Before Image Before Image Leaving Level 4 Node Before Image
Entering Level 4 Node BLOB BLOB Leaving Level 4 Node BLOB
Entering Level 4 Node C C Leaving Level 4 Node C
Entering Level 4 Node Cache Cache Leaving Level 4 Node Cache
Entering Level 4 Node Catalog Cache Catalog Cache Leaving Level 4 Node Catalog Cache
Entering Level 4 Node Checkpoint Checkpoint Leaving Level 4 Node Checkpoint
Entering Level 4 Node Code Attribute Code Attribute Leaving Level 4 Node Code Attribute
Entering Level 4 Node Column Column Leaving Level 4 Node Column
Entering Level 4 Node Command Monitor Command Monitor Leaving Level 4 Node Command Monitor
Entering Level 4 Node COMMIT COMMIT Leaving Level 4 Node COMMIT
Entering Level 4 Node Communication Server Communication Server Leaving Level 4 Node Communication Server
Entering Level 4 Node Complete Data Backup Complete Data Backup Leaving Level 4 Node Complete Data Backup
Entering Level 4 Node Configuration Configuration Leaving Level 4 Node Configuration
Entering Level 4 Node Configuration Directory Configuration Directory Leaving Level 4 Node Configuration Directory
Entering Level 4 Node Configuration File Configuration File Leaving Level 4 Node Configuration File
Entering Level 4 Node Consistent View Consistent View Leaving Level 4 Node Consistent View
Entering Level 4 Node Converter Converter Leaving Level 4 Node Converter
Entering Level 4 Node Critical Section Critical Section Leaving Level 4 Node Critical Section
Entering Level 4 Node Cursor Cursor Leaving Level 4 Node Cursor
Entering Level 4 Node D D Leaving Level 4 Node D
Entering Level 4 Node Data Area Data Area Leaving Level 4 Node Data Area
Entering Level 4 Node Data Backup Data Backup Leaving Level 4 Node Data Backup
Entering Level 4 Node Database Database Leaving Level 4 Node Database
Entering Level 4 Node Database Administrator (DBA User) Database Administrator (DBA User) Leaving Level 4 Node Database Administrator (DBA User)
Entering Level 4 Node Database Analyzer Database Analyzer Leaving Level 4 Node Database Analyzer
Entering Level 4 Node Database Application Database Application Leaving Level 4 Node Database Application
Entering Level 4 Node Database Catalog Database Catalog Leaving Level 4 Node Database Catalog
Entering Level 4 Node Database Copy Database Copy Leaving Level 4 Node Database Copy
Entering Level 4 Node Database Design Database Design Leaving Level 4 Node Database Design
Entering Level 4 Node Database Directory Database Directory Leaving Level 4 Node Database Directory
Entering Level 4 Node Database File Database File Leaving Level 4 Node Database File
Entering Level 4 Node Database Function Database Function Leaving Level 4 Node Database Function
Entering Level 4 Node Database ID Database ID Leaving Level 4 Node Database ID
Entering Level 4 Node Database Instance Database Instance Leaving Level 4 Node Database Instance
Entering Level 4 Node Database Manager Database Manager Leaving Level 4 Node Database Manager
Entering Level 4 Node Database Manager Operator (DBM Operator) Database Manager Operator (DBM Operator) Leaving Level 4 Node Database Manager Operator (DBM Operator)
Entering Level 4 Node Database Name Database Name Leaving Level 4 Node Database Name
Entering Level 4 Node Database Object Database Object Leaving Level 4 Node Database Object
Entering Level 4 Node Database Parameters Database Parameters Leaving Level 4 Node Database Parameters
Entering Level 4 Node Database Procedure Database Procedure Leaving Level 4 Node Database Procedure
Entering Level 4 Node Database Session Database Session Leaving Level 4 Node Database Session
Entering Level 4 Node Database Structure Database Structure Leaving Level 4 Node Database Structure
Entering Level 4 Node Database System Database System Leaving Level 4 Node Database System
Entering Level 4 Node Database System Administrator (SYSDBA User) Database System Administrator (SYSDBA User) Leaving Level 4 Node Database System Administrator (SYSDBA User)
Entering Level 4 Node Database Tool Database Tool Leaving Level 4 Node Database Tool
Entering Level 4 Node Database Trace Database Trace Leaving Level 4 Node Database Trace
Entering Level 4 Node Database User Database User Leaving Level 4 Node Database User
Entering Level 4 Node Data Cache Data Cache Leaving Level 4 Node Data Cache
Entering Level 4 Node Data Integrity Data Integrity Leaving Level 4 Node Data Integrity
Entering Level 4 Node Data Record Data Record Leaving Level 4 Node Data Record
Entering Level 4 Node Data Type Data Type Leaving Level 4 Node Data Type
Entering Level 4 Node Data Volume Data Volume Leaving Level 4 Node Data Volume
Entering Level 4 Node Data Writer Data Writer Leaving Level 4 Node Data Writer
Entering Level 4 Node DBA DBA Leaving Level 4 Node DBA
Entering Level 4 Node DBA Planning Calendar DBA Planning Calendar Leaving Level 4 Node DBA Planning Calendar
Entering Level 4 Node DBMCLI DBMCLI Leaving Level 4 Node DBMCLI
Entering Level 4 Node DBM Command DBM Command Leaving Level 4 Node DBM Command
Entering Level 4 Node DBMGUI DBMGUI Leaving Level 4 Node DBMGUI
Entering Level 4 Node DBM Operator DBM Operator Leaving Level 4 Node DBM Operator
Entering Level 4 Node DBM Operator Properties DBM Operator Properties Leaving Level 4 Node DBM Operator Properties
Entering Level 4 Node DBM Option DBM Option Leaving Level 4 Node DBM Option
Entering Level 4 Node DBM Server DBM Server Leaving Level 4 Node DBM Server
Entering Level 4 Node DDL Statement DDL Statement Leaving Level 4 Node DDL Statement
Entering Level 4 Node Default Parameter File Default Parameter File Leaving Level 4 Node Default Parameter File
Entering Level 4 Node Demo Database Demo Database Leaving Level 4 Node Demo Database
Entering Level 4 Node Development Development Leaving Level 4 Node Development
Entering Level 4 Node Diagnosis File Diagnosis File Leaving Level 4 Node Diagnosis File
Entering Level 4 Node Directory Structure Directory Structure Leaving Level 4 Node Directory Structure
Entering Level 4 Node Documentation Documentation Leaving Level 4 Node Documentation
Entering Level 4 Node Download Download Leaving Level 4 Node Download
Entering Level 4 Node E E Leaving Level 4 Node E
Entering Level 4 Node Encryption Encryption Leaving Level 4 Node Encryption
Entering Level 4 Node Environment Variable Environment Variable Leaving Level 4 Node Environment Variable
Entering Level 4 Node Event Event Leaving Level 4 Node Event
Entering Level 4 Node Event Dispatcher Event Dispatcher Leaving Level 4 Node Event Dispatcher
Entering Level 4 Node Examples Examples Leaving Level 4 Node Examples
Entering Level 4 Node Exclusive Lock Exclusive Lock Leaving Level 4 Node Exclusive Lock
Entering Level 4 Node Execution Plan Execution Plan Leaving Level 4 Node Execution Plan
Entering Level 4 Node EXPLAIN Statement EXPLAIN Statement Leaving Level 4 Node EXPLAIN Statement
Entering Level 4 Node Exporting Exporting Leaving Level 4 Node Exporting
Entering Level 4 Node External Backup ID External Backup ID Leaving Level 4 Node External Backup ID
Entering Level 4 Node External Backup Tool External Backup Tool Leaving Level 4 Node External Backup Tool
Entering Level 4 Node F F Leaving Level 4 Node F
Entering Level 4 Node File Class File Class Leaving Level 4 Node File Class
Entering Level 4 Node File Directory File Directory Leaving Level 4 Node File Directory
Entering Level 4 Node File ID File ID Leaving Level 4 Node File ID
Entering Level 4 Node Foreign Key Foreign Key Leaving Level 4 Node Foreign Key
Entering Level 4 Node G G Leaving Level 4 Node G
Entering Level 4 Node Garbage Collector Garbage Collector Leaving Level 4 Node Garbage Collector
Entering Level 4 Node Group of Parallel Backup Media Group of Parallel Backup Media Leaving Level 4 Node Group of Parallel Backup Media
Entering Level 4 Node H H Leaving Level 4 Node H
Entering Level 4 Node High Availability High Availability Leaving Level 4 Node High Availability
Entering Level 4 Node History File History File Leaving Level 4 Node History File
Entering Level 4 Node Hit Rate Hit Rate Leaving Level 4 Node Hit Rate
Entering Level 4 Node Homogenous System Copy Homogenous System Copy Leaving Level 4 Node Homogenous System Copy
Entering Level 4 Node Hot Standby Hot Standby Leaving Level 4 Node Hot Standby
Entering Level 4 Node I I Leaving Level 4 Node I
Entering Level 4 Node Importing Importing Leaving Level 4 Node Importing
Entering Level 4 Node Incremental Data Backup Incremental Data Backup Leaving Level 4 Node Incremental Data Backup
Entering Level 4 Node Index Index Leaving Level 4 Node Index
Entering Level 4 Node Indexed Column Indexed Column Leaving Level 4 Node Indexed Column
Entering Level 4 Node Initialization Initialization Leaving Level 4 Node Initialization
Entering Level 4 Node Installation Installation Leaving Level 4 Node Installation
Entering Level 4 Node Installation Profile Installation Profile Leaving Level 4 Node Installation Profile
Entering Level 4 Node Interactive Log Backup Interactive Log Backup Leaving Level 4 Node Interactive Log Backup
Entering Level 4 Node Internal Database Files Internal Database Files Leaving Level 4 Node Internal Database Files
Entering Level 4 Node Inversion List Inversion List Leaving Level 4 Node Inversion List
Entering Level 4 Node Inverted Column Inverted Column Leaving Level 4 Node Inverted Column
Entering Level 4 Node I/O Buffer Cache I/O Buffer Cache Leaving Level 4 Node I/O Buffer Cache
Entering Level 4 Node Isolation Level Isolation Level Leaving Level 4 Node Isolation Level
Entering Level 4 Node J J Leaving Level 4 Node J
Entering Level 4 Node JDBC Interface JDBC Interface Leaving Level 4 Node JDBC Interface
Entering Level 4 Node Join Join Leaving Level 4 Node Join
Entering Level 4 Node K K Leaving Level 4 Node K
Entering Level 4 Node Kernel Kernel Leaving Level 4 Node Kernel
Entering Level 4 Node Kernel Log Kernel Log Leaving Level 4 Node Kernel Log
Entering Level 4 Node Kernel variant Kernel variant Leaving Level 4 Node Kernel variant
Entering Level 4 Node KNLDIAG KNLDIAG Leaving Level 4 Node KNLDIAG
Entering Level 4 Node L L Leaving Level 4 Node L
Entering Level 4 Node Language Support (MapChar Sets) Language Support (MapChar Sets) Leaving Level 4 Node Language Support (MapChar Sets)
Entering Level 4 Node Leaf Page Leaf Page Leaving Level 4 Node Leaf Page
Entering Level 4 Node liveCache (SAP liveCache Technology) liveCache (SAP liveCache Technology) Leaving Level 4 Node liveCache (SAP liveCache Technology)
Entering Level 4 Node Loading Loading Leaving Level 4 Node Loading
Entering Level 4 Node Load Balancing Load Balancing Leaving Level 4 Node Load Balancing
Entering Level 4 Node Loader Loader Leaving Level 4 Node Loader
Entering Level 4 Node Loader Server Loader Server Leaving Level 4 Node Loader Server
Entering Level 4 Node Lock Lock Leaving Level 4 Node Lock
Entering Level 4 Node Lock List Lock List Leaving Level 4 Node Lock List
Entering Level 4 Node Log Area Log Area Leaving Level 4 Node Log Area
Entering Level 4 Node Log Backup Log Backup Leaving Level 4 Node Log Backup
Entering Level 4 Node Log Entry Log Entry Leaving Level 4 Node Log Entry
Entering Level 4 Node Log File Log File Leaving Level 4 Node Log File
Entering Level 4 Node Logging Logging Leaving Level 4 Node Logging
Entering Level 4 Node Log Mode Log Mode Leaving Level 4 Node Log Mode
Entering Level 4 Node Log Page Log Page Leaving Level 4 Node Log Page
Entering Level 4 Node Log Queue Log Queue Leaving Level 4 Node Log Queue
Entering Level 4 Node Log Reader Log Reader Leaving Level 4 Node Log Reader
Entering Level 4 Node Log Segment Log Segment Leaving Level 4 Node Log Segment
Entering Level 4 Node Log Setting Log Setting Leaving Level 4 Node Log Setting
Entering Level 4 Node Log Volume Log Volume Leaving Level 4 Node Log Volume
Entering Level 4 Node Log Writer Log Writer Leaving Level 4 Node Log Writer
Entering Level 4 Node LONG Value LONG Value Leaving Level 4 Node LONG Value
Entering Level 4 Node M M Leaving Level 4 Node M
Entering Level 4 Node Mailing List Mailing List Leaving Level 4 Node Mailing List
Entering Level 4 Node Mapchar Set Mapchar Set Leaving Level 4 Node Mapchar Set
Entering Level 4 Node MaxDB MaxDB Leaving Level 4 Node MaxDB
Entering Level 4 Node Message Server Message Server Leaving Level 4 Node Message Server
Entering Level 4 Node Migration Migration Leaving Level 4 Node Migration
Entering Level 4 Node Monitoring Monitoring Leaving Level 4 Node Monitoring
Entering Level 4 Node Multi-Processor Configuration Multi-Processor Configuration Leaving Level 4 Node Multi-Processor Configuration
Entering Level 4 Node N N Leaving Level 4 Node N
Entering Level 4 Node Naming Conventions Naming Conventions Leaving Level 4 Node Naming Conventions
Entering Level 4 Node Network Network Leaving Level 4 Node Network
Entering Level 4 Node O O Leaving Level 4 Node O
Entering Level 4 Node ODBC Interface ODBC Interface Leaving Level 4 Node ODBC Interface
Entering Level 4 Node OLTP (MaxDB) OLTP (MaxDB) Leaving Level 4 Node OLTP (MaxDB)
Entering Level 4 Node OMS OMS Leaving Level 4 Node OMS
Entering Level 4 Node OMS Heap OMS Heap Leaving Level 4 Node OMS Heap
Entering Level 4 Node OMS Version OMS Version Leaving Level 4 Node OMS Version
Entering Level 4 Node Open Source Development Open Source Development Leaving Level 4 Node Open Source Development
Entering Level 4 Node Operating System User Operating System User Leaving Level 4 Node Operating System User
Entering Level 4 Node Operating Mode Operating Mode Leaving Level 4 Node Operating Mode
Entering Level 4 Node Operational State Operational State Leaving Level 4 Node Operational State
Entering Level 4 Node Optimistic Lock Optimistic Lock Leaving Level 4 Node Optimistic Lock
Entering Level 4 Node Optimizer Optimizer Leaving Level 4 Node Optimizer
Entering Level 4 Node Overwrite Mode for the Log Area Overwrite Mode for the Log Area Leaving Level 4 Node Overwrite Mode for the Log Area
Entering Level 4 Node Owner Owner Leaving Level 4 Node Owner
Entering Level 4 Node P P Leaving Level 4 Node P
Entering Level 4 Node Page Page Leaving Level 4 Node Page
Entering Level 4 Node Page Chain Page Chain Leaving Level 4 Node Page Chain
Entering Level 4 Node Page Number Page Number Leaving Level 4 Node Page Number
Entering Level 4 Node Pager Pager Leaving Level 4 Node Pager
Entering Level 4 Node Parameter Parameter Leaving Level 4 Node Parameter
Entering Level 4 Node Parameter File Parameter File Leaving Level 4 Node Parameter File
Entering Level 4 Node Parameters in SQL Statements Parameters in SQL Statements Leaving Level 4 Node Parameters in SQL Statements
Entering Level 4 Node Performance Performance Leaving Level 4 Node Performance
Entering Level 4 Node Perl Interface Perl Interface Leaving Level 4 Node Perl Interface
Entering Level 4 Node PHP Interface PHP Interface Leaving Level 4 Node PHP Interface
Entering Level 4 Node Port Port Leaving Level 4 Node Port
Entering Level 4 Node Precompiler Precompiler Leaving Level 4 Node Precompiler
Entering Level 4 Node Prepared Statement Prepared Statement Leaving Level 4 Node Prepared Statement
Entering Level 4 Node Primary Key Primary Key Leaving Level 4 Node Primary Key
Entering Level 4 Node Privilege Privilege Leaving Level 4 Node Privilege
Entering Level 4 Node Process Process Leaving Level 4 Node Process
Entering Level 4 Node Programming Interface Programming Interface Leaving Level 4 Node Programming Interface
Entering Level 4 Node PTS (Problem Tracking System) PTS (Problem Tracking System) Leaving Level 4 Node PTS (Problem Tracking System)
Entering Level 4 Node Python Interface Python Interface Leaving Level 4 Node Python Interface
Entering Level 4 Node Q Q Leaving Level 4 Node Q
Entering Level 4 Node Query Tool Query Tool Leaving Level 4 Node Query Tool
Entering Level 4 Node R R Leaving Level 4 Node R
Entering Level 4 Node Reader-Writer Lock Reader-Writer Lock Leaving Level 4 Node Reader-Writer Lock
Entering Level 4 Node Redo List Redo List Leaving Level 4 Node Redo List
Entering Level 4 Node Redo Log Entry Redo Log Entry Leaving Level 4 Node Redo Log Entry
Entering Level 4 Node Redo Log File Redo Log File Leaving Level 4 Node Redo Log File
Entering Level 4 Node Redo Log Management Redo Log Management Leaving Level 4 Node Redo Log Management
Entering Level 4 Node Redo Log Manager Redo Log Manager Leaving Level 4 Node Redo Log Manager
Entering Level 4 Node Redo Task Redo Task Leaving Level 4 Node Redo Task
Entering Level 4 Node Region Region Leaving Level 4 Node Region
Entering Level 4 Node Reorganization Reorganization Leaving Level 4 Node Reorganization
Entering Level 4 Node Replication Replication Leaving Level 4 Node Replication
Entering Level 4 Node Replication Table Replication Table Leaving Level 4 Node Replication Table
Entering Level 4 Node Replication Unit Replication Unit Leaving Level 4 Node Replication Unit
Entering Level 4 Node RESOURCE User RESOURCE User Leaving Level 4 Node RESOURCE User
Entering Level 4 Node Resource Monitor Resource Monitor Leaving Level 4 Node Resource Monitor
Entering Level 4 Node Restart Restart Leaving Level 4 Node Restart
Entering Level 4 Node Restart Record Restart Record Leaving Level 4 Node Restart Record
Entering Level 4 Node Restore Restore Leaving Level 4 Node Restore
Entering Level 4 Node Role Role Leaving Level 4 Node Role
Entering Level 4 Node ROLLBACK ROLLBACK Leaving Level 4 Node ROLLBACK
Entering Level 4 Node ROLL FORWARD ROLL FORWARD Leaving Level 4 Node ROLL FORWARD
Entering Level 4 Node Row Row Leaving Level 4 Node Row
Entering Level 4 Node S S Leaving Level 4 Node S
Entering Level 4 Node SAP DB SAP DB Leaving Level 4 Node SAP DB
Entering Level 4 Node Savepoint Savepoint Leaving Level 4 Node Savepoint
Entering Level 4 Node Scheduler Scheduler Leaving Level 4 Node Scheduler
Entering Level 4 Node Schema Schema Leaving Level 4 Node Schema
Entering Level 4 Node sdb sdb Leaving Level 4 Node sdb
Entering Level 4 Node sdba sdba Leaving Level 4 Node sdba
Entering Level 4 Node Search Strategy Search Strategy Leaving Level 4 Node Search Strategy
Entering Level 4 Node Secondary Key Secondary Key Leaving Level 4 Node Secondary Key
Entering Level 4 Node Selectivity Selectivity Leaving Level 4 Node Selectivity
Entering Level 4 Node Separator Separator Leaving Level 4 Node Separator
Entering Level 4 Node Sequence Sequence Leaving Level 4 Node Sequence
Entering Level 4 Node Sequence Cache Sequence Cache Leaving Level 4 Node Sequence Cache
Entering Level 4 Node Server Authorization Server Authorization Leaving Level 4 Node Server Authorization
Entering Level 4 Node Server Task Server Task Leaving Level 4 Node Server Task
Entering Level 4 Node Service Service Leaving Level 4 Node Service
Entering Level 4 Node Service Database Instance Service Database Instance Leaving Level 4 Node Service Database Instance
Entering Level 4 Node Service Session Service Session Leaving Level 4 Node Service Session
Entering Level 4 Node Shared Memory Shared Memory Leaving Level 4 Node Shared Memory
Entering Level 4 Node Shared SQL Shared SQL Leaving Level 4 Node Shared SQL
Entering Level 4 Node Shared Lock Shared Lock Leaving Level 4 Node Shared Lock
Entering Level 4 Node Snapshot Snapshot Leaving Level 4 Node Snapshot
Entering Level 4 Node Software Component Software Component Leaving Level 4 Node Software Component
Entering Level 4 Node Special Thread Special Thread Leaving Level 4 Node Special Thread
Entering Level 4 Node SQL SQL Leaving Level 4 Node SQL
Entering Level 4 Node SQLCLI SQLCLI Leaving Level 4 Node SQLCLI
Entering Level 4 Node SQLDBC SQLDBC Leaving Level 4 Node SQLDBC
Entering Level 4 Node SQL Mode SQL Mode Leaving Level 4 Node SQL Mode
Entering Level 4 Node SQL Optimizer SQL Optimizer Leaving Level 4 Node SQL Optimizer
Entering Level 4 Node SQL Sessions SQL Sessions Leaving Level 4 Node SQL Sessions
Entering Level 4 Node SQL Statement SQL Statement Leaving Level 4 Node SQL Statement
Entering Level 4 Node SQL Studio SQL Studio Leaving Level 4 Node SQL Studio
Entering Level 4 Node SQL Tutorial SQL Tutorial Leaving Level 4 Node SQL Tutorial
Entering Level 4 Node SSL/TLS SSL/TLS Leaving Level 4 Node SSL/TLS
Entering Level 4 Node STANDARD User STANDARD User Leaving Level 4 Node STANDARD User
Entering Level 4 Node Standby Database Standby Database Leaving Level 4 Node Standby Database
Entering Level 4 Node Start Start Leaving Level 4 Node Start
Entering Level 4 Node Statistics Statistics Leaving Level 4 Node Statistics
Entering Level 4 Node Stored Procedure Stored Procedure Leaving Level 4 Node Stored Procedure
Entering Level 4 Node Subtransaction Subtransaction Leaving Level 4 Node Subtransaction
Entering Level 4 Node Support Support Leaving Level 4 Node Support
Entering Level 4 Node Synchronization Synchronization Leaving Level 4 Node Synchronization
Entering Level 4 Node Synchronization Manager Synchronization Manager Leaving Level 4 Node Synchronization Manager
Entering Level 4 Node Synchronization User Synchronization User Leaving Level 4 Node Synchronization User
Entering Level 4 Node Synonym Synonym Leaving Level 4 Node Synonym
Entering Level 4 Node Syntax Notation Syntax Notation Leaving Level 4 Node Syntax Notation
Entering Level 4 Node SYSDBA User SYSDBA User Leaving Level 4 Node SYSDBA User
Entering Level 4 Node System Copy System Copy Leaving Level 4 Node System Copy
Entering Level 4 Node System Breakdown System Breakdown Leaving Level 4 Node System Breakdown
Entering Level 4 Node System Table System Table Leaving Level 4 Node System Table
Entering Level 4 Node System Trigger System Trigger Leaving Level 4 Node System Trigger
Entering Level 4 Node T T Leaving Level 4 Node T
Entering Level 4 Node Table Table Leaving Level 4 Node Table
Entering Level 4 Node Table ID Table ID Leaving Level 4 Node Table ID
Entering Level 4 Node Table Name Table Name Leaving Level 4 Node Table Name
Entering Level 4 Node Task Task Leaving Level 4 Node Task
Entering Level 4 Node Task State Task State Leaving Level 4 Node Task State
Entering Level 4 Node Thread Thread Leaving Level 4 Node Thread
Entering Level 4 Node Timer Task Timer Task Leaving Level 4 Node Timer Task
Entering Level 4 Node Timeout Value Timeout Value Leaving Level 4 Node Timeout Value
Entering Level 4 Node Trace Trace Leaving Level 4 Node Trace
Entering Level 4 Node Trace Writer Task Trace Writer Task Leaving Level 4 Node Trace Writer Task
Entering Level 4 Node Transaction Transaction Leaving Level 4 Node Transaction
Entering Level 4 Node Transaction File Transaction File Leaving Level 4 Node Transaction File
Entering Level 4 Node Transaction List Transaction List Leaving Level 4 Node Transaction List
Entering Level 4 Node Trigger Trigger Leaving Level 4 Node Trigger
Entering Level 4 Node Troubleshooting Troubleshooting Leaving Level 4 Node Troubleshooting
Entering Level 4 Node Tutorial Tutorial Leaving Level 4 Node Tutorial
Entering Level 4 Node U U Leaving Level 4 Node U
Entering Level 4 Node Undo Log Entry Undo Log Entry Leaving Level 4 Node Undo Log Entry
Entering Level 4 Node Undo Log File Undo Log File Leaving Level 4 Node Undo Log File
Entering Level 4 Node UNICODE UNICODE Leaving Level 4 Node UNICODE
Entering Level 4 Node Unloading Unloading Leaving Level 4 Node Unloading
Entering Level 4 Node Update Update Leaving Level 4 Node Update
Entering Level 4 Node Upgrade Upgrade Leaving Level 4 Node Upgrade
Entering Level 4 Node User User Leaving Level 4 Node User
Entering Level 4 Node User-Defined Function User-Defined Function Leaving Level 4 Node User-Defined Function
Entering Level 4 Node User Group User Group Leaving Level 4 Node User Group
Entering Level 4 Node User Kernel Thread User Kernel Thread Leaving Level 4 Node User Kernel Thread
Entering Level 4 Node User Key User Key Leaving Level 4 Node User Key
Entering Level 4 Node User Task User Task Leaving Level 4 Node User Task
Entering Level 4 Node Utility Task Utility Task Leaving Level 4 Node Utility Task
Entering Level 4 Node V V Leaving Level 4 Node V
Entering Level 4 Node Domain Domain Leaving Level 4 Node Domain
Entering Level 4 Node Variable Variable Leaving Level 4 Node Variable
Entering Level 4 Node Version Version Leaving Level 4 Node Version
Entering Level 4 Node Version File for Log Backup Version File for Log Backup Leaving Level 4 Node Version File for Log Backup
Entering Level 4 Node View View Leaving Level 4 Node View
Entering Level 4 Node View Table View Table Leaving Level 4 Node View Table
Entering Level 4 Node VMAKE VMAKE Leaving Level 4 Node VMAKE
Entering Level 4 Node Volume Volume Leaving Level 4 Node Volume
Entering Level 4 Node vserver vserver Leaving Level 4 Node vserver
Entering Level 4 Node vtrace vtrace Leaving Level 4 Node vtrace
Entering Level 4 Node W W Leaving Level 4 Node W
Entering Level 4 Node WebDAV WebDAV Leaving Level 4 Node WebDAV
Entering Level 4 Node Web DBM Web DBM Leaving Level 4 Node Web DBM
Entering Level 4 Node Web Server Web Server Leaving Level 4 Node Web Server
Entering Level 4 Node Web Server Manager Web Server Manager Leaving Level 4 Node Web Server Manager
Entering Level 4 Node Web SQL Web SQL Leaving Level 4 Node Web SQL
Entering Level 4 Node Web Tool Web Tool Leaving Level 4 Node Web Tool
Entering Level 4 Node Run Directory Run Directory Leaving Level 4 Node Run Directory
Entering Level 4 Node X X Leaving Level 4 Node X
Entering Level 4 Node XCONS (Database Console) XCONS (Database Console) Leaving Level 4 Node XCONS (Database Console)
Entering Level 4 Node X Server X Server Leaving Level 4 Node X Server
Entering Level 4 Node XUSER XUSER Leaving Level 4 Node XUSER
Entering Level 4 Node Y Y Leaving Level 4 Node Y
Entering Level 4 Node Z Z Leaving Level 4 Node Z
Entering Level 4 Node Glossary in German / Deutsche Sortierung - Glossar
Entering Level 3 Node SQL Tutorial SQL Tutorial Leaving Level 3 Node SQL Tutorial
Entering Level 4 Node HOTEL Demo Schema for the SQL Tutorial HOTEL Demo Schema for the SQL Tutorial Leaving Level 4 Node HOTEL Demo Schema for the SQL Tutorial
Entering Level 5 Node SQL Statements for the HOTEL Schema SQL Statements for the HOTEL Schema Leaving Level 5 Node SQL Statements for the HOTEL Schema
Entering Level 5 Node Explanation of the Tables in the HOTEL Schema Explanation of the Tables in the HOTEL Schema Leaving Level 5 Node Explanation of the Tables in the HOTEL Schema
Entering Level 6 Node Explanation of the Objects in the HOTEL Schema Explanation of the Objects in the HOTEL Schema Leaving Level 6 Node Explanation of the Objects in the HOTEL Schema
Entering Level 4 Node Data Query Data Query Leaving Level 4 Node Data Query
Entering Level 5 Node Selecting, Arranging, and Renaming Columns Selecting, Arranging, and Renaming Columns Leaving Level 5 Node Selecting, Arranging, and Renaming Columns
Entering Level 5 Node Selecting and Arranging Rows Selecting and Arranging Rows Leaving Level 5 Node Selecting and Arranging Rows
Entering Level 5 Node Conditions: Comparison, AND, OR, BETWEEN, IN Conditions: Comparison, AND, OR, BETWEEN, IN Leaving Level 5 Node Conditions: Comparison, AND, OR, BETWEEN, IN
Entering Level 5 Node Searching for Character Strings: LIKE Searching for Character Strings: LIKE Leaving Level 5 Node Searching for Character Strings: LIKE
Entering Level 5 Node Negative Conditions: NOT Negative Conditions: NOT Leaving Level 5 Node Negative Conditions: NOT
Entering Level 5 Node Creating Groups: GROUP BY, HAVING Creating Groups: GROUP BY, HAVING Leaving Level 5 Node Creating Groups: GROUP BY, HAVING
Entering Level 5 Node Arithmetic Operations Arithmetic Operations Leaving Level 5 Node Arithmetic Operations
Entering Level 5 Node Functions Functions Leaving Level 5 Node Functions
Entering Level 5 Node Set Functions Set Functions Leaving Level 5 Node Set Functions
Entering Level 5 Node Date and Time Calculations Date and Time Calculations Leaving Level 5 Node Date and Time Calculations
Entering Level 5 Node Converting Values Converting Values Leaving Level 5 Node Converting Values
Entering Level 5 Node Changing Character Strings Changing Character Strings Leaving Level 5 Node Changing Character Strings
Entering Level 5 Node Information About Character Strings Information About Character Strings Leaving Level 5 Node Information About Character Strings
Entering Level 5 Node Subquery: Internal Queries Subquery: Internal Queries Leaving Level 5 Node Subquery: Internal Queries
Entering Level 5 Node Joins: Information from Several Tables Joins: Information from Several Tables Leaving Level 5 Node Joins: Information from Several Tables
Entering Level 5 Node Set Operations: UNION, INTERSECT, EXCEPT Set Operations: UNION, INTERSECT, EXCEPT Leaving Level 5 Node Set Operations: UNION, INTERSECT, EXCEPT
Entering Level 4 Node Data Definition Data Definition Leaving Level 4 Node Data Definition
Entering Level 5 Node Tables Tables Leaving Level 5 Node Tables
Entering Level 5 Node Constraints Constraints Leaving Level 5 Node Constraints
Entering Level 5 Node Primary Key Primary Key Leaving Level 5 Node Primary Key
Entering Level 5 Node Foreign Key Dependencies Between Tables Foreign Key Dependencies Between Tables Leaving Level 5 Node Foreign Key Dependencies Between Tables
Entering Level 5 Node View Tables View Tables Leaving Level 5 Node View Tables
Entering Level 5 Node Indexes Indexes Leaving Level 5 Node Indexes
Entering Level 5 Node Domains Domains Leaving Level 5 Node Domains
Entering Level 5 Node Database Procedures Database Procedures Leaving Level 5 Node Database Procedures
Entering Level 5 Node Database Functions Database Functions Leaving Level 5 Node Database Functions
Entering Level 5 Node Database Triggers Database Triggers Leaving Level 5 Node Database Triggers
Entering Level 5 Node Number Generators for Tables Number Generators for Tables Leaving Level 5 Node Number Generators for Tables
Entering Level 5 Node Number Generator for a Single Table Column Number Generator for a Single Table Column Leaving Level 5 Node Number Generator for a Single Table Column
Entering Level 4 Node Data Manipulation Data Manipulation Leaving Level 4 Node Data Manipulation
Entering Level 5 Node Inserting, Changing, and Deleting Rows Inserting, Changing, and Deleting Rows Leaving Level 5 Node Inserting, Changing, and Deleting Rows
Entering Level 4 Node Authorization Authorization Leaving Level 4 Node Authorization
Entering Level 5 Node Database Users and Their Privileges Database Users and Their Privileges Leaving Level 5 Node Database Users and Their Privileges
Entering Level 5 Node Roles Roles Leaving Level 5 Node Roles
Entering Level 4 Node Evaluating System Tables (Examples) Evaluating System Tables (Examples) Leaving Level 4 Node Evaluating System Tables (Examples)
Entering Level 3 Node Reference Manual Reference Manual Leaving Level 3 Node Reference Manual
Entering Level 4 Node Data definition Data definition Leaving Level 4 Node Data definition
Entering Level 5 Node Ensuring Data Integrity Ensuring Data Integrity Leaving Level 5 Node Ensuring Data Integrity
Entering Level 5 Node CREATE TABLE statement CREATE TABLE statement Leaving Level 5 Node CREATE TABLE statement
Entering Level 6 Node Column Definition (column_definition) Column Definition (column_definition) Leaving Level 6 Node Column Definition (column_definition)
Entering Level 7 Node Data Type (data_type) Data Type (data_type) Leaving Level 7 Node Data Type (data_type)
Entering Level 8 Node CHAR[ACTER] CHAR[ACTER] Leaving Level 8 Node CHAR[ACTER]
Entering Level 8 Node VARCHAR VARCHAR Leaving Level 8 Node VARCHAR
Entering Level 8 Node LONG[VARCHAR] LONG[VARCHAR] Leaving Level 8 Node LONG[VARCHAR]
Entering Level 8 Node Code Attribute Code Attribute Leaving Level 8 Node Code Attribute
Entering Level 8 Node BOOLEAN BOOLEAN Leaving Level 8 Node BOOLEAN
Entering Level 8 Node FIXED FIXED Leaving Level 8 Node FIXED
Entering Level 8 Node FLOAT FLOAT Leaving Level 8 Node FLOAT
Entering Level 8 Node INT[EGER] INT[EGER] Leaving Level 8 Node INT[EGER]
Entering Level 8 Node SMALLINT SMALLINT Leaving Level 8 Node SMALLINT
Entering Level 8 Node DATE (Date Value) DATE (Date Value) Leaving Level 8 Node DATE (Date Value)
Entering Level 8 Node TIME (Time Value) TIME (Time Value) Leaving Level 8 Node TIME (Time Value)
Entering Level 8 Node TIMESTAMP (Time Stamp Value) TIMESTAMP (Time Stamp Value) Leaving Level 8 Node TIMESTAMP (Time Stamp Value)
Entering Level 8 Node NULL Value NULL Value Leaving Level 8 Node NULL Value
Entering Level 8 Node Special NULL value Special NULL value Leaving Level 8 Node Special NULL value
Entering Level 8 Node Number Number Leaving Level 8 Node Number
Entering Level 8 Node Character String Character String Leaving Level 8 Node Character String
Entering Level 7 Node Column Attributes (column_attributes) Column Attributes (column_attributes) Leaving Level 7 Node Column Attributes (column_attributes)
Entering Level 6 Node CONSTRAINT definition CONSTRAINT definition Leaving Level 6 Node CONSTRAINT definition
Entering Level 6 Node Referential CONSTRAINT Definition (referential_constraint_defini Referential CONSTRAINT Definition (referential_constraint_defini Leaving Level 6 Node Referential CONSTRAINT Definition (referential_constraint_defini
Entering Level 6 Node Key definition Key definition Leaving Level 6 Node Key definition
Entering Level 6 Node UNIQUE Definition (unique_definition) UNIQUE Definition (unique_definition) Leaving Level 6 Node UNIQUE Definition (unique_definition)
Entering Level 5 Node DROP TABLE statement DROP TABLE statement Leaving Level 5 Node DROP TABLE statement
Entering Level 5 Node ALTER TABLE statement ALTER TABLE statement Leaving Level 5 Node ALTER TABLE statement
Entering Level 6 Node ADD Definition (add_definition) ADD Definition (add_definition) Leaving Level 6 Node ADD Definition (add_definition)
Entering Level 6 Node ALTER Definition (alter_definition) ALTER Definition (alter_definition) Leaving Level 6 Node ALTER Definition (alter_definition)
Entering Level 6 Node COLUMN Change Definition (column_change_definition) COLUMN Change Definition (column_change_definition) Leaving Level 6 Node COLUMN Change Definition (column_change_definition)
Entering Level 6 Node DROP definition DROP definition Leaving Level 6 Node DROP definition
Entering Level 6 Node MODIFY Definition (modify_definition) MODIFY Definition (modify_definition) Leaving Level 6 Node MODIFY Definition (modify_definition)
Entering Level 5 Node RENAME TABLE statement RENAME TABLE statement Leaving Level 5 Node RENAME TABLE statement
Entering Level 5 Node RENAME COLUMN Statement (rename_column_statement) RENAME COLUMN Statement (rename_column_statement) Leaving Level 5 Node RENAME COLUMN Statement (rename_column_statement)
Entering Level 5 Node EXISTS TABLE Statement (exists_table_statement) EXISTS TABLE Statement (exists_table_statement) Leaving Level 5 Node EXISTS TABLE Statement (exists_table_statement)
Entering Level 5 Node CREATE SCHEMA Statement (create_schema_statement) CREATE SCHEMA Statement (create_schema_statement) Leaving Level 5 Node CREATE SCHEMA Statement (create_schema_statement)
Entering Level 5 Node RENAME SCHEMA Statement (rename_schema_statement) RENAME SCHEMA Statement (rename_schema_statement) Leaving Level 5 Node RENAME SCHEMA Statement (rename_schema_statement)
Entering Level 5 Node DROP SCHEMA Statement (drop_schema_statement) DROP SCHEMA Statement (drop_schema_statement) Leaving Level 5 Node DROP SCHEMA Statement (drop_schema_statement)
Entering Level 5 Node CREATE DOMAIN statement CREATE DOMAIN statement Leaving Level 5 Node CREATE DOMAIN statement
Entering Level 5 Node DROP DOMAIN Statement (drop_domain_statement) DROP DOMAIN Statement (drop_domain_statement) Leaving Level 5 Node DROP DOMAIN Statement (drop_domain_statement)
Entering Level 5 Node CREATE SEQUENCE Statement (create_sequence_statement) CREATE SEQUENCE Statement (create_sequence_statement) Leaving Level 5 Node CREATE SEQUENCE Statement (create_sequence_statement)
Entering Level 5 Node DROP SEQUENCE statement) DROP SEQUENCE statement) Leaving Level 5 Node DROP SEQUENCE statement)
Entering Level 5 Node CREATE SYNONYM Statement (create_synonym_statement) CREATE SYNONYM Statement (create_synonym_statement) Leaving Level 5 Node CREATE SYNONYM Statement (create_synonym_statement)
Entering Level 5 Node DROP SYNONYM Statement (drop_synonym_statement) DROP SYNONYM Statement (drop_synonym_statement) Leaving Level 5 Node DROP SYNONYM Statement (drop_synonym_statement)
Entering Level 5 Node RENAME SYNONYM Statement (rename_synonym_statement) RENAME SYNONYM Statement (rename_synonym_statement) Leaving Level 5 Node RENAME SYNONYM Statement (rename_synonym_statement)
Entering Level 5 Node CREATE VIEW Statement (create_view_statement) CREATE VIEW Statement (create_view_statement) Leaving Level 5 Node CREATE VIEW Statement (create_view_statement)
Entering Level 6 Node INSERT/UPDATE/DELETE Privilege for Owners of View Tables INSERT/UPDATE/DELETE Privilege for Owners of View Tables Leaving Level 6 Node INSERT/UPDATE/DELETE Privilege for Owners of View Tables
Entering Level 6 Node Updateable Join View Table Updateable Join View Table Leaving Level 6 Node Updateable Join View Table
Entering Level 5 Node DROP VIEW Statement (drop_view_statement) DROP VIEW Statement (drop_view_statement) Leaving Level 5 Node DROP VIEW Statement (drop_view_statement)
Entering Level 5 Node RENAME VIEW Statement (rename_view_statement) RENAME VIEW Statement (rename_view_statement) Leaving Level 5 Node RENAME VIEW Statement (rename_view_statement)
Entering Level 5 Node CREATE INDEX Statement (create_index_statement) CREATE INDEX Statement (create_index_statement) Leaving Level 5 Node CREATE INDEX Statement (create_index_statement)
Entering Level 5 Node DROP INDEX statement DROP INDEX statement Leaving Level 5 Node DROP INDEX statement
Entering Level 5 Node ALTER INDEX Statement (alter_index_statement) ALTER INDEX Statement (alter_index_statement) Leaving Level 5 Node ALTER INDEX Statement (alter_index_statement)
Entering Level 5 Node RENAME INDEX Statement (rename_index_statement) RENAME INDEX Statement (rename_index_statement) Leaving Level 5 Node RENAME INDEX Statement (rename_index_statement)
Entering Level 5 Node CREATE DBPROC[EDURE] Statement (create_dbproc_statement) CREATE DBPROC[EDURE] Statement (create_dbproc_statement) Leaving Level 5 Node CREATE DBPROC[EDURE] Statement (create_dbproc_statement)
Entering Level 6 Node Routine (routine) Routine (routine) Leaving Level 6 Node Routine (routine)
Entering Level 6 Node General CASE Statement (searched_case_statement) General CASE Statement (searched_case_statement) Leaving Level 6 Node General CASE Statement (searched_case_statement)
Entering Level 6 Node Simple CASE Statement (simple_case_statement) Simple CASE Statement (simple_case_statement) Leaving Level 6 Node Simple CASE Statement (simple_case_statement)
Entering Level 5 Node DROP DBPROC[EDURE] Statement (drop_dbproc_statement) DROP DBPROC[EDURE] Statement (drop_dbproc_statement) Leaving Level 5 Node DROP DBPROC[EDURE] Statement (drop_dbproc_statement)
Entering Level 5 Node CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement Leaving Level 5 Node CREATE SYSTEM TRIGGER Statement (create_system_trigger_statement
Entering Level 5 Node DROP SYSTEM TRIGGER Statement (drop_system_trigger_statement) DROP SYSTEM TRIGGER Statement (drop_system_trigger_statement) Leaving Level 5 Node DROP SYSTEM TRIGGER Statement (drop_system_trigger_statement)
Entering Level 5 Node CREATE FUNCTION Statement (create_function_statement) CREATE FUNCTION Statement (create_function_statement) Leaving Level 5 Node CREATE FUNCTION Statement (create_function_statement)
Entering Level 5 Node DROP FUNCTION Statement (drop_function_statement) DROP FUNCTION Statement (drop_function_statement) Leaving Level 5 Node DROP FUNCTION Statement (drop_function_statement)
Entering Level 5 Node CREATE TRIGGER Statement (create_trigger_statement) CREATE TRIGGER Statement (create_trigger_statement) Leaving Level 5 Node CREATE TRIGGER Statement (create_trigger_statement)
Entering Level 5 Node DROP TRIGGER statement DROP TRIGGER statement Leaving Level 5 Node DROP TRIGGER statement
Entering Level 5 Node COMMENT ON Statement (comment_on_statement) COMMENT ON Statement (comment_on_statement) Leaving Level 5 Node COMMENT ON Statement (comment_on_statement)
Entering Level 4 Node Authorization Authorization Leaving Level 4 Node Authorization
Entering Level 5 Node CREATE USER Statement (create_user_statement) CREATE USER Statement (create_user_statement) Leaving Level 5 Node CREATE USER Statement (create_user_statement)
Entering Level 5 Node CREATE USERGROUP Statement (create_usergroup_statement) CREATE USERGROUP Statement (create_usergroup_statement) Leaving Level 5 Node CREATE USERGROUP Statement (create_usergroup_statement)
Entering Level 5 Node DROP USER Statement (drop_user_statement) DROP USER Statement (drop_user_statement) Leaving Level 5 Node DROP USER Statement (drop_user_statement)
Entering Level 5 Node DROP USERGROUP Statement (drop_usergroup_statement) DROP USERGROUP Statement (drop_usergroup_statement) Leaving Level 5 Node DROP USERGROUP Statement (drop_usergroup_statement)
Entering Level 5 Node ALTER USER Statement (alter_user_statement) ALTER USER Statement (alter_user_statement) Leaving Level 5 Node ALTER USER Statement (alter_user_statement)
Entering Level 5 Node ALTER USER GROUP Statement (alter_usergroup_statement) ALTER USER GROUP Statement (alter_usergroup_statement) Leaving Level 5 Node ALTER USER GROUP Statement (alter_usergroup_statement)
Entering Level 5 Node RENAME USER statement RENAME USER statement Leaving Level 5 Node RENAME USER statement
Entering Level 5 Node RENAME USERGROUP Statement (rename_usergroup_statement) RENAME USERGROUP Statement (rename_usergroup_statement) Leaving Level 5 Node RENAME USERGROUP Statement (rename_usergroup_statement)
Entering Level 5 Node GRANT USER Statement (grant_user_statement) GRANT USER Statement (grant_user_statement) Leaving Level 5 Node GRANT USER Statement (grant_user_statement)
Entering Level 5 Node GRANT USERGROUP Statement (grant_usergroup_statement) GRANT USERGROUP Statement (grant_usergroup_statement) Leaving Level 5 Node GRANT USERGROUP Statement (grant_usergroup_statement)
Entering Level 5 Node ALTER PASSWORD Statement ALTER PASSWORD Statement Leaving Level 5 Node ALTER PASSWORD Statement
Entering Level 5 Node CREATE ROLE statement CREATE ROLE statement Leaving Level 5 Node CREATE ROLE statement
Entering Level 5 Node DROP ROLE statement DROP ROLE statement Leaving Level 5 Node DROP ROLE statement
Entering Level 5 Node GRANT statement GRANT statement Leaving Level 5 Node GRANT statement
Entering Level 5 Node REVOKE statement REVOKE statement Leaving Level 5 Node REVOKE statement
Entering Level 4 Node Data Manipulation Data Manipulation Leaving Level 4 Node Data Manipulation
Entering Level 5 Node INSERT Statement (insert_statement) INSERT Statement (insert_statement) Leaving Level 5 Node INSERT Statement (insert_statement)
Entering Level 6 Node Data Type of the Target Column and Inserted Value Data Type of the Target Column and Inserted Value Leaving Level 6 Node Data Type of the Target Column and Inserted Value
Entering Level 6 Node Join View Table, QUERY Expression, CONSTRAINT Definition, Trigge Join View Table, QUERY Expression, CONSTRAINT Definition, Trigge Leaving Level 6 Node Join View Table, QUERY Expression, CONSTRAINT Definition, Trigge
Entering Level 5 Node UPDATE Statement (update_statement) UPDATE Statement (update_statement) Leaving Level 5 Node UPDATE Statement (update_statement)
Entering Level 5 Node DELETE Statement (delete_statement) DELETE Statement (delete_statement) Leaving Level 5 Node DELETE Statement (delete_statement)
Entering Level 5 Node NEXT STAMP Statement (next_stamp_statement) NEXT STAMP Statement (next_stamp_statement) Leaving Level 5 Node NEXT STAMP Statement (next_stamp_statement)
Entering Level 5 Node CALL statement CALL statement Leaving Level 5 Node CALL statement
Entering Level 4 Node Data query Data query Leaving Level 4 Node Data query
Entering Level 5 Node QUERY Statement (query statement) QUERY Statement (query statement) Leaving Level 5 Node QUERY Statement (query statement)
Entering Level 6 Node DECLARE CURSOR statement (declare_cursor_statement) DECLARE CURSOR statement (declare_cursor_statement) Leaving Level 6 Node DECLARE CURSOR statement (declare_cursor_statement)
Entering Level 6 Node Recursive DECLARE CURSOR Statement Recursive DECLARE CURSOR Statement Leaving Level 6 Node Recursive DECLARE CURSOR Statement
Entering Level 6 Node SELECT Statement (select_statement) SELECT Statement (select_statement) Leaving Level 6 Node SELECT Statement (select_statement)
Entering Level 6 Node QUERY expression (query expression) QUERY expression (query expression) Leaving Level 6 Node QUERY expression (query expression)
Entering Level 6 Node Table Expression (table_expression) Table Expression (table_expression) Leaving Level 6 Node Table Expression (table_expression)
Entering Level 6 Node Subquery (subquery) Subquery (subquery) Leaving Level 6 Node Subquery (subquery)
Entering Level 6 Node ORDER clause ORDER clause Leaving Level 6 Node ORDER clause
Entering Level 6 Node UPDATE Clause (update_clause) UPDATE Clause (update_clause) Leaving Level 6 Node UPDATE Clause (update_clause)
Entering Level 6 Node LOCK Option (lock_option) LOCK Option (lock_option) Leaving Level 6 Node LOCK Option (lock_option)
Entering Level 5 Node FETCH Statement (fetch_statement) FETCH Statement (fetch_statement) Leaving Level 5 Node FETCH Statement (fetch_statement)
Entering Level 5 Node CLOSE Statement (close_statement) CLOSE Statement (close_statement) Leaving Level 5 Node CLOSE Statement (close_statement)
Entering Level 5 Node SINGLE SELECT statement (single_select_statement) SINGLE SELECT statement (single_select_statement) Leaving Level 5 Node SINGLE SELECT statement (single_select_statement)
Entering Level 5 Node EXPLAIN Statement (explain_statement) EXPLAIN Statement (explain_statement) Leaving Level 5 Node EXPLAIN Statement (explain_statement)
Entering Level 4 Node Transactions Transactions Leaving Level 4 Node Transactions
Entering Level 5 Node CONNECT Statement (connect_statement) CONNECT Statement (connect_statement) Leaving Level 5 Node CONNECT Statement (connect_statement)
Entering Level 5 Node SET Statement (set_statement) SET Statement (set_statement) Leaving Level 5 Node SET Statement (set_statement)
Entering Level 5 Node COMMIT Statement (commit_statement) COMMIT Statement (commit_statement) Leaving Level 5 Node COMMIT Statement (commit_statement)
Entering Level 5 Node ROLLBACK Statement (rollback_statement) ROLLBACK Statement (rollback_statement) Leaving Level 5 Node ROLLBACK Statement (rollback_statement)
Entering Level 5 Node SUBTRANS Statement (subtrans_statement) SUBTRANS Statement (subtrans_statement) Leaving Level 5 Node SUBTRANS Statement (subtrans_statement)
Entering Level 5 Node SAVEPOINT/ROLLBACK TO Statement (savepoint/rollback_to_statement SAVEPOINT/ROLLBACK TO Statement (savepoint/rollback_to_statement Leaving Level 5 Node SAVEPOINT/ROLLBACK TO Statement (savepoint/rollback_to_statement
Entering Level 5 Node LOCK Statement (lock_statement) LOCK Statement (lock_statement) Leaving Level 5 Node LOCK Statement (lock_statement)
Entering Level 5 Node UNLOCK Statement (unlock_statement) UNLOCK Statement (unlock_statement) Leaving Level 5 Node UNLOCK Statement (unlock_statement)
Entering Level 5 Node RELEASE Statement (release_statement) RELEASE Statement (release_statement) Leaving Level 5 Node RELEASE Statement (release_statement)
Entering Level 4 Node Statistics Statistics Leaving Level 4 Node Statistics
Entering Level 5 Node UPDATE STATISTICS Statement (update_statistics_statement) UPDATE STATISTICS Statement (update_statistics_statement) Leaving Level 5 Node UPDATE STATISTICS Statement (update_statistics_statement)
Entering Level 5 Node MONITOR Statement (monitor_statement) MONITOR Statement (monitor_statement) Leaving Level 5 Node MONITOR Statement (monitor_statement)
Entering Level 4 Node SQL Statements: Overview SQL Statements: Overview Leaving Level 4 Node SQL Statements: Overview
Entering Level 5 Node Comment (sql_comment) Comment (sql_comment) Leaving Level 5 Node Comment (sql_comment)
Entering Level 4 Node Frequently Used Syntax Elements: Overview Frequently Used Syntax Elements: Overview Leaving Level 4 Node Frequently Used Syntax Elements: Overview
Entering Level 5 Node CASCADE Option (cascade_option) CASCADE Option (cascade_option) Leaving Level 5 Node CASCADE Option (cascade_option)
Entering Level 5 Node Character Character Leaving Level 5 Node Character
Entering Level 5 Node Column Specification (column spec) Column Specification (column spec) Leaving Level 5 Node Column Specification (column spec)
Entering Level 5 Node DEFAULT Specification (default_spec) DEFAULT Specification (default_spec) Leaving Level 5 Node DEFAULT Specification (default_spec)
Entering Level 5 Node DELETE Rule (delete_rule) DELETE Rule (delete_rule) Leaving Level 5 Node DELETE Rule (delete_rule)
Entering Level 5 Node DISTINCT function (distinct spec) DISTINCT function (distinct spec) Leaving Level 5 Node DISTINCT function (distinct spec)
Entering Level 5 Node DUPLICATES Clause (duplicates_clause) DUPLICATES Clause (duplicates_clause) Leaving Level 5 Node DUPLICATES Clause (duplicates_clause)
Entering Level 5 Node Expression Expression Leaving Level 5 Node Expression
Entering Level 5 Node Specifications of Values (extended_value_spec) Specifications of Values (extended_value_spec) Leaving Level 5 Node Specifications of Values (extended_value_spec)
Entering Level 5 Node Function (function spec) Function (function spec) Leaving Level 5 Node Function (function spec)
Entering Level 6 Node Arithmetic Function (arithmetic_function) Arithmetic Function (arithmetic_function) Leaving Level 6 Node Arithmetic Function (arithmetic_function)
Entering Level 7 Node ABS(a) ABS(a) Leaving Level 7 Node ABS(a)
Entering Level 7 Node CEIL(a) CEIL(a) Leaving Level 7 Node CEIL(a)
Entering Level 7 Node EXP(a) EXP(a) Leaving Level 7 Node EXP(a)
Entering Level 7 Node FIXED(a,p,s) FIXED(a,p,s) Leaving Level 7 Node FIXED(a,p,s)
Entering Level 7 Node FLOAT(a,s) FLOAT(a,s) Leaving Level 7 Node FLOAT(a,s)
Entering Level 7 Node FLOOR(a) FLOOR(a) Leaving Level 7 Node FLOOR(a)
Entering Level 7 Node INDEX(a,b,p,s) INDEX(a,b,p,s) Leaving Level 7 Node INDEX(a,b,p,s)
Entering Level 7 Node LENGTH(a) LENGTH(a) Leaving Level 7 Node LENGTH(a)
Entering Level 7 Node LN(a) LN(a) Leaving Level 7 Node LN(a)
Entering Level 7 Node LOG(a,b) LOG(a,b) Leaving Level 7 Node LOG(a,b)
Entering Level 7 Node NOROUND(a) NOROUND(a) Leaving Level 7 Node NOROUND(a)
Entering Level 7 Node PI PI Leaving Level 7 Node PI
Entering Level 7 Node POWER(a,n) POWER(a,n) Leaving Level 7 Node POWER(a,n)
Entering Level 7 Node ROUND(a,n) ROUND(a,n) Leaving Level 7 Node ROUND(a,n)
Entering Level 7 Node SIGN(a) SIGN(a) Leaving Level 7 Node SIGN(a)
Entering Level 7 Node SQRT(a) SQRT(a) Leaving Level 7 Node SQRT(a)
Entering Level 7 Node TRUNC(a,n) TRUNC(a,n) Leaving Level 7 Node TRUNC(a,n)
Entering Level 6 Node Conversion Function (conversion_function) Conversion Function (conversion_function) Leaving Level 6 Node Conversion Function (conversion_function)
Entering Level 7 Node CHAR(a,t) CHAR(a,t) Leaving Level 7 Node CHAR(a,t)
Entering Level 7 Node CHR(a,n) CHR(a,n) Leaving Level 7 Node CHR(a,n)
Entering Level 7 Node HEX(a) HEX(a) Leaving Level 7 Node HEX(a)
Entering Level 7 Node HEXTORAW(a) HEXTORAW(a) Leaving Level 7 Node HEXTORAW(a)
Entering Level 7 Node NUM(a) NUM(a) Leaving Level 7 Node NUM(a)
Entering Level 7 Node Date and Time Format (datetimeformat) Date and Time Format (datetimeformat) Leaving Level 7 Node Date and Time Format (datetimeformat)
Entering Level 6 Node Date function Date function Leaving Level 6 Node Date function
Entering Level 7 Node ADDDATE/SUBDATE(t,a) ADDDATE/SUBDATE(t,a) Leaving Level 7 Node ADDDATE/SUBDATE(t,a)
Entering Level 7 Node DATEDIFF(t,s) DATEDIFF(t,s) Leaving Level 7 Node DATEDIFF(t,s)
Entering Level 7 Node DAYNAME/MONTHNAME(t) DAYNAME/MONTHNAME(t) Leaving Level 7 Node DAYNAME/MONTHNAME(t)
Entering Level 7 Node DAYOFWEEK/WEEKOFYEAR/DAYOFMONTH/DAYOFYEAR(t) DAYOFWEEK/WEEKOFYEAR/DAYOFMONTH/DAYOFYEAR(t) Leaving Level 7 Node DAYOFWEEK/WEEKOFYEAR/DAYOFMONTH/DAYOFYEAR(t)
Entering Level 7 Node MAKEDATE(a,b) MAKEDATE(a,b) Leaving Level 7 Node MAKEDATE(a,b)
Entering Level 6 Node Database Function Call (dbfunction_call) Database Function Call (dbfunction_call) Leaving Level 6 Node Database Function Call (dbfunction_call)
Entering Level 6 Node Extraction function Extraction function Leaving Level 6 Node Extraction function
Entering Level 7 Node DATE(a) DATE(a) Leaving Level 7 Node DATE(a)
Entering Level 7 Node HOUR/MINUTE/SECOND(t) HOUR/MINUTE/SECOND(t) Leaving Level 7 Node HOUR/MINUTE/SECOND(t)
Entering Level 7 Node MICROSECOND(a) MICROSECOND(a) Leaving Level 7 Node MICROSECOND(a)
Entering Level 7 Node TIME(a) TIME(a) Leaving Level 7 Node TIME(a)
Entering Level 7 Node TIMESTAMP(a,b) TIMESTAMP(a,b) Leaving Level 7 Node TIMESTAMP(a,b)
Entering Level 7 Node YEAR/MONTH/DAY(t) YEAR/MONTH/DAY(t) Leaving Level 7 Node YEAR/MONTH/DAY(t)
Entering Level 6 Node Special Function (special_function) Special Function (special_function) Leaving Level 6 Node Special Function (special_function)
Entering Level 7 Node DECODE(x,y(i),...,z) DECODE(x,y(i),...,z) Leaving Level 7 Node DECODE(x,y(i),...,z)
Entering Level 7 Node GREATEST/LEAST(x,y,...) GREATEST/LEAST(x,y,...) Leaving Level 7 Node GREATEST/LEAST(x,y,...)
Entering Level 7 Node VALUE(x,y,...) VALUE(x,y,...) Leaving Level 7 Node VALUE(x,y,...)
Entering Level 7 Node General CASE Function (searched_case_function) General CASE Function (searched_case_function) Leaving Level 7 Node General CASE Function (searched_case_function)
Entering Level 7 Node Simple CASE Function (simple_case_function) Simple CASE Function (simple_case_function) Leaving Level 7 Node Simple CASE Function (simple_case_function)
Entering Level 6 Node String Function (string_function) String Function (string_function) Leaving Level 6 Node String Function (string_function)
Entering Level 7 Node ALPHA(x,n) ALPHA(x,n) Leaving Level 7 Node ALPHA(x,n)
Entering Level 7 Node ASCII(x) ASCII(x) Leaving Level 7 Node ASCII(x)
Entering Level 7 Node EXPAND(x,n) EXPAND(x,n) Leaving Level 7 Node EXPAND(x,n)
Entering Level 7 Node GET_OBJECTNAME(x,o) GET_OBJECTNAME(x,o) Leaving Level 7 Node GET_OBJECTNAME(x,o)
Entering Level 7 Node GET_SCHEMA(x,o) GET_SCHEMA(x,o) Leaving Level 7 Node GET_SCHEMA(x,o)
Entering Level 7 Node INITCAP(x) INITCAP(x) Leaving Level 7 Node INITCAP(x)
Entering Level 7 Node LFILL(x,a,n) LFILL(x,a,n) Leaving Level 7 Node LFILL(x,a,n)
Entering Level 7 Node LPAD(x,a,y,n) LPAD(x,a,y,n) Leaving Level 7 Node LPAD(x,a,y,n)
Entering Level 7 Node LTRIM(x,y) LTRIM(x,y) Leaving Level 7 Node LTRIM(x,y)
Entering Level 7 Node MAPCHAR(x,n,i) MAPCHAR(x,n,i) Leaving Level 7 Node MAPCHAR(x,n,i)
Entering Level 7 Node REPLACE(x,y,z) REPLACE(x,y,z) Leaving Level 7 Node REPLACE(x,y,z)
Entering Level 7 Node RFILL(x,a,n) RFILL(x,a,n) Leaving Level 7 Node RFILL(x,a,n)
Entering Level 7 Node RPAD(x,a,y,n) RPAD(x,a,y,n) Leaving Level 7 Node RPAD(x,a,y,n)
Entering Level 7 Node RTRIM(x,y) RTRIM(x,y) Leaving Level 7 Node RTRIM(x,y)
Entering Level 7 Node SOUNDEX(x) SOUNDEX(x) Leaving Level 7 Node SOUNDEX(x)
Entering Level 7 Node SUBSTR(x,a,b) SUBSTR(x,a,b) Leaving Level 7 Node SUBSTR(x,a,b)
Entering Level 7 Node TRANSLATE(x,y,z) TRANSLATE(x,y,z) Leaving Level 7 Node TRANSLATE(x,y,z)
Entering Level 7 Node TRIM(x,y) TRIM(x,y) Leaving Level 7 Node TRIM(x,y)
Entering Level 7 Node UPPER/LOWER(x) UPPER/LOWER(x) Leaving Level 7 Node UPPER/LOWER(x)
Entering Level 7 Node Concatenation Concatenation Leaving Level 7 Node Concatenation
Entering Level 6 Node Time Function (time_function) Time Function (time_function) Leaving Level 6 Node Time Function (time_function)
Entering Level 7 Node ADDTIME/SUBTIME(t,a) ADDTIME/SUBTIME(t,a) Leaving Level 7 Node ADDTIME/SUBTIME(t,a)
Entering Level 7 Node MAKETIME(h,m,s) MAKETIME(h,m,s) Leaving Level 7 Node MAKETIME(h,m,s)
Entering Level 7 Node TIMEDIFF(t,s) TIMEDIFF(t,s) Leaving Level 7 Node TIMEDIFF(t,s)
Entering Level 6 Node Trigonometric Function (trigonometric_function) Trigonometric Function (trigonometric_function) Leaving Level 6 Node Trigonometric Function (trigonometric_function)
Entering Level 5 Node Key Specification (key_spec) Key Specification (key_spec) Leaving Level 5 Node Key Specification (key_spec)
Entering Level 5 Node Literal (literal) Literal (literal) Leaving Level 5 Node Literal (literal)
Entering Level 6 Node Fixed Point Number (fixed_point_literal) Fixed Point Number (fixed_point_literal) Leaving Level 6 Node Fixed Point Number (fixed_point_literal)
Entering Level 6 Node Floating Point Number (floating_point_literal) Floating Point Number (floating_point_literal) Leaving Level 6 Node Floating Point Number (floating_point_literal)
Entering Level 6 Node Unsigned integer (unsigned_integer) Unsigned integer (unsigned_integer) Leaving Level 6 Node Unsigned integer (unsigned_integer)
Entering Level 6 Node Integer (integer) Integer (integer) Leaving Level 6 Node Integer (integer)
Entering Level 5 Node Parameter Specification (parameter spec) Parameter Specification (parameter spec) Leaving Level 5 Node Parameter Specification (parameter spec)
Entering Level 5 Node Predicate Predicate Leaving Level 5 Node Predicate
Entering Level 6 Node BETWEEN predicate BETWEEN predicate Leaving Level 6 Node BETWEEN predicate
Entering Level 6 Node Boolean Predicate (bool_predicate) Boolean Predicate (bool_predicate) Leaving Level 6 Node Boolean Predicate (bool_predicate)
Entering Level 6 Node Comparison predicate Comparison predicate Leaving Level 6 Node Comparison predicate
Entering Level 6 Node DEFAULT Predicate (default predicate) DEFAULT Predicate (default predicate) Leaving Level 6 Node DEFAULT Predicate (default predicate)
Entering Level 6 Node EXISTS predicate EXISTS predicate Leaving Level 6 Node EXISTS predicate
Entering Level 6 Node IN predicate IN predicate Leaving Level 6 Node IN predicate
Entering Level 6 Node JOIN Predicate (join_predicate) JOIN Predicate (join_predicate) Leaving Level 6 Node JOIN Predicate (join_predicate)
Entering Level 6 Node LIKE Predicate (like_predicate) LIKE Predicate (like_predicate) Leaving Level 6 Node LIKE Predicate (like_predicate)
Entering Level 6 Node NULL predicate NULL predicate Leaving Level 6 Node NULL predicate
Entering Level 6 Node Quantified predicate Quantified predicate Leaving Level 6 Node Quantified predicate
Entering Level 6 Node ROWNO predicate ROWNO predicate Leaving Level 6 Node ROWNO predicate
Entering Level 6 Node SOUNDS Predicate (sounds_predicate) SOUNDS Predicate (sounds_predicate) Leaving Level 6 Node SOUNDS Predicate (sounds_predicate)
Entering Level 5 Node SAMPLE Definition (sample_definition) SAMPLE Definition (sample_definition) Leaving Level 5 Node SAMPLE Definition (sample_definition)
Entering Level 5 Node Search Condition (search_condition) Search Condition (search_condition) Leaving Level 5 Node Search Condition (search_condition)
Entering Level 5 Node Selected Column (select_column) Selected Column (select_column) Leaving Level 5 Node Selected Column (select_column)
Entering Level 5 Node Set Function (set_function_spec) Set Function (set_function_spec) Leaving Level 5 Node Set Function (set_function_spec)
Entering Level 5 Node Character Set (token) Character Set (token) Leaving Level 5 Node Character Set (token)
Entering Level 6 Node Identifier Identifier Leaving Level 6 Node Identifier
Entering Level 6 Node Keyword (key_word) Keyword (key_word) Leaving Level 6 Node Keyword (key_word)
Entering Level 4 Node Functions: Overview Functions: Overview Leaving Level 4 Node Functions: Overview
Entering Level 4 Node Names: Overview Names: Overview Leaving Level 4 Node Names: Overview
Entering Level 5 Node Alias Name (alias_name) Alias Name (alias_name) Leaving Level 5 Node Alias Name (alias_name)
Entering Level 5 Node Column Name (column_name) Column Name (column_name) Leaving Level 5 Node Column Name (column_name)
Entering Level 5 Node Constraint Name (constraint_name) Constraint Name (constraint_name) Leaving Level 5 Node Constraint Name (constraint_name)
Entering Level 5 Node Name of a Database Function (dbfunction_name) Name of a Database Function (dbfunction_name) Leaving Level 5 Node Name of a Database Function (dbfunction_name)
Entering Level 5 Node Name of a database procedure (dbproc_name) Name of a database procedure (dbproc_name) Leaving Level 5 Node Name of a database procedure (dbproc_name)
Entering Level 5 Node Domain Name (domain_name) Domain Name (domain_name) Leaving Level 5 Node Domain Name (domain_name)
Entering Level 5 Node Index Name (index_name) Index Name (index_name) Leaving Level 5 Node Index Name (index_name)
Entering Level 5 Node Indicator Name (indicator_name) Indicator Name (indicator_name) Leaving Level 5 Node Indicator Name (indicator_name)
Entering Level 5 Node MapChar Set Name (mapchar_set_name) MapChar Set Name (mapchar_set_name) Leaving Level 5 Node MapChar Set Name (mapchar_set_name)
Entering Level 5 Node Password (password) Password (password) Leaving Level 5 Node Password (password)
Entering Level 5 Node Parameter Name (parameter_name) Parameter Name (parameter_name) Leaving Level 5 Node Parameter Name (parameter_name)
Entering Level 5 Node Reference Name (reference_name) Reference Name (reference_name) Leaving Level 5 Node Reference Name (reference_name)
Entering Level 5 Node Name of a Referential Constraint (referential_constraint_name) Name of a Referential Constraint (referential_constraint_name) Leaving Level 5 Node Name of a Referential Constraint (referential_constraint_name)
Entering Level 5 Node Results Table Name (result_table_name) Results Table Name (result_table_name) Leaving Level 5 Node Results Table Name (result_table_name)
Entering Level 5 Node Role Name (role_name) Role Name (role_name) Leaving Level 5 Node Role Name (role_name)
Entering Level 5 Node Schema Name (schema_name) Schema Name (schema_name) Leaving Level 5 Node Schema Name (schema_name)
Entering Level 5 Node Sequence Name (sequence_name) Sequence Name (sequence_name) Leaving Level 5 Node Sequence Name (sequence_name)
Entering Level 5 Node Synonym Name (synonym_name) Synonym Name (synonym_name) Leaving Level 5 Node Synonym Name (synonym_name)
Entering Level 5 Node Table Name (table_name) Table Name (table_name) Leaving Level 5 Node Table Name (table_name)
Entering Level 5 Node Trigger Name (trigger_name) Trigger Name (trigger_name) Leaving Level 5 Node Trigger Name (trigger_name)
Entering Level 5 Node User Group Name (usergroup_name) User Group Name (usergroup_name) Leaving Level 5 Node User Group Name (usergroup_name)
Entering Level 5 Node User Name (user_name) User Name (user_name) Leaving Level 5 Node User Name (user_name)
Entering Level 4 Node Privileges: Overview Privileges: Overview Leaving Level 4 Node Privileges: Overview
Entering Level 5 Node Privilege Specification (priv_spec) Privilege Specification (priv_spec) Leaving Level 5 Node Privilege Specification (priv_spec)
Entering Level 5 Node Privilege Specification for a Schema (schema_priv_spec) Privilege Specification for a Schema (schema_priv_spec) Leaving Level 5 Node Privilege Specification for a Schema (schema_priv_spec)
Entering Level 4 Node Syntax List Syntax List Leaving Level 4 Node Syntax List
Entering Level 5 Node add_definition add_definition Leaving Level 5 Node add_definition
Entering Level 5 Node alias_name alias_name Leaving Level 5 Node alias_name
Entering Level 5 Node all_function all_function Leaving Level 5 Node all_function
Entering Level 5 Node alter_definition alter_definition Leaving Level 5 Node alter_definition
Entering Level 5 Node alter_index_statement alter_index_statement Leaving Level 5 Node alter_index_statement
Entering Level 5 Node alter_password_statement alter_password_statement Leaving Level 5 Node alter_password_statement
Entering Level 5 Node alter_table_statement alter_table_statement Leaving Level 5 Node alter_table_statement
Entering Level 5 Node alter_user_statement alter_user_statement Leaving Level 5 Node alter_user_statement
Entering Level 5 Node alter_usergroup_statement alter_usergroup_statement Leaving Level 5 Node alter_usergroup_statement
Entering Level 5 Node argument argument Leaving Level 5 Node argument
Entering Level 5 Node argument1 argument1 Leaving Level 5 Node argument1
Entering Level 5 Node arithmetic_function arithmetic_function Leaving Level 5 Node arithmetic_function
Entering Level 5 Node assignment_statement assignment_statement Leaving Level 5 Node assignment_statement
Entering Level 5 Node between_predicate between_predicate Leaving Level 5 Node between_predicate
Entering Level 5 Node bool_predicate bool_predicate Leaving Level 5 Node bool_predicate
Entering Level 5 Node boolean_factor boolean_factor Leaving Level 5 Node boolean_factor
Entering Level 5 Node boolean_term boolean_term Leaving Level 5 Node boolean_term
Entering Level 5 Node call_statement call_statement Leaving Level 5 Node call_statement
Entering Level 5 Node cascade_option cascade_option Leaving Level 5 Node cascade_option
Entering Level 5 Node case_else_clause case_else_clause Leaving Level 5 Node case_else_clause
Entering Level 5 Node case_function case_function Leaving Level 5 Node case_function
Entering Level 5 Node case_statement case_statement Leaving Level 5 Node case_statement
Entering Level 5 Node character character Leaving Level 5 Node character
Entering Level 5 Node close_statement close_statement Leaving Level 5 Node close_statement
Entering Level 5 Node column_attributes column_attributes Leaving Level 5 Node column_attributes
Entering Level 5 Node column_change_definition column_change_definition Leaving Level 5 Node column_change_definition
Entering Level 5 Node column_definition column_definition Leaving Level 5 Node column_definition
Entering Level 5 Node column_list column_list Leaving Level 5 Node column_list
Entering Level 5 Node column_name column_name Leaving Level 5 Node column_name
Entering Level 5 Node column_spec column_spec Leaving Level 5 Node column_spec
Entering Level 5 Node comment comment Leaving Level 5 Node comment
Entering Level 5 Node comment_on_statement comment_on_statement Leaving Level 5 Node comment_on_statement
Entering Level 5 Node commit_statement commit_statement Leaving Level 5 Node commit_statement
Entering Level 5 Node comp_op comp_op Leaving Level 5 Node comp_op
Entering Level 5 Node comparison_predicate comparison_predicate Leaving Level 5 Node comparison_predicate
Entering Level 5 Node connect_mode connect_mode Leaving Level 5 Node connect_mode
Entering Level 5 Node connect_option connect_option Leaving Level 5 Node connect_option
Entering Level 5 Node connect_statement connect_statement Leaving Level 5 Node connect_statement
Entering Level 5 Node constraint_definition constraint_definition Leaving Level 5 Node constraint_definition
Entering Level 5 Node constraint_name constraint_name Leaving Level 5 Node constraint_name
Entering Level 5 Node conversion_function conversion_function Leaving Level 5 Node conversion_function
Entering Level 5 Node create_dbproc_statement create_dbproc_statement Leaving Level 5 Node create_dbproc_statement
Entering Level 5 Node create_domain_statement create_domain_statement Leaving Level 5 Node create_domain_statement
Entering Level 5 Node create_function_statement create_function_statement Leaving Level 5 Node create_function_statement
Entering Level 5 Node create_index_statement create_index_statement Leaving Level 5 Node create_index_statement
Entering Level 5 Node create_role_statement create_role_statement Leaving Level 5 Node create_role_statement
Entering Level 5 Node create_schema_statement create_schema_statement Leaving Level 5 Node create_schema_statement
Entering Level 5 Node create_sequence_statement create_sequence_statement Leaving Level 5 Node create_sequence_statement
Entering Level 5 Node create_synonym_statement create_synonym_statement Leaving Level 5 Node create_synonym_statement
Entering Level 5 Node create_system_trigger_statement create_system_trigger_statement Leaving Level 5 Node create_system_trigger_statement
Entering Level 5 Node create_table_statement create_table_statement Leaving Level 5 Node create_table_statement
Entering Level 5 Node create_table_temp create_table_temp Leaving Level 5 Node create_table_temp
Entering Level 5 Node create_trigger_statement create_trigger_statement Leaving Level 5 Node create_trigger_statement
Entering Level 5 Node create_user_statement create_user_statement Leaving Level 5 Node create_user_statement
Entering Level 5 Node create_usergroup_statement create_usergroup_statement Leaving Level 5 Node create_usergroup_statement
Entering Level 5 Node create_view_statement create_view_statement Leaving Level 5 Node create_view_statement
Entering Level 5 Node data_type data_type Leaving Level 5 Node data_type
Entering Level 5 Node date_function date_function Leaving Level 5 Node date_function
Entering Level 5 Node date_or_timestamp_expression date_or_timestamp_expression Leaving Level 5 Node date_or_timestamp_expression
Entering Level 5 Node datetimeformat datetimeformat Leaving Level 5 Node datetimeformat
Entering Level 5 Node dbfunction_call dbfunction_call Leaving Level 5 Node dbfunction_call
Entering Level 5 Node dbfunction_name dbfunction_name Leaving Level 5 Node dbfunction_name
Entering Level 5 Node dbproc_name dbproc_name Leaving Level 5 Node dbproc_name
Entering Level 5 Node declare_cursor_statement declare_cursor_statement Leaving Level 5 Node declare_cursor_statement
Entering Level 5 Node default_predicate default_predicate Leaving Level 5 Node default_predicate
Entering Level 5 Node default_spec default_spec Leaving Level 5 Node default_spec
Entering Level 5 Node delete_rule delete_rule Leaving Level 5 Node delete_rule
Entering Level 5 Node delete_statement delete_statement Leaving Level 5 Node delete_statement
Entering Level 5 Node delimiter_token delimiter_token Leaving Level 5 Node delimiter_token
Entering Level 5 Node derived_column derived_column Leaving Level 5 Node derived_column
Entering Level 5 Node digit digit Leaving Level 5 Node digit
Entering Level 5 Node digit_sequence digit_sequence Leaving Level 5 Node digit_sequence
Entering Level 5 Node distinct_function distinct_function Leaving Level 5 Node distinct_function
Entering Level 5 Node distinct_spec distinct_spec Leaving Level 5 Node distinct_spec
Entering Level 5 Node domain_name domain_name Leaving Level 5 Node domain_name
Entering Level 5 Node double_quotes double_quotes Leaving Level 5 Node double_quotes
Entering Level 5 Node drop_dbproc_statement drop_dbproc_statement Leaving Level 5 Node drop_dbproc_statement
Entering Level 5 Node drop_definition drop_definition Leaving Level 5 Node drop_definition
Entering Level 5 Node drop_domain_statement drop_domain_statement Leaving Level 5 Node drop_domain_statement
Entering Level 5 Node drop_function_statement drop_function_statement Leaving Level 5 Node drop_function_statement
Entering Level 5 Node drop_index_statement drop_index_statement Leaving Level 5 Node drop_index_statement
Entering Level 5 Node drop_role_statement drop_role_statement Leaving Level 5 Node drop_role_statement
Entering Level 5 Node drop_schema_statement drop_schema_statement Leaving Level 5 Node drop_schema_statement
Entering Level 5 Node drop_sequence_statement drop_sequence_statement Leaving Level 5 Node drop_sequence_statement
Entering Level 5 Node drop_synonym_statement drop_synonym_statement Leaving Level 5 Node drop_synonym_statement
Entering Level 5 Node drop_system_trigger_statement drop_system_trigger_statement Leaving Level 5 Node drop_system_trigger_statement
Entering Level 5 Node drop_table_statement drop_table_statement Leaving Level 5 Node drop_table_statement
Entering Level 5 Node drop_table_temp drop_table_temp Leaving Level 5 Node drop_table_temp
Entering Level 5 Node drop_trigger_statement drop_trigger_statement Leaving Level 5 Node drop_trigger_statement
Entering Level 5 Node drop_user_statement drop_user_statement Leaving Level 5 Node drop_user_statement
Entering Level 5 Node drop_usergroup_statement drop_usergroup_statement Leaving Level 5 Node drop_usergroup_statement
Entering Level 5 Node drop_view_statement drop_view_statement Leaving Level 5 Node drop_view_statement
Entering Level 5 Node duplicates_clause duplicates_clause Leaving Level 5 Node duplicates_clause
Entering Level 5 Node equal_or_not equal_or_not Leaving Level 5 Node equal_or_not
Entering Level 5 Node exists_predicate exists_predicate Leaving Level 5 Node exists_predicate
Entering Level 5 Node exists_table_statement exists_table_statement Leaving Level 5 Node exists_table_statement
Entering Level 5 Node explain_statement explain_statement Leaving Level 5 Node explain_statement
Entering Level 5 Node exponent exponent Leaving Level 5 Node exponent
Entering Level 5 Node expression expression Leaving Level 5 Node expression
Entering Level 5 Node expression_list expression_list Leaving Level 5 Node expression_list
Entering Level 5 Node extended_expression extended_expression Leaving Level 5 Node extended_expression
Entering Level 5 Node extended_letter extended_letter Leaving Level 5 Node extended_letter
Entering Level 5 Node extended_value_spec extended_value_spec Leaving Level 5 Node extended_value_spec
Entering Level 5 Node extraction_function extraction_function Leaving Level 5 Node extraction_function
Entering Level 5 Node factor factor Leaving Level 5 Node factor
Entering Level 5 Node fetch_statement fetch_statement Leaving Level 5 Node fetch_statement
Entering Level 5 Node final_select final_select Leaving Level 5 Node final_select
Entering Level 5 Node first_character first_character Leaving Level 5 Node first_character
Entering Level 5 Node first_password_character first_password_character Leaving Level 5 Node first_password_character
Entering Level 5 Node fixed_point_literal fixed_point_literal Leaving Level 5 Node fixed_point_literal
Entering Level 5 Node floating_point_literal floating_point_literal Leaving Level 5 Node floating_point_literal
Entering Level 5 Node formal_parameter formal_parameter Leaving Level 5 Node formal_parameter
Entering Level 5 Node formal_parameter1 formal_parameter1 Leaving Level 5 Node formal_parameter1
Entering Level 5 Node from_clause from_clause Leaving Level 5 Node from_clause
Entering Level 5 Node from_table_spec from_table_spec Leaving Level 5 Node from_table_spec
Entering Level 5 Node function_spec function_spec Leaving Level 5 Node function_spec
Entering Level 5 Node grant_statement grant_statement Leaving Level 5 Node grant_statement
Entering Level 5 Node grant_user_statement grant_user_statement Leaving Level 5 Node grant_user_statement
Entering Level 5 Node grant_usergroup_statement grant_usergroup_statement Leaving Level 5 Node grant_usergroup_statement
Entering Level 5 Node granted_usergroups granted_usergroups Leaving Level 5 Node granted_usergroups
Entering Level 5 Node granted_users granted_users Leaving Level 5 Node granted_users
Entering Level 5 Node grantee grantee Leaving Level 5 Node grantee
Entering Level 5 Node group_clause group_clause Leaving Level 5 Node group_clause
Entering Level 5 Node having_clause having_clause Leaving Level 5 Node having_clause
Entering Level 5 Node hex_digit hex_digit Leaving Level 5 Node hex_digit
Entering Level 5 Node hex_digit_seq hex_digit_seq Leaving Level 5 Node hex_digit_seq
Entering Level 5 Node hex_literal hex_literal Leaving Level 5 Node hex_literal
Entering Level 5 Node hours hours Leaving Level 5 Node hours
Entering Level 5 Node identifier identifier Leaving Level 5 Node identifier
Entering Level 5 Node identifier_tail_character identifier_tail_character Leaving Level 5 Node identifier_tail_character
Entering Level 5 Node if_statement if_statement Leaving Level 5 Node if_statement
Entering Level 5 Node in_predicate in_predicate Leaving Level 5 Node in_predicate
Entering Level 5 Node index_name index_name Leaving Level 5 Node index_name
Entering Level 5 Node index_spec index_spec Leaving Level 5 Node index_spec
Entering Level 5 Node indicator_name indicator_name Leaving Level 5 Node indicator_name
Entering Level 5 Node initial_select initial_select Leaving Level 5 Node initial_select
Entering Level 5 Node insert_expression insert_expression Leaving Level 5 Node insert_expression
Entering Level 5 Node insert_statement insert_statement Leaving Level 5 Node insert_statement
Entering Level 5 Node integer integer Leaving Level 5 Node integer
Entering Level 5 Node join_predicate join_predicate Leaving Level 5 Node join_predicate
Entering Level 5 Node join_spec join_spec Leaving Level 5 Node join_spec
Entering Level 5 Node joined_table joined_table Leaving Level 5 Node joined_table
Entering Level 5 Node key_definition key_definition Leaving Level 5 Node key_definition
Entering Level 5 Node key_or_not_null_spec key_or_not_null_spec Leaving Level 5 Node key_or_not_null_spec
Entering Level 5 Node key_spec key_spec Leaving Level 5 Node key_spec
Entering Level 5 Node key_word key_word Leaving Level 5 Node key_word
Entering Level 5 Node language_specific_character language_specific_character Leaving Level 5 Node language_specific_character
Entering Level 5 Node letter letter Leaving Level 5 Node letter
Entering Level 5 Node like_expression like_expression Leaving Level 5 Node like_expression
Entering Level 5 Node like_predicate like_predicate Leaving Level 5 Node like_predicate
Entering Level 5 Node literal literal Leaving Level 5 Node literal
Entering Level 5 Node local_variable local_variable Leaving Level 5 Node local_variable
Entering Level 5 Node local_variable_list local_variable_list Leaving Level 5 Node local_variable_list
Entering Level 5 Node local_variables local_variables Leaving Level 5 Node local_variables
Entering Level 5 Node lock_option lock_option Leaving Level 5 Node lock_option
Entering Level 5 Node lock_spec lock_spec Leaving Level 5 Node lock_spec
Entering Level 5 Node lock_statement lock_statement Leaving Level 5 Node lock_statement
Entering Level 5 Node mantissa mantissa Leaving Level 5 Node mantissa
Entering Level 5 Node mapchar_set_name mapchar_set_name Leaving Level 5 Node mapchar_set_name
Entering Level 5 Node match_char match_char Leaving Level 5 Node match_char
Entering Level 5 Node match_set match_set Leaving Level 5 Node match_set
Entering Level 5 Node match_string match_string Leaving Level 5 Node match_string
Entering Level 5 Node minutes minutes Leaving Level 5 Node minutes
Entering Level 5 Node modify_column_definition modify_column_definition Leaving Level 5 Node modify_column_definition
Entering Level 5 Node modify_definition modify_definition Leaving Level 5 Node modify_definition
Entering Level 5 Node monitor_statement monitor_statement Leaving Level 5 Node monitor_statement
Entering Level 5 Node new_index_name new_index_name Leaving Level 5 Node new_index_name
Entering Level 5 Node new_schema_name new_schema_name Leaving Level 5 Node new_schema_name
Entering Level 5 Node new_table_name new_table_name Leaving Level 5 Node new_table_name
Entering Level 5 Node new_user_name new_user_name Leaving Level 5 Node new_user_name
Entering Level 5 Node new_usergroup_name new_usergroup_name Leaving Level 5 Node new_usergroup_name
Entering Level 5 Node next_stamp_statement next_stamp_statement Leaving Level 5 Node next_stamp_statement
Entering Level 5 Node not_reserved_key_word not_reserved_key_word Leaving Level 5 Node not_reserved_key_word
Entering Level 5 Node null_predicate null_predicate Leaving Level 5 Node null_predicate
Entering Level 5 Node numeric_literal numeric_literal Leaving Level 5 Node numeric_literal
Entering Level 5 Node object_spec object_spec Leaving Level 5 Node object_spec
Entering Level 5 Node old_index_name old_index_name Leaving Level 5 Node old_index_name
Entering Level 5 Node old_table_name old_table_name Leaving Level 5 Node old_table_name
Entering Level 5 Node order_clause order_clause Leaving Level 5 Node order_clause
Entering Level 5 Node outer_join_indicator outer_join_indicator Leaving Level 5 Node outer_join_indicator
Entering Level 5 Node parameter_name parameter_name Leaving Level 5 Node parameter_name
Entering Level 5 Node parameter_spec parameter_spec Leaving Level 5 Node parameter_spec
Entering Level 5 Node password password Leaving Level 5 Node password
Entering Level 5 Node pattern_element pattern_element Leaving Level 5 Node pattern_element
Entering Level 5 Node position position Leaving Level 5 Node position
Entering Level 5 Node predicate predicate Leaving Level 5 Node predicate
Entering Level 5 Node priv_spec priv_spec Leaving Level 5 Node priv_spec
Entering Level 5 Node privilege privilege Leaving Level 5 Node privilege
Entering Level 5 Node quantified_predicate quantified_predicate Leaving Level 5 Node quantified_predicate
Entering Level 5 Node quantifier quantifier Leaving Level 5 Node quantifier
Entering Level 5 Node query_expression query_expression Leaving Level 5 Node query_expression
Entering Level 5 Node query_primary query_primary Leaving Level 5 Node query_primary
Entering Level 5 Node query_spec query_spec Leaving Level 5 Node query_spec
Entering Level 5 Node query_statement query_statement Leaving Level 5 Node query_statement
Entering Level 5 Node query_term query_term Leaving Level 5 Node query_term
Entering Level 5 Node recursive_declare_cursor_statement recursive_declare_cursor_statement Leaving Level 5 Node recursive_declare_cursor_statement
Entering Level 5 Node recursive_select recursive_select Leaving Level 5 Node recursive_select
Entering Level 5 Node reference_name reference_name Leaving Level 5 Node reference_name
Entering Level 5 Node referenced_column referenced_column Leaving Level 5 Node referenced_column
Entering Level 5 Node referenced_table referenced_table Leaving Level 5 Node referenced_table
Entering Level 5 Node referencing_column referencing_column Leaving Level 5 Node referencing_column
Entering Level 5 Node referential_constraint_definition referential_constraint_definition Leaving Level 5 Node referential_constraint_definition
Entering Level 5 Node referential_constraint_name referential_constraint_name Leaving Level 5 Node referential_constraint_name
Entering Level 5 Node regular_token regular_token Leaving Level 5 Node regular_token
Entering Level 5 Node release_statement release_statement Leaving Level 5 Node release_statement
Entering Level 5 Node rename_column_statement rename_column_statement Leaving Level 5 Node rename_column_statement
Entering Level 5 Node rename_index_statement rename_index_statement Leaving Level 5 Node rename_index_statement
Entering Level 5 Node rename_schema_statement rename_schema_statement Leaving Level 5 Node rename_schema_statement
Entering Level 5 Node rename_synonym_statement rename_synonym_statement Leaving Level 5 Node rename_synonym_statement
Entering Level 5 Node rename_table_statement rename_table_statement Leaving Level 5 Node rename_table_statement
Entering Level 5 Node rename_user_statement rename_user_statement Leaving Level 5 Node rename_user_statement
Entering Level 5 Node rename_usergroup_statement rename_usergroup_statement Leaving Level 5 Node rename_usergroup_statement
Entering Level 5 Node rename_view_statement rename_view_statement Leaving Level 5 Node rename_view_statement
Entering Level 5 Node reserved_key_word reserved_key_word Leaving Level 5 Node reserved_key_word
Entering Level 5 Node result_column_name result_column_name Leaving Level 5 Node result_column_name
Entering Level 5 Node result_table_name result_table_name Leaving Level 5 Node result_table_name
Entering Level 5 Node revoke_statement revoke_statement Leaving Level 5 Node revoke_statement
Entering Level 5 Node role_name role_name Leaving Level 5 Node role_name
Entering Level 5 Node rollback_statement rollback_statement Leaving Level 5 Node rollback_statement
Entering Level 5 Node rollback_to_statement rollback_to_statement Leaving Level 5 Node rollback_to_statement
Entering Level 5 Node routine routine Leaving Level 5 Node routine
Entering Level 5 Node routine_sql_statement routine_sql_statement Leaving Level 5 Node routine_sql_statement
Entering Level 5 Node row_spec row_spec Leaving Level 5 Node row_spec
Entering Level 5 Node rowno_column rowno_column Leaving Level 5 Node rowno_column
Entering Level 5 Node rowno_predicate rowno_predicate Leaving Level 5 Node rowno_predicate
Entering Level 5 Node sample_definition sample_definition Leaving Level 5 Node sample_definition
Entering Level 5 Node savepoint_statement savepoint_statement Leaving Level 5 Node savepoint_statement
Entering Level 5 Node scalar_subquery scalar_subquery Leaving Level 5 Node scalar_subquery
Entering Level 5 Node schema_authorization_identifier schema_authorization_identifier Leaving Level 5 Node schema_authorization_identifier
Entering Level 5 Node schema_element schema_element Leaving Level 5 Node schema_element
Entering Level 5 Node schema_name schema_name Leaving Level 5 Node schema_name
Entering Level 5 Node schema_name_clause schema_name_clause Leaving Level 5 Node schema_name_clause
Entering Level 5 Node schema_priv_spec schema_priv_spec Leaving Level 5 Node schema_priv_spec
Entering Level 5 Node schema_privilege schema_privilege Leaving Level 5 Node schema_privilege
Entering Level 5 Node search_and_result_spec search_and_result_spec Leaving Level 5 Node search_and_result_spec
Entering Level 5 Node search_condition search_condition Leaving Level 5 Node search_condition
Entering Level 5 Node searched_case_function searched_case_function Leaving Level 5 Node searched_case_function
Entering Level 5 Node searched_case_statement searched_case_statement Leaving Level 5 Node searched_case_statement
Entering Level 5 Node searched_case_when_clause searched_case_when_clause Leaving Level 5 Node searched_case_when_clause
Entering Level 5 Node seconds seconds Leaving Level 5 Node seconds
Entering Level 5 Node select_column select_column Leaving Level 5 Node select_column
Entering Level 5 Node select_statement select_statement Leaving Level 5 Node select_statement
Entering Level 5 Node sequence_name sequence_name Leaving Level 5 Node sequence_name
Entering Level 5 Node set_function_name set_function_name Leaving Level 5 Node set_function_name
Entering Level 5 Node set_function_spec set_function_spec Leaving Level 5 Node set_function_spec
Entering Level 5 Node set_insert_clause set_insert_clause Leaving Level 5 Node set_insert_clause
Entering Level 5 Node set_statement set_statement Leaving Level 5 Node set_statement
Entering Level 5 Node set_update_clause set_update_clause Leaving Level 5 Node set_update_clause
Entering Level 5 Node sign sign Leaving Level 5 Node sign
Entering Level 5 Node simple_case_function simple_case_function Leaving Level 5 Node simple_case_function
Entering Level 5 Node simple_case_statement simple_case_statement Leaving Level 5 Node simple_case_statement
Entering Level 5 Node simple_case_when_clause simple_case_when_clause Leaving Level 5 Node simple_case_when_clause
Entering Level 5 Node simple_identifier simple_identifier Leaving Level 5 Node simple_identifier
Entering Level 5 Node single_select_statement single_select_statement Leaving Level 5 Node single_select_statement
Entering Level 5 Node sort_spec sort_spec Leaving Level 5 Node sort_spec
Entering Level 5 Node sound_predicate sound_predicate Leaving Level 5 Node sound_predicate
Entering Level 5 Node source_user source_user Leaving Level 5 Node source_user
Entering Level 5 Node special_character special_character Leaving Level 5 Node special_character
Entering Level 5 Node special_function special_function Leaving Level 5 Node special_function
Entering Level 5 Node special_identifier special_identifier Leaving Level 5 Node special_identifier
Entering Level 5 Node special_identifier_character special_identifier_character Leaving Level 5 Node special_identifier_character
Entering Level 5 Node sql_comment sql_comment Leaving Level 5 Node sql_comment
Entering Level 5 Node sql_comment_text sql_comment_text Leaving Level 5 Node sql_comment_text
Entering Level 5 Node sql_savepoint_name sql_savepoint_name Leaving Level 5 Node sql_savepoint_name
Entering Level 5 Node sql_statement sql_statement Leaving Level 5 Node sql_statement
Entering Level 5 Node stamp_column stamp_column Leaving Level 5 Node stamp_column
Entering Level 5 Node statement statement Leaving Level 5 Node statement
Entering Level 5 Node statement_list statement_list Leaving Level 5 Node statement_list
Entering Level 5 Node string_function string_function Leaving Level 5 Node string_function
Entering Level 5 Node string_literal string_literal Leaving Level 5 Node string_literal
Entering Level 5 Node string_spec string_spec Leaving Level 5 Node string_spec
Entering Level 5 Node subquery subquery Leaving Level 5 Node subquery
Entering Level 5 Node subtrans_statement subtrans_statement Leaving Level 5 Node subtrans_statement
Entering Level 5 Node synonym_name synonym_name Leaving Level 5 Node synonym_name
Entering Level 5 Node table_columns table_columns Leaving Level 5 Node table_columns
Entering Level 5 Node table_description_element table_description_element Leaving Level 5 Node table_description_element
Entering Level 5 Node table_expression table_expression Leaving Level 5 Node table_expression
Entering Level 5 Node table_name table_name Leaving Level 5 Node table_name
Entering Level 5 Node term term Leaving Level 5 Node term
Entering Level 5 Node time_expression time_expression Leaving Level 5 Node time_expression
Entering Level 5 Node time_or_timestamp_expression time_or_timestamp_expression Leaving Level 5 Node time_or_timestamp_expression
Entering Level 5 Node time_function time_function Leaving Level 5 Node time_function
Entering Level 5 Node token token Leaving Level 5 Node token
Entering Level 5 Node trigger_event trigger_event Leaving Level 5 Node trigger_event
Entering Level 5 Node trigger_name trigger_name Leaving Level 5 Node trigger_name
Entering Level 5 Node trigonometric_function trigonometric_function Leaving Level 5 Node trigonometric_function
Entering Level 5 Node underscore underscore Leaving Level 5 Node underscore
Entering Level 5 Node unique_definition unique_definition Leaving Level 5 Node unique_definition
Entering Level 5 Node unlock_statement unlock_statement Leaving Level 5 Node unlock_statement
Entering Level 5 Node unsigned_integer unsigned_integer Leaving Level 5 Node unsigned_integer
Entering Level 5 Node update_clause update_clause Leaving Level 5 Node update_clause
Entering Level 5 Node update_statement update_statement Leaving Level 5 Node update_statement
Entering Level 5 Node update_statistics_statement update_statistics_statement Leaving Level 5 Node update_statistics_statement
Entering Level 5 Node user_mode user_mode Leaving Level 5 Node user_mode
Entering Level 5 Node user_name user_name Leaving Level 5 Node user_name
Entering Level 5 Node usergroup_mode usergroup_mode Leaving Level 5 Node usergroup_mode
Entering Level 5 Node usergroup_name usergroup_name Leaving Level 5 Node usergroup_name
Entering Level 5 Node value_spec value_spec Leaving Level 5 Node value_spec
Entering Level 5 Node variable_name variable_name Leaving Level 5 Node variable_name
Entering Level 5 Node where_clause where_clause Leaving Level 5 Node where_clause
Entering Level 5 Node while_statement while_statement Leaving Level 5 Node while_statement
Entering Level 5 Node Syntax Notation Syntax Notation Leaving Level 5 Node Syntax Notation
Entering Level 5 Node Syntax Changes Syntax Changes Leaving Level 5 Node Syntax Changes
Entering Level 4 Node System Tables System Tables Leaving Level 4 Node System Tables
Entering Level 5 Node General Notes General Notes Leaving Level 5 Node General Notes
Entering Level 5 Node Database Terms Database Terms Leaving Level 5 Node Database Terms
Entering Level 5 Node Evaluating System Tables (Examples) Evaluating System Tables (Examples) Leaving Level 5 Node Evaluating System Tables (Examples)
Entering Level 6 Node ACTIVECONFIGURATION ACTIVECONFIGURATION Leaving Level 6 Node ACTIVECONFIGURATION
Entering Level 6 Node CACHESTATISTICS CACHESTATISTICS Leaving Level 6 Node CACHESTATISTICS
Entering Level 6 Node COLUMNS COLUMNS Leaving Level 6 Node COLUMNS
Entering Level 6 Node CONSTRAINTS CONSTRAINTS Leaving Level 6 Node CONSTRAINTS
Entering Level 6 Node DATASTATISTICS DATASTATISTICS Leaving Level 6 Node DATASTATISTICS
Entering Level 6 Node DATAVOLUMES DATAVOLUMES Leaving Level 6 Node DATAVOLUMES
Entering Level 6 Node DBPROCEDURES DBPROCEDURES Leaving Level 6 Node DBPROCEDURES
Entering Level 6 Node DBPROCPARAMS DBPROCPARAMS Leaving Level 6 Node DBPROCPARAMS
Entering Level 6 Node DOMAINCONSTRAINTS DOMAINCONSTRAINTS Leaving Level 6 Node DOMAINCONSTRAINTS
Entering Level 6 Node DOMAINS DOMAINS Leaving Level 6 Node DOMAINS
Entering Level 6 Node FOREIGNKEYCOLUMNS FOREIGNKEYCOLUMNS Leaving Level 6 Node FOREIGNKEYCOLUMNS
Entering Level 6 Node FOREIGNKEYS FOREIGNKEYS Leaving Level 6 Node FOREIGNKEYS
Entering Level 6 Node FUNCTIONS FUNCTIONS Leaving Level 6 Node FUNCTIONS
Entering Level 6 Node INDEXCOLUMNS INDEXCOLUMNS Leaving Level 6 Node INDEXCOLUMNS
Entering Level 6 Node INDEXES INDEXES Leaving Level 6 Node INDEXES
Entering Level 6 Node INSTANCE INSTANCE Leaving Level 6 Node INSTANCE
Entering Level 6 Node LOCKS LOCKS Leaving Level 6 Node LOCKS
Entering Level 6 Node LOGQUEUESTATISTICS LOGQUEUESTATISTICS Leaving Level 6 Node LOGQUEUESTATISTICS
Entering Level 6 Node LOGSTATISTICS LOGSTATISTICS Leaving Level 6 Node LOGSTATISTICS
Entering Level 6 Node MAPCHARSETS MAPCHARSETS Leaving Level 6 Node MAPCHARSETS
Entering Level 6 Node ROLEPRIVILEGES ROLEPRIVILEGES Leaving Level 6 Node ROLEPRIVILEGES
Entering Level 6 Node ROLES ROLES Leaving Level 6 Node ROLES
Entering Level 6 Node SEQUENCES SEQUENCES Leaving Level 6 Node SEQUENCES
Entering Level 6 Node SESSION_ROLES SESSION_ROLES Leaving Level 6 Node SESSION_ROLES
Entering Level 6 Node SESSIONS SESSIONS Leaving Level 6 Node SESSIONS
Entering Level 6 Node SYNONYMS SYNONYMS Leaving Level 6 Node SYNONYMS
Entering Level 6 Node TABLEPRIVILEGES TABLEPRIVILEGES Leaving Level 6 Node TABLEPRIVILEGES
Entering Level 6 Node TABLES TABLES Leaving Level 6 Node TABLES
Entering Level 6 Node TRIGGERS TRIGGERS Leaving Level 6 Node TRIGGERS
Entering Level 6 Node USERS USERS Leaving Level 6 Node USERS
Entering Level 6 Node VERSION VERSION Leaving Level 6 Node VERSION
Entering Level 6 Node VIEWCOLUMNS VIEWCOLUMNS Leaving Level 6 Node VIEWCOLUMNS
Entering Level 6 Node VIEWDEFS VIEWDEFS Leaving Level 6 Node VIEWDEFS
Entering Level 6 Node VIEWS VIEWS Leaving Level 6 Node VIEWS
Entering Level 5 Node Definitions of the System Tables Definitions of the System Tables Leaving Level 5 Node Definitions of the System Tables
Entering Level 6 Node ACTIVECONFIGURATION ACTIVECONFIGURATION Leaving Level 6 Node ACTIVECONFIGURATION
Entering Level 6 Node BACKUPTHREADS BACKUPTHREADS Leaving Level 6 Node BACKUPTHREADS
Entering Level 6 Node CACHESTATISTICS CACHESTATISTICS Leaving Level 6 Node CACHESTATISTICS
Entering Level 6 Node CLASSCONTAINER_CHAINS CLASSCONTAINER_CHAINS Leaving Level 6 Node CLASSCONTAINER_CHAINS
Entering Level 6 Node CLASSCONTAINER_KEYS CLASSCONTAINER_KEYS Leaving Level 6 Node CLASSCONTAINER_KEYS
Entering Level 6 Node CLASSCONTAINER_ROOTS CLASSCONTAINER_ROOTS Leaving Level 6 Node CLASSCONTAINER_ROOTS
Entering Level 6 Node CLASSCONTAINERS CLASSCONTAINERS Leaving Level 6 Node CLASSCONTAINERS
Entering Level 6 Node COLUMNS COLUMNS Leaving Level 6 Node COLUMNS
Entering Level 6 Node COMMANDCACHESTATISTICS COMMANDCACHESTATISTICS Leaving Level 6 Node COMMANDCACHESTATISTICS
Entering Level 6 Node COMMANDSTATISTICS COMMANDSTATISTICS Leaving Level 6 Node COMMANDSTATISTICS
Entering Level 6 Node CONNECTEDUSERS CONNECTEDUSERS Leaving Level 6 Node CONNECTEDUSERS
Entering Level 6 Node CONNECTPARAMETERS CONNECTPARAMETERS Leaving Level 6 Node CONNECTPARAMETERS
Entering Level 6 Node CONSISTENTVIEWOPENTRANSACTIONS CONSISTENTVIEWOPENTRANSACTIONS Leaving Level 6 Node CONSISTENTVIEWOPENTRANSACTIONS
Entering Level 6 Node CONSISTENTVIEWS CONSISTENTVIEWS Leaving Level 6 Node CONSISTENTVIEWS
Entering Level 6 Node CONSTRAINTCOLUMNS CONSTRAINTCOLUMNS Leaving Level 6 Node CONSTRAINTCOLUMNS
Entering Level 6 Node CONSTRAINTS CONSTRAINTS Leaving Level 6 Node CONSTRAINTS
Entering Level 6 Node DATACACHE DATACACHE Leaving Level 6 Node DATACACHE
Entering Level 6 Node DATASTATISTICS DATASTATISTICS Leaving Level 6 Node DATASTATISTICS
Entering Level 6 Node DATAVOLUMES DATAVOLUMES Leaving Level 6 Node DATAVOLUMES
Entering Level 6 Node DBPARAMETERS DBPARAMETERS Leaving Level 6 Node DBPARAMETERS
Entering Level 6 Node DBPROCEDURES DBPROCEDURES Leaving Level 6 Node DBPROCEDURES
Entering Level 6 Node DBPROCPARAMS DBPROCPARAMS Leaving Level 6 Node DBPROCPARAMS
Entering Level 6 Node DOMAINCONSTRAINTS DOMAINCONSTRAINTS Leaving Level 6 Node DOMAINCONSTRAINTS
Entering Level 6 Node DOMAINS DOMAINS Leaving Level 6 Node DOMAINS
Entering Level 6 Node FILEDIRECTORIES FILEDIRECTORIES Leaving Level 6 Node FILEDIRECTORIES
Entering Level 6 Node FILES FILES Leaving Level 6 Node FILES
Entering Level 6 Node FOREIGNKEYCOLUMNS FOREIGNKEYCOLUMNS Leaving Level 6 Node FOREIGNKEYCOLUMNS
Entering Level 6 Node FOREIGNKEYS FOREIGNKEYS Leaving Level 6 Node FOREIGNKEYS
Entering Level 6 Node FUNCTIONS FUNCTIONS Leaving Level 6 Node FUNCTIONS
Entering Level 6 Node GARBAGECOLLECTOR_STATISTICS GARBAGECOLLECTOR_STATISTICS Leaving Level 6 Node GARBAGECOLLECTOR_STATISTICS
Entering Level 6 Node HISTORYINFO HISTORYINFO Leaving Level 6 Node HISTORYINFO
Entering Level 6 Node HOTSTANDBYCOMPONENT HOTSTANDBYCOMPONENT Leaving Level 6 Node HOTSTANDBYCOMPONENT
Entering Level 6 Node HOTSTANDBYGROUP HOTSTANDBYGROUP Leaving Level 6 Node HOTSTANDBYGROUP
Entering Level 6 Node INDEXCOLUMNS INDEXCOLUMNS Leaving Level 6 Node INDEXCOLUMNS
Entering Level 6 Node INDEXES INDEXES Leaving Level 6 Node INDEXES
Entering Level 6 Node INDEXSTATISTICS INDEXSTATISTICS Leaving Level 6 Node INDEXSTATISTICS
Entering Level 6 Node INSTANCE INSTANCE Leaving Level 6 Node INSTANCE
Entering Level 6 Node IOBUFFERCACHES IOBUFFERCACHES Leaving Level 6 Node IOBUFFERCACHES
Entering Level 6 Node IOTHREADSTATISTICS IOTHREADSTATISTICS Leaving Level 6 Node IOTHREADSTATISTICS
Entering Level 6 Node IOTHREADSTATISTICSRESET IOTHREADSTATISTICSRESET Leaving Level 6 Node IOTHREADSTATISTICSRESET
Entering Level 6 Node LOCKLISTSTATISTICS LOCKLISTSTATISTICS Leaving Level 6 Node LOCKLISTSTATISTICS
Entering Level 6 Node LOCKS LOCKS Leaving Level 6 Node LOCKS
Entering Level 6 Node LOCK_WAITS LOCK_WAITS Leaving Level 6 Node LOCK_WAITS
Entering Level 6 Node LOGINFORMATION LOGINFORMATION Leaving Level 6 Node LOGINFORMATION
Entering Level 6 Node LOGQUEUESTATISTICS LOGQUEUESTATISTICS Leaving Level 6 Node LOGQUEUESTATISTICS
Entering Level 6 Node LOGQUEUESTATISTICSRESET LOGQUEUESTATISTICSRESET Leaving Level 6 Node LOGQUEUESTATISTICSRESET
Entering Level 6 Node LOGSTATISTICS LOGSTATISTICS Leaving Level 6 Node LOGSTATISTICS
Entering Level 6 Node LOGSTATISTICSRESET LOGSTATISTICSRESET Leaving Level 6 Node LOGSTATISTICSRESET
Entering Level 6 Node LOGVOLUMES LOGVOLUMES Leaving Level 6 Node LOGVOLUMES
Entering Level 6 Node MACHINECONFIGURATION MACHINECONFIGURATION Leaving Level 6 Node MACHINECONFIGURATION
Entering Level 6 Node MACHINEUTILIZATION MACHINEUTILIZATION Leaving Level 6 Node MACHINEUTILIZATION
Entering Level 6 Node MAPCHARSETS MAPCHARSETS Leaving Level 6 Node MAPCHARSETS
Entering Level 6 Node MEMORYALLOCATORSTATISTICS MEMORYALLOCATORSTATISTICS Leaving Level 6 Node MEMORYALLOCATORSTATISTICS
Entering Level 6 Node MONITOR MONITOR Leaving Level 6 Node MONITOR
Entering Level 6 Node MONITOR_CACHES MONITOR_CACHES Leaving Level 6 Node MONITOR_CACHES
Entering Level 6 Node MONITOR_LOAD MONITOR_LOAD Leaving Level 6 Node MONITOR_LOAD
Entering Level 6 Node MONITOR_LOCK MONITOR_LOCK Leaving Level 6 Node MONITOR_LOCK
Entering Level 6 Node MONITOR_LOG MONITOR_LOG Leaving Level 6 Node MONITOR_LOG
Entering Level 6 Node MONITOR_LONG MONITOR_LONG Leaving Level 6 Node MONITOR_LONG
Entering Level 6 Node MONITOR_OMS MONITOR_OMS Leaving Level 6 Node MONITOR_OMS
Entering Level 6 Node MONITOR_PAGES MONITOR_PAGES Leaving Level 6 Node MONITOR_PAGES
Entering Level 6 Node MONITOR_ROW MONITOR_ROW Leaving Level 6 Node MONITOR_ROW
Entering Level 6 Node MONITOR_TRANS MONITOR_TRANS Leaving Level 6 Node MONITOR_TRANS
Entering Level 6 Node OBJECTLOCKS OBJECTLOCKS Leaving Level 6 Node OBJECTLOCKS
Entering Level 6 Node OMS_HEAP_STATISTICS OMS_HEAP_STATISTICS Leaving Level 6 Node OMS_HEAP_STATISTICS
Entering Level 6 Node OMS_LOCKOBJ_INFO OMS_LOCKOBJ_INFO Leaving Level 6 Node OMS_LOCKOBJ_INFO
Entering Level 6 Node OMSLOCKS OMSLOCKS Leaving Level 6 Node OMSLOCKS
Entering Level 6 Node OMS_VERSIONS OMS_VERSIONS Leaving Level 6 Node OMS_VERSIONS
Entering Level 6 Node OPTIMIZERINFORMATION OPTIMIZERINFORMATION Leaving Level 6 Node OPTIMIZERINFORMATION
Entering Level 6 Node OPTIMIZERSTATISTICS OPTIMIZERSTATISTICS Leaving Level 6 Node OPTIMIZERSTATISTICS
Entering Level 6 Node PACKAGES PACKAGES Leaving Level 6 Node PACKAGES
Entering Level 6 Node POSTUPGRADECHECKLIST POSTUPGRADECHECKLIST Leaving Level 6 Node POSTUPGRADECHECKLIST
Entering Level 6 Node READERWRITERLOCKINFORMATION READERWRITERLOCKINFORMATION Leaving Level 6 Node READERWRITERLOCKINFORMATION
Entering Level 6 Node READERWRITERLOCKSTATISTICS READERWRITERLOCKSTATISTICS Leaving Level 6 Node READERWRITERLOCKSTATISTICS
Entering Level 6 Node READERWRITERLOCKSTATISTICSRESET READERWRITERLOCKSTATISTICSRESET Leaving Level 6 Node READERWRITERLOCKSTATISTICSRESET
Entering Level 6 Node READERWRITERLOCKWAITINGTASKS READERWRITERLOCKWAITINGTASKS Leaving Level 6 Node READERWRITERLOCKWAITINGTASKS
Entering Level 6 Node REGIONINFORMATION REGIONINFORMATION Leaving Level 6 Node REGIONINFORMATION
Entering Level 6 Node RESTARTINFORMATION RESTARTINFORMATION Leaving Level 6 Node RESTARTINFORMATION
Entering Level 6 Node ROLEPRIVILEGES ROLEPRIVILEGES Leaving Level 6 Node ROLEPRIVILEGES
Entering Level 6 Node ROLES ROLES Leaving Level 6 Node ROLES
Entering Level 6 Node SCHEMAPRIVILEGES SCHEMAPRIVILEGES Leaving Level 6 Node SCHEMAPRIVILEGES
Entering Level 6 Node SCHEMAS SCHEMAS Leaving Level 6 Node SCHEMAS
Entering Level 6 Node SEQUENCES SEQUENCES Leaving Level 6 Node SEQUENCES
Entering Level 6 Node SERVERDBSTATISTICS SERVERDBSTATISTICS Leaving Level 6 Node SERVERDBSTATISTICS
Entering Level 6 Node SERVERTASKS SERVERTASKS Leaving Level 6 Node SERVERTASKS
Entering Level 6 Node SESSION_ROLES SESSION_ROLES Leaving Level 6 Node SESSION_ROLES
Entering Level 6 Node SESSIONS SESSIONS Leaving Level 6 Node SESSIONS
Entering Level 6 Node SNAPSHOTS SNAPSHOTS Leaving Level 6 Node SNAPSHOTS
Entering Level 6 Node SPINLOCKPOOLSTATISTICS SPINLOCKPOOLSTATISTICS Leaving Level 6 Node SPINLOCKPOOLSTATISTICS
Entering Level 6 Node SPINLOCKPOOLSTATISTICSRESET SPINLOCKPOOLSTATISTICSRESET Leaving Level 6 Node SPINLOCKPOOLSTATISTICSRESET
Entering Level 6 Node SPINLOCKSTATISTICS SPINLOCKSTATISTICS Leaving Level 6 Node SPINLOCKSTATISTICS
Entering Level 6 Node SPINLOCKSTATISTICSRESET SPINLOCKSTATISTICSRESET Leaving Level 6 Node SPINLOCKSTATISTICSRESET
Entering Level 6 Node SYNONYMS SYNONYMS Leaving Level 6 Node SYNONYMS
Entering Level 6 Node SYSTEMTRIGGERS SYSTEMTRIGGERS Leaving Level 6 Node SYSTEMTRIGGERS
Entering Level 6 Node SYSUPDSTATWANTED SYSUPDSTATWANTED Leaving Level 6 Node SYSUPDSTATWANTED
Entering Level 6 Node SYSUPGRADEHISTORY SYSUPGRADEHISTORY Leaving Level 6 Node SYSUPGRADEHISTORY
Entering Level 6 Node TABLEPRIVILEGES TABLEPRIVILEGES Leaving Level 6 Node TABLEPRIVILEGES
Entering Level 6 Node TABLES TABLES Leaving Level 6 Node TABLES
Entering Level 6 Node TABLESTATISTICS TABLESTATISTICS Leaving Level 6 Node TABLESTATISTICS
Entering Level 6 Node TASKGROUPSTATISTICS TASKGROUPSTATISTICS Leaving Level 6 Node TASKGROUPSTATISTICS
Entering Level 6 Node TASKGROUPSTATISTICSRESET TASKGROUPSTATISTICSRESET Leaving Level 6 Node TASKGROUPSTATISTICSRESET
Entering Level 6 Node TASKLOADBALANCINGINFORMATION TASKLOADBALANCINGINFORMATION Leaving Level 6 Node TASKLOADBALANCINGINFORMATION
Entering Level 6 Node TASKLOADBALANCINGTASKGROUPSTATES TASKLOADBALANCINGTASKGROUPSTATES Leaving Level 6 Node TASKLOADBALANCINGTASKGROUPSTATES
Entering Level 6 Node TASKLOADBALANCINGTASKMOVES TASKLOADBALANCINGTASKMOVES Leaving Level 6 Node TASKLOADBALANCINGTASKMOVES
Entering Level 6 Node TRANSACTIONHISTORY TRANSACTIONHISTORY Leaving Level 6 Node TRANSACTIONHISTORY
Entering Level 6 Node TRANSACTIONS TRANSACTIONS Leaving Level 6 Node TRANSACTIONS
Entering Level 6 Node TRANSACTIONS TRANSACTIONS Leaving Level 6 Node TRANSACTIONS
Entering Level 6 Node TRIGGERS TRIGGERS Leaving Level 6 Node TRIGGERS
Entering Level 6 Node UNLOADEDSTATEMENTS UNLOADEDSTATEMENTS Leaving Level 6 Node UNLOADEDSTATEMENTS
Entering Level 6 Node USERS USERS Leaving Level 6 Node USERS
Entering Level 6 Node USERSTATISTICS USERSTATISTICS Leaving Level 6 Node USERSTATISTICS
Entering Level 6 Node VERSION VERSION Leaving Level 6 Node VERSION
Entering Level 6 Node VERSIONS VERSIONS Leaving Level 6 Node VERSIONS
Entering Level 6 Node VIEWCOLUMNS VIEWCOLUMNS Leaving Level 6 Node VIEWCOLUMNS
Entering Level 6 Node VIEWDEFS VIEWDEFS Leaving Level 6 Node VIEWDEFS
Entering Level 6 Node VIEWS VIEWS Leaving Level 6 Node VIEWS
Entering Level 4 Node Restrictions for SQL Statements Restrictions for SQL Statements Leaving Level 4 Node Restrictions for SQL Statements
Entering Level 4 Node ORACLE SQL Mode ORACLE SQL Mode Leaving Level 4 Node ORACLE SQL Mode
Entering Level 5 Node SQL Syntax Elements SQL Syntax Elements Leaving Level 5 Node SQL Syntax Elements
Entering Level 6 Node Database Object Database Object Leaving Level 6 Node Database Object
Entering Level 6 Node Name Name Leaving Level 6 Node Name
Entering Level 6 Node Namespace Namespace Leaving Level 6 Node Namespace
Entering Level 6 Node Access to Objects Access to Objects Leaving Level 6 Node Access to Objects
Entering Level 6 Node Integer (whole number) Integer (whole number) Leaving Level 6 Node Integer (whole number)
Entering Level 6 Node Number Number Leaving Level 6 Node Number
Entering Level 6 Node Data Type Data Type Leaving Level 6 Node Data Type
Entering Level 6 Node Pseudo Column Pseudo Column Leaving Level 6 Node Pseudo Column
Entering Level 6 Node Operator Operator Leaving Level 6 Node Operator
Entering Level 6 Node Function Function Leaving Level 6 Node Function
Entering Level 6 Node Format Format Leaving Level 6 Node Format
Entering Level 5 Node SQL Statements SQL Statements Leaving Level 5 Node SQL Statements
Entering Level 6 Node alter_cluster_statement alter_cluster_statement Leaving Level 6 Node alter_cluster_statement
Entering Level 6 Node alter_database_statement alter_database_statement Leaving Level 6 Node alter_database_statement
Entering Level 6 Node alter_function_statement alter_function_statement Leaving Level 6 Node alter_function_statement
Entering Level 6 Node alter_index_statement alter_index_statement Leaving Level 6 Node alter_index_statement
Entering Level 6 Node alter_package_statement alter_package_statement Leaving Level 6 Node alter_package_statement
Entering Level 6 Node alter_procedure_statement alter_procedure_statement Leaving Level 6 Node alter_procedure_statement
Entering Level 6 Node alter_profile_statement alter_profile_statement Leaving Level 6 Node alter_profile_statement
Entering Level 6 Node alter_resource_cost_statement alter_resource_cost_statement Leaving Level 6 Node alter_resource_cost_statement
Entering Level 6 Node alter_role_statement alter_role_statement Leaving Level 6 Node alter_role_statement
Entering Level 6 Node alter_rollback_segment_statement alter_rollback_segment_statement Leaving Level 6 Node alter_rollback_segment_statement
Entering Level 6 Node alter_sequence_statement alter_sequence_statement Leaving Level 6 Node alter_sequence_statement
Entering Level 6 Node alter_snapshot_statement alter_snapshot_statement Leaving Level 6 Node alter_snapshot_statement
Entering Level 6 Node alter_snapshot_log_statement alter_snapshot_log_statement Leaving Level 6 Node alter_snapshot_log_statement
Entering Level 6 Node alter_system_statement alter_system_statement Leaving Level 6 Node alter_system_statement
Entering Level 6 Node alter_table_statement alter_table_statement Leaving Level 6 Node alter_table_statement
Entering Level 6 Node alter_tablespace_statement alter_tablespace_statement Leaving Level 6 Node alter_tablespace_statement
Entering Level 6 Node alter_trigger_statement alter_trigger_statement Leaving Level 6 Node alter_trigger_statement
Entering Level 6 Node alter_user_statement alter_user_statement Leaving Level 6 Node alter_user_statement
Entering Level 6 Node alter_view_statement alter_view_statement Leaving Level 6 Node alter_view_statement
Entering Level 6 Node analyze_statement analyze_statement Leaving Level 6 Node analyze_statement
Entering Level 6 Node audit_statement audit_statement Leaving Level 6 Node audit_statement
Entering Level 6 Node commit_statement commit_statement Leaving Level 6 Node commit_statement
Entering Level 6 Node constraint_clause constraint_clause Leaving Level 6 Node constraint_clause
Entering Level 6 Node create_cluster_statement create_cluster_statement Leaving Level 6 Node create_cluster_statement
Entering Level 6 Node create_controlfile_statement create_controlfile_statement Leaving Level 6 Node create_controlfile_statement
Entering Level 6 Node create_database_statement create_database_statement Leaving Level 6 Node create_database_statement
Entering Level 6 Node create_database_link_statement create_database_link_statement Leaving Level 6 Node create_database_link_statement
Entering Level 6 Node create_index_statement create_index_statement Leaving Level 6 Node create_index_statement
Entering Level 6 Node create_package_statement create_package_statement Leaving Level 6 Node create_package_statement
Entering Level 6 Node create_package_body_statement create_package_body_statement Leaving Level 6 Node create_package_body_statement
Entering Level 6 Node create_procedure_statement create_procedure_statement Leaving Level 6 Node create_procedure_statement
Entering Level 6 Node create_profile_statement create_profile_statement Leaving Level 6 Node create_profile_statement
Entering Level 6 Node create_rollback_segment_statement create_rollback_segment_statement Leaving Level 6 Node create_rollback_segment_statement
Entering Level 6 Node create_sequence_statement create_sequence_statement Leaving Level 6 Node create_sequence_statement
Entering Level 6 Node create_snapshot_statement create_snapshot_statement Leaving Level 6 Node create_snapshot_statement
Entering Level 6 Node create_snapshot_log_statement create_snapshot_log_statement Leaving Level 6 Node create_snapshot_log_statement
Entering Level 6 Node create_synonym_statement create_synonym_statement Leaving Level 6 Node create_synonym_statement
Entering Level 6 Node create_table_statement create_table_statement Leaving Level 6 Node create_table_statement
Entering Level 6 Node create_tablespace_statement create_tablespace_statement Leaving Level 6 Node create_tablespace_statement
Entering Level 6 Node create_trigger_statement create_trigger_statement Leaving Level 6 Node create_trigger_statement
Entering Level 6 Node create_user_statement create_user_statement Leaving Level 6 Node create_user_statement
Entering Level 6 Node create_view_statement create_view_statement Leaving Level 6 Node create_view_statement
Entering Level 6 Node declare_statement declare_statement Leaving Level 6 Node declare_statement
Entering Level 6 Node declare_table_statement declare_table_statement Leaving Level 6 Node declare_table_statement
Entering Level 6 Node delete_statement delete_statement Leaving Level 6 Node delete_statement
Entering Level 6 Node describe_statement describe_statement Leaving Level 6 Node describe_statement
Entering Level 6 Node drop_cluster_statement drop_cluster_statement Leaving Level 6 Node drop_cluster_statement
Entering Level 6 Node drop_database_link_statement drop_database_link_statement Leaving Level 6 Node drop_database_link_statement
Entering Level 6 Node drop_index_statement drop_index_statement Leaving Level 6 Node drop_index_statement
Entering Level 6 Node drop_procedure_statement drop_procedure_statement Leaving Level 6 Node drop_procedure_statement
Entering Level 6 Node drop_profile_statement drop_profile_statement Leaving Level 6 Node drop_profile_statement
Entering Level 6 Node drop_rollback_segment_statement drop_rollback_segment_statement Leaving Level 6 Node drop_rollback_segment_statement
Entering Level 6 Node drop_snapshot_statement drop_snapshot_statement Leaving Level 6 Node drop_snapshot_statement
Entering Level 6 Node drop_snapshot_log_statement drop_snapshot_log_statement Leaving Level 6 Node drop_snapshot_log_statement
Entering Level 6 Node drop_table_statement drop_table_statement Leaving Level 6 Node drop_table_statement
Entering Level 6 Node drop_tablespace_statement drop_tablespace_statement Leaving Level 6 Node drop_tablespace_statement
Entering Level 6 Node drop_trigger_statement drop_trigger_statement Leaving Level 6 Node drop_trigger_statement
Entering Level 6 Node drop_view_statement drop_view_statement Leaving Level 6 Node drop_view_statement
Entering Level 6 Node execute_statement execute_statement Leaving Level 6 Node execute_statement
Entering Level 6 Node explain_plan_statement explain_plan_statement Leaving Level 6 Node explain_plan_statement
Entering Level 6 Node grant_statement grant_statement Leaving Level 6 Node grant_statement
Entering Level 6 Node insert_statement (embedded SQL) insert_statement (embedded SQL) Leaving Level 6 Node insert_statement (embedded SQL)
Entering Level 6 Node lock_table_statement lock_table_statement Leaving Level 6 Node lock_table_statement
Entering Level 6 Node noaudit_statement noaudit_statement Leaving Level 6 Node noaudit_statement
Entering Level 6 Node rename_statement rename_statement Leaving Level 6 Node rename_statement
Entering Level 6 Node revoke_statement revoke_statement Leaving Level 6 Node revoke_statement
Entering Level 6 Node rollback_statement rollback_statement Leaving Level 6 Node rollback_statement
Entering Level 6 Node select_statement select_statement Leaving Level 6 Node select_statement
Entering Level 6 Node set_transaction_statement set_transaction_statement Leaving Level 6 Node set_transaction_statement
Entering Level 6 Node truncate_statement truncate_statement Leaving Level 6 Node truncate_statement
Entering Level 6 Node update_statement update_statement Leaving Level 6 Node update_statement
Entering Level 5 Node System Tables System Tables Leaving Level 5 Node System Tables
Entering Level 5 Node Error Messages Error Messages Leaving Level 5 Node Error Messages
Entering Level 4 Node Variables and Examples Variables and Examples Leaving Level 4 Node Variables and Examples
Entering Level 3 Node Messages Messages Leaving Level 3 Node Messages
Entering Level 4 Node Number ranges Number ranges Leaving Level 4 Node Number ranges
Entering Level 4 Node From -1 to -699 From -1 to -699 Leaving Level 4 Node From -1 to -699
Entering Level 5 Node -1: Duplicate key in index -1: Duplicate key in index Leaving Level 5 Node -1: Duplicate key in index
Entering Level 5 Node -8: Execution failed, parse again -8: Execution failed, parse again Leaving Level 5 Node -8: Execution failed, parse again
Entering Level 5 Node -20: Duplicate key -20: Duplicate key Leaving Level 5 Node -20: Duplicate key
Entering Level 5 Node -25: Duplicate secondary key -25: Duplicate secondary key Leaving Level 5 Node -25: Duplicate secondary key
Entering Level 5 Node -30: Integrity violation -30: Integrity violation Leaving Level 5 Node -30: Integrity violation
Entering Level 5 Node -32: View violation -32: View violation Leaving Level 5 Node -32: View violation
Entering Level 5 Node -35: Referential integrity violated -35: Referential integrity violated Leaving Level 5 Node -35: Referential integrity violated
Entering Level 5 Node -36: Foreign key integrity violation -36: Foreign key integrity violation Leaving Level 5 Node -36: Foreign key integrity violation
Entering Level 5 Node -40: Lock collision -40: Lock collision Leaving Level 5 Node -40: Lock collision
Entering Level 5 Node -50: Lock request timeout -50: Lock request timeout Leaving Level 5 Node -50: Lock request timeout
Entering Level 5 Node -51: Lock request timeout -51: Lock request timeout Leaving Level 5 Node -51: Lock request timeout
Entering Level 5 Node -54: Lock collision -54: Lock collision Leaving Level 5 Node -54: Lock collision
Entering Level 5 Node -60: Work rolled back -60: Work rolled back Leaving Level 5 Node -60: Work rolled back
Entering Level 5 Node -65: Work rolled back -65: Work rolled back Leaving Level 5 Node -65: Work rolled back
Entering Level 5 Node -70: Session inactivity timeout (Work rolled back) -70: Session inactivity timeout (Work rolled back) Leaving Level 5 Node -70: Session inactivity timeout (Work rolled back)
Entering Level 5 Node -71: Session terminated by shutdown (Work rolled back) -71: Session terminated by shutdown (Work rolled back) Leaving Level 5 Node -71: Session terminated by shutdown (Work rolled back)
Entering Level 5 Node -75: Too many SQL statements (Work rolled back) -75: Too many SQL statements (Work rolled back) Leaving Level 5 Node -75: Too many SQL statements (Work rolled back)
Entering Level 5 Node -101: SQL statement not available in this DB mode -101: SQL statement not available in this DB mode Leaving Level 5 Node -101: SQL statement not available in this DB mode
Entering Level 5 Node -102: SQL statement canceled -102: SQL statement canceled Leaving Level 5 Node -102: SQL statement canceled
Entering Level 5 Node -103: SQL statement not available for this application -103: SQL statement not available for this application Leaving Level 5 Node -103: SQL statement not available for this application
Entering Level 5 Node -104: DBM command impossible at this time -104: DBM command impossible at this time Leaving Level 5 Node -104: DBM command impossible at this time
Entering Level 5 Node -106: Table unloaded or content deleted -106: Table unloaded or content deleted Leaving Level 5 Node -106: Table unloaded or content deleted
Entering Level 5 Node -107: SQL statement not allowed for this instance -107: SQL statement not allowed for this instance Leaving Level 5 Node -107: SQL statement not allowed for this instance
Entering Level 5 Node -108: Table or index dropped or content deleted -108: Table or index dropped or content deleted Leaving Level 5 Node -108: Table or index dropped or content deleted
Entering Level 5 Node -111: Incompatible incremental backup -111: Incompatible incremental backup Leaving Level 5 Node -111: Incompatible incremental backup
Entering Level 5 Node -115: Table is read only -115: Table is read only Leaving Level 5 Node -115: Table is read only
Entering Level 5 Node -123: No more log to save -123: No more log to save Leaving Level 5 Node -123: No more log to save
Entering Level 5 Node -126: Data backup missing (backup history lost) -126: Data backup missing (backup history lost) Leaving Level 5 Node -126: Data backup missing (backup history lost)
Entering Level 5 Node -127: Log backup is not possible because log writing has been sw -127: Log backup is not possible because log writing has been sw Leaving Level 5 Node -127: Log backup is not possible because log writing has been sw
Entering Level 5 Node -128: Log backup is not possible because the log overwrite mode -128: Log backup is not possible because the log overwrite mode Leaving Level 5 Node -128: Log backup is not possible because the log overwrite mode
Entering Level 5 Node -530: Referential integrity violated -530: Referential integrity violated Leaving Level 5 Node -530: Referential integrity violated
Entering Level 5 Node -602: System error -602: System error Leaving Level 5 Node -602: System error
Entering Level 4 Node From -900 to -999 From -900 to -999 Leaving Level 4 Node From -900 to -999
Entering Level 5 Node -900: Data area full -900: Data area full Leaving Level 5 Node -900: Data area full
Entering Level 5 Node -901: Log full -901: Log full Leaving Level 5 Node -901: Log full
Entering Level 5 Node -902: I/O error -902: I/O error Leaving Level 5 Node -902: I/O error
Entering Level 5 Node -903: Hostfile I/O error -903: Hostfile I/O error Leaving Level 5 Node -903: Hostfile I/O error
Entering Level 5 Node -904: Space for result tables exhausted -904: Space for result tables exhausted Leaving Level 5 Node -904: Space for result tables exhausted
Entering Level 5 Node -907: Space for user session exhausted -907: Space for user session exhausted Leaving Level 5 Node -907: Space for user session exhausted
Entering Level 5 Node -910: COSTLIMIT for this user exhausted -910: COSTLIMIT for this user exhausted Leaving Level 5 Node -910: COSTLIMIT for this user exhausted
Entering Level 5 Node -911: Work rolled back -911: Work rolled back Leaving Level 5 Node -911: Work rolled back
Entering Level 5 Node -913: Lock request timeout -913: Lock request timeout Leaving Level 5 Node -913: Lock request timeout
Entering Level 5 Node -914: New volume not accessible -914: New volume not accessible Leaving Level 5 Node -914: New volume not accessible
Entering Level 5 Node -915: No more memory -915: No more memory Leaving Level 5 Node -915: No more memory
Entering Level 5 Node -917: Save/restore write process crash - I/O error -917: Save/restore write process crash - I/O error Leaving Level 5 Node -917: Save/restore write process crash - I/O error
Entering Level 5 Node -918: Stack overflow -918: Stack overflow Leaving Level 5 Node -918: Stack overflow
Entering Level 5 Node -942: Unknown table name -942: Unknown table name Leaving Level 5 Node -942: Unknown table name
Entering Level 5 Node -955: Duplicate name -955: Duplicate name Leaving Level 5 Node -955: Duplicate name
Entering Level 4 Node From -1000 to -1999 From -1000 to -1999 Leaving Level 4 Node From -1000 to -1999
Entering Level 5 Node -1000: Too many lock requests -1000: Too many lock requests Leaving Level 5 Node -1000: Too many lock requests
Entering Level 5 Node -1001: Too many lock objects specified -1001: Too many lock objects specified Leaving Level 5 Node -1001: Too many lock objects specified
Entering Level 5 Node -1002: Too many columns -1002: Too many columns Leaving Level 5 Node -1002: Too many columns
Entering Level 5 Node -1003: Too many buffers requested -1003: Too many buffers requested Leaving Level 5 Node -1003: Too many buffers requested
Entering Level 5 Node -1004: Too many correlated columns -1004: Too many correlated columns Leaving Level 5 Node -1004: Too many correlated columns
Entering Level 5 Node -1005: Too many monadic operators -1005: Too many monadic operators Leaving Level 5 Node -1005: Too many monadic operators
Entering Level 5 Node -1006: Too many variables -1006: Too many variables Leaving Level 5 Node -1006: Too many variables
Entering Level 5 Node -1007: Parameter list too long -1007: Parameter list too long Leaving Level 5 Node -1007: Parameter list too long
Entering Level 5 Node -1008: Too many or too few host variables for output -1008: Too many or too few host variables for output Leaving Level 5 Node -1008: Too many or too few host variables for output
Entering Level 5 Node -1009: Too many named indexes for this table -1009: Too many named indexes for this table Leaving Level 5 Node -1009: Too many named indexes for this table
Entering Level 5 Node -1010: Too many volumes -1010: Too many volumes Leaving Level 5 Node -1010: Too many volumes
Entering Level 5 Node -1011: Too many correlated tables -1011: Too many correlated tables Leaving Level 5 Node -1011: Too many correlated tables
Entering Level 5 Node -1012: Too many referential constraint definitions for this tabl -1012: Too many referential constraint definitions for this tabl Leaving Level 5 Node -1012: Too many referential constraint definitions for this tabl
Entering Level 5 Node -1013: Too many order columns -1013: Too many order columns Leaving Level 5 Node -1013: Too many order columns
Entering Level 5 Node -1014: Too many source tables -1014: Too many source tables Leaving Level 5 Node -1014: Too many source tables
Entering Level 5 Node -1015: Too many values -1015: Too many values Leaving Level 5 Node -1015: Too many values
Entering Level 5 Node -1017: Too many joins -1017: Too many joins Leaving Level 5 Node -1017: Too many joins
Entering Level 5 Node -1023: Too many nested subtransactions -1023: Too many nested subtransactions Leaving Level 5 Node -1023: Too many nested subtransactions
Entering Level 5 Node -1025: Too many asynchron requests -1025: Too many asynchron requests Leaving Level 5 Node -1025: Too many asynchron requests
Entering Level 5 Node -1026: Too many differences between old and new view definition -1026: Too many differences between old and new view definition Leaving Level 5 Node -1026: Too many differences between old and new view definition
Entering Level 5 Node -1102: Too complicated SQL statement (Too many subqueries) -1102: Too complicated SQL statement (Too many subqueries) Leaving Level 5 Node -1102: Too complicated SQL statement (Too many subqueries)
Entering Level 5 Node -1103: Too complicated SQL statement -1103: Too complicated SQL statement Leaving Level 5 Node -1103: Too complicated SQL statement
Entering Level 5 Node -1104: Too complicated SQL statement (KB-stack overflow) -1104: Too complicated SQL statement (KB-stack overflow) Leaving Level 5 Node -1104: Too complicated SQL statement (KB-stack overflow)
Entering Level 5 Node -1105: Too complicated SQL statement (Too much data) -1105: Too complicated SQL statement (Too much data) Leaving Level 5 Node -1105: Too complicated SQL statement (Too much data)
Entering Level 5 Node -1106: Too complicated SQL statement (Too much strategy data) -1106: Too complicated SQL statement (Too much strategy data) Leaving Level 5 Node -1106: Too complicated SQL statement (Too much strategy data)
Entering Level 5 Node -1107: Too complicated SQL statement (Too many internal commands -1107: Too complicated SQL statement (Too many internal commands Leaving Level 5 Node -1107: Too complicated SQL statement (Too many internal commands
Entering Level 5 Node -1108: Too complicated SQL statement (correlated row too long) -1108: Too complicated SQL statement (correlated row too long) Leaving Level 5 Node -1108: Too complicated SQL statement (correlated row too long)
Entering Level 5 Node -1110: View definition too long -1110: View definition too long Leaving Level 5 Node -1110: View definition too long
Entering Level 5 Node -1111: Too many savepoints -1111: Too many savepoints Leaving Level 5 Node -1111: Too many savepoints
Entering Level 5 Node -1112: Constraint too complicated -1112: Constraint too complicated Leaving Level 5 Node -1112: Constraint too complicated
Entering Level 5 Node -1113: Too many nested function calls -1113: Too many nested function calls Leaving Level 5 Node -1113: Too many nested function calls
Entering Level 5 Node -1114: Communication packet too small -1114: Communication packet too small Leaving Level 5 Node -1114: Communication packet too small
Entering Level 5 Node -1115: Too many intern columns -1115: Too many intern columns Leaving Level 5 Node -1115: Too many intern columns
Entering Level 5 Node -1116: Too long trigger parameters -1116: Too long trigger parameters Leaving Level 5 Node -1116: Too long trigger parameters
Entering Level 5 Node -1117: Too complicated trigger qualification -1117: Too complicated trigger qualification Leaving Level 5 Node -1117: Too complicated trigger qualification
Entering Level 5 Node -1119: Too many constraints for this table -1119: Too many constraints for this table Leaving Level 5 Node -1119: Too many constraints for this table
Entering Level 5 Node -1120: Too many statements in definition -1120: Too many statements in definition Leaving Level 5 Node -1120: Too many statements in definition
Entering Level 5 Node -1200: Too few values -1200: Too few values Leaving Level 5 Node -1200: Too few values
Entering Level 5 Node -1201: Too few columns -1201: Too few columns Leaving Level 5 Node -1201: Too few columns
Entering Level 5 Node -1400: Input parameter cannot be NULL value -1400: Input parameter cannot be NULL value Leaving Level 5 Node -1400: Input parameter cannot be NULL value
Entering Level 5 Node -1402: Integrity violation -1402: Integrity violation Leaving Level 5 Node -1402: Integrity violation
Entering Level 5 Node -1403: Row not found -1403: Row not found Leaving Level 5 Node -1403: Row not found
Entering Level 5 Node -1405: Missing indicator variable, output parameter with NULL va -1405: Missing indicator variable, output parameter with NULL va Leaving Level 5 Node -1405: Missing indicator variable, output parameter with NULL va
Entering Level 5 Node -1406: Output value truncated -1406: Output value truncated Leaving Level 5 Node -1406: Output value truncated
Entering Level 5 Node -1452: Duplicate secondary key -1452: Duplicate secondary key Leaving Level 5 Node -1452: Duplicate secondary key
Entering Level 5 Node -1556: Data space full -1556: Data space full Leaving Level 5 Node -1556: Data space full
Entering Level 5 Node -1755: SQL statement will drop further objects (use CASCADE) -1755: SQL statement will drop further objects (use CASCADE) Leaving Level 5 Node -1755: SQL statement will drop further objects (use CASCADE)
Entering Level 4 Node From -2000 to -2999 From -2000 to -2999 Leaving Level 4 Node From -2000 to -2999
Entering Level 5 Node -2000: Row too long -2000: Row too long Leaving Level 5 Node -2000: Row too long
Entering Level 5 Node -2001: Key too long -2001: Key too long Leaving Level 5 Node -2001: Key too long
Entering Level 5 Node -2002: One output column too long -2002: One output column too long Leaving Level 5 Node -2002: One output column too long
Entering Level 5 Node -2003: Output columns too long -2003: Output columns too long Leaving Level 5 Node -2003: Output columns too long
Entering Level 5 Node -2004: Numeric constant too long -2004: Numeric constant too long Leaving Level 5 Node -2004: Numeric constant too long
Entering Level 5 Node -2008: Data area too small -2008: Data area too small Leaving Level 5 Node -2008: Data area too small
Entering Level 5 Node -2009: Join columns too long -2009: Join columns too long Leaving Level 5 Node -2009: Join columns too long
Entering Level 5 Node -2010: Assignment impossible, char value too long -2010: Assignment impossible, char value too long Leaving Level 5 Node -2010: Assignment impossible, char value too long
Entering Level 5 Node -2012: View column list too long -2012: View column list too long Leaving Level 5 Node -2012: View column list too long
Entering Level 5 Node -2013: Select column list too long -2013: Select column list too long Leaving Level 5 Node -2013: Select column list too long
Entering Level 5 Node -2014: Identifier too long -2014: Identifier too long Leaving Level 5 Node -2014: Identifier too long
Entering Level 5 Node -2020: Data buffer too small -2020: Data buffer too small Leaving Level 5 Node -2020: Data buffer too small
Entering Level 5 Node -2025: Invalid number of backup devices -2025: Invalid number of backup devices Leaving Level 5 Node -2025: Invalid number of backup devices
Entering Level 5 Node -2027: Space for converted value too small -2027: Space for converted value too small Leaving Level 5 Node -2027: Space for converted value too small
Entering Level 5 Node -2028: Sequence <sequence name> exhausted -2028: Sequence <sequence name> exhausted Leaving Level 5 Node -2028: Sequence <sequence name> exhausted
Entering Level 5 Node -2029: <sequence_name>.CURRVAL is not yet defined in this sessio -2029: <sequence_name>.CURRVAL is not yet defined in this sessio Leaving Level 5 Node -2029: <sequence_name>.CURRVAL is not yet defined in this sessio
Entering Level 4 Node From -3000 to -3999 From -3000 to -3999 Leaving Level 4 Node From -3000 to -3999
Entering Level 5 Node -3000: Invalid host file content -3000: Invalid host file content Leaving Level 5 Node -3000: Invalid host file content
Entering Level 5 Node -3002: Invalid datatype -3002: Invalid datatype Leaving Level 5 Node -3002: Invalid datatype
Entering Level 5 Node -3003: Invalid user name -3003: Invalid user name Leaving Level 5 Node -3003: Invalid user name
Entering Level 5 Node -3004: Invalid host file sequence -3004: Invalid host file sequence Leaving Level 5 Node -3004: Invalid host file sequence
Entering Level 5 Node -3005: Invalid SQL statement -3005: Invalid SQL statement Leaving Level 5 Node -3005: Invalid SQL statement
Entering Level 5 Node -3007: Invalid sequence for DML and DDL statements -3007: Invalid sequence for DML and DDL statements Leaving Level 5 Node -3007: Invalid sequence for DML and DDL statements
Entering Level 5 Node -3008: Invalid keyword or missing delimiter -3008: Invalid keyword or missing delimiter Leaving Level 5 Node -3008: Invalid keyword or missing delimiter
Entering Level 5 Node -3009: Invalid table name -3009: Invalid table name Leaving Level 5 Node -3009: Invalid table name
Entering Level 5 Node -3011: Invalid column name -3011: Invalid column name Leaving Level 5 Node -3011: Invalid column name
Entering Level 5 Node -3014: Invalid end of SQL statement -3014: Invalid end of SQL statement Leaving Level 5 Node -3014: Invalid end of SQL statement
Entering Level 5 Node -3016: Invalid numeric constant -3016: Invalid numeric constant Leaving Level 5 Node -3016: Invalid numeric constant
Entering Level 5 Node -3017: Invalid unsigned integer -3017: Invalid unsigned integer Leaving Level 5 Node -3017: Invalid unsigned integer
Entering Level 5 Node -3018: Invalid numeric parameter -3018: Invalid numeric parameter Leaving Level 5 Node -3018: Invalid numeric parameter
Entering Level 5 Node -3019: Invalid exponent -3019: Invalid exponent Leaving Level 5 Node -3019: Invalid exponent
Entering Level 5 Node -3020: Invalid length for this data type -3020: Invalid length for this data type Leaving Level 5 Node -3020: Invalid length for this data type
Entering Level 5 Node -3021: Invalid mixture of functions and columns -3021: Invalid mixture of functions and columns Leaving Level 5 Node -3021: Invalid mixture of functions and columns
Entering Level 5 Node -3022: Invalid number of tables for outer join -3022: Invalid number of tables for outer join Leaving Level 5 Node -3022: Invalid number of tables for outer join
Entering Level 5 Node -3024: Invalid numeric expression -3024: Invalid numeric expression Leaving Level 5 Node -3024: Invalid numeric expression
Entering Level 5 Node -3030: Invalid SESSION TIMEOUT -3030: Invalid SESSION TIMEOUT Leaving Level 5 Node -3030: Invalid SESSION TIMEOUT
Entering Level 5 Node -3035: Invalid date time format -3035: Invalid date time format Leaving Level 5 Node -3035: Invalid date time format
Entering Level 5 Node -3037: Invalid volume name -3037: Invalid volume name Leaving Level 5 Node -3037: Invalid volume name
Entering Level 5 Node -3038: Invalid volume size -3038: Invalid volume size Leaving Level 5 Node -3038: Invalid volume size
Entering Level 5 Node -3046: Invalid char position in string function -3046: Invalid char position in string function Leaving Level 5 Node -3046: Invalid char position in string function
Entering Level 5 Node -3047: Invalid table for RESTORE CATALOG -3047: Invalid table for RESTORE CATALOG Leaving Level 5 Node -3047: Invalid table for RESTORE CATALOG
Entering Level 5 Node -3048: Invalid date format -3048: Invalid date format Leaving Level 5 Node -3048: Invalid date format
Entering Level 5 Node -3049: Invalid time format -3049: Invalid time format Leaving Level 5 Node -3049: Invalid time format
Entering Level 5 Node -3050: Invalid timestamp format -3050: Invalid timestamp format Leaving Level 5 Node -3050: Invalid timestamp format
Entering Level 5 Node -3054: Invalid block size -3054: Invalid block size Leaving Level 5 Node -3054: Invalid block size
Entering Level 5 Node -3059: Invalid day of week -3059: Invalid day of week Leaving Level 5 Node -3059: Invalid day of week
Entering Level 5 Node -3060: Invalid escape sequence -3060: Invalid escape sequence Leaving Level 5 Node -3060: Invalid escape sequence
Entering Level 5 Node -3061: Invalid escape value -3061: Invalid escape value Leaving Level 5 Node -3061: Invalid escape value
Entering Level 5 Node -3062: Invalid month -3062: Invalid month Leaving Level 5 Node -3062: Invalid month
Entering Level 5 Node -3063: Invalid format code -3063: Invalid format code Leaving Level 5 Node -3063: Invalid format code
Entering Level 5 Node -3064: Date input value out of range -3064: Date input value out of range Leaving Level 5 Node -3064: Date input value out of range
Entering Level 5 Node -3065: Invalid date input value -3065: Invalid date input value Leaving Level 5 Node -3065: Invalid date input value
Entering Level 5 Node -3066: Date input value inconsistent -3066: Date input value inconsistent Leaving Level 5 Node -3066: Date input value inconsistent
Entering Level 5 Node -3067: Invalid timezone -3067: Invalid timezone Leaving Level 5 Node -3067: Invalid timezone
Entering Level 5 Node -3068: Mismatch of parameter configuration between backup and in -3068: Mismatch of parameter configuration between backup and in Leaving Level 5 Node -3068: Mismatch of parameter configuration between backup and in
Entering Level 5 Node -3069: Bad xparam page in backup -3069: Bad xparam page in backup Leaving Level 5 Node -3069: Bad xparam page in backup
Entering Level 5 Node -3102: Invalid subtrans structure -3102: Invalid subtrans structure Leaving Level 5 Node -3102: Invalid subtrans structure
Entering Level 5 Node -3103: Invalid sequence definition -3103: Invalid sequence definition Leaving Level 5 Node -3103: Invalid sequence definition
Entering Level 5 Node -3995: Invalid pattern -3995: Invalid pattern Leaving Level 5 Node -3995: Invalid pattern
Entering Level 5 Node -3998: Wrong password -3998: Wrong password Leaving Level 5 Node -3998: Wrong password
Entering Level 5 Node -3999: Invalid parameter -3999: Invalid parameter Leaving Level 5 Node -3999: Invalid parameter
Entering Level 4 Node From -4000 to -4999 From -4000 to -4999 Leaving Level 4 Node From -4000 to -4999
Entering Level 5 Node -4000: Unknown result table -4000: Unknown result table Leaving Level 5 Node -4000: Unknown result table
Entering Level 5 Node -4002: Unknown password -4002: Unknown password Leaving Level 5 Node -4002: Unknown password
Entering Level 5 Node -4003: Unknown user name -4003: Unknown user name Leaving Level 5 Node -4003: Unknown user name
Entering Level 5 Node -4004: Unknown table name -4004: Unknown table name Leaving Level 5 Node -4004: Unknown table name
Entering Level 5 Node -4005: Unknown column name -4005: Unknown column name Leaving Level 5 Node -4005: Unknown column name
Entering Level 5 Node -4006: Unknown domain name -4006: Unknown domain name Leaving Level 5 Node -4006: Unknown domain name
Entering Level 5 Node -4007: Unknown synonym name -4007: Unknown synonym name Leaving Level 5 Node -4007: Unknown synonym name
Entering Level 5 Node -4008: Unknown user name/password combination -4008: Unknown user name/password combination Leaving Level 5 Node -4008: Unknown user name/password combination
Entering Level 5 Node -4009: Unknown referential constraint name -4009: Unknown referential constraint name Leaving Level 5 Node -4009: Unknown referential constraint name
Entering Level 5 Node -4010: Unknown MAPCHAR SET name -4010: Unknown MAPCHAR SET name Leaving Level 5 Node -4010: Unknown MAPCHAR SET name
Entering Level 5 Node -4011: Unknown index name -4011: Unknown index name Leaving Level 5 Node -4011: Unknown index name
Entering Level 5 Node -4013: Unknown user group name -4013: Unknown user group name Leaving Level 5 Node -4013: Unknown user group name
Entering Level 5 Node -4014: Unknown SERVERDB name -4014: Unknown SERVERDB name Leaving Level 5 Node -4014: Unknown SERVERDB name
Entering Level 5 Node -4016: Unknown procedure name -4016: Unknown procedure name Leaving Level 5 Node -4016: Unknown procedure name
Entering Level 5 Node -4017: Unknown constraint -4017: Unknown constraint Leaving Level 5 Node -4017: Unknown constraint
Entering Level 5 Node -4018: Unknown default -4018: Unknown default Leaving Level 5 Node -4018: Unknown default
Entering Level 5 Node -4019: Unknown trigger name -4019: Unknown trigger name Leaving Level 5 Node -4019: Unknown trigger name
Entering Level 5 Node -4020: Unknown sequence name -4020: Unknown sequence name Leaving Level 5 Node -4020: Unknown sequence name
Entering Level 5 Node -4023: Unknown function name -4023: Unknown function name Leaving Level 5 Node -4023: Unknown function name
Entering Level 5 Node -4024: Unknown name -4024: Unknown name Leaving Level 5 Node -4024: Unknown name
Entering Level 5 Node -4025: Unknown or not loaded character set -4025: Unknown or not loaded character set Leaving Level 5 Node -4025: Unknown or not loaded character set
Entering Level 5 Node -4027: Unknown session -4027: Unknown session Leaving Level 5 Node -4027: Unknown session
Entering Level 5 Node -4030: Unknown schema -4030: Unknown schema Leaving Level 5 Node -4030: Unknown schema
Entering Level 4 Node From -5000 to -5999 From -5000 to -5999 Leaving Level 4 Node From -5000 to -5999
Entering Level 5 Node -5001: Missing privilege -5001: Missing privilege Leaving Level 5 Node -5001: Missing privilege
Entering Level 5 Node -5003: Missing key specification -5003: Missing key specification Leaving Level 5 Node -5003: Missing key specification
Entering Level 5 Node -5004: Missing constant -5004: Missing constant Leaving Level 5 Node -5004: Missing constant
Entering Level 5 Node -5005: Missing non-NULL value -5005: Missing non-NULL value Leaving Level 5 Node -5005: Missing non-NULL value
Entering Level 5 Node -5006: Missing identifier -5006: Missing identifier Leaving Level 5 Node -5006: Missing identifier
Entering Level 5 Node -5007: Missing numeric constant -5007: Missing numeric constant Leaving Level 5 Node -5007: Missing numeric constant
Entering Level 5 Node -5008: Missing string constant -5008: Missing string constant Leaving Level 5 Node -5008: Missing string constant
Entering Level 5 Node -5009: Missing integer -5009: Missing integer Leaving Level 5 Node -5009: Missing integer
Entering Level 5 Node -5010: Missing value specification -5010: Missing value specification Leaving Level 5 Node -5010: Missing value specification
Entering Level 5 Node -5012: Missing definite table name -5012: Missing definite table name Leaving Level 5 Node -5012: Missing definite table name
Entering Level 5 Node -5013: Missing update column -5013: Missing update column Leaving Level 5 Node -5013: Missing update column
Entering Level 5 Node -5014: Missing definite column name -5014: Missing definite column name Leaving Level 5 Node -5014: Missing definite column name
Entering Level 5 Node -5015: Missing keyword -5015: Missing keyword Leaving Level 5 Node -5015: Missing keyword
Entering Level 5 Node -5016: Missing delimiter -5016: Missing delimiter Leaving Level 5 Node -5016: Missing delimiter
Entering Level 4 Node From -6000 to -6999 From -6000 to -6999 Leaving Level 4 Node From -6000 to -6999
Entering Level 5 Node -6000: Duplicate table name -6000: Duplicate table name Leaving Level 5 Node -6000: Duplicate table name
Entering Level 5 Node -6001: Duplicate column name -6001: Duplicate column name Leaving Level 5 Node -6001: Duplicate column name
Entering Level 5 Node -6002: Duplicate privilege -6002: Duplicate privilege Leaving Level 5 Node -6002: Duplicate privilege
Entering Level 5 Node -6003: Duplicate result table name -6003: Duplicate result table name Leaving Level 5 Node -6003: Duplicate result table name
Entering Level 5 Node -6006: Duplicate name -6006: Duplicate name Leaving Level 5 Node -6006: Duplicate name
Entering Level 5 Node -6008: Duplicate index name -6008: Duplicate index name Leaving Level 5 Node -6008: Duplicate index name
Entering Level 5 Node -6009: Duplicate reference name -6009: Duplicate reference name Leaving Level 5 Node -6009: Duplicate reference name
Entering Level 5 Node -6011: Duplicate constraint -6011: Duplicate constraint Leaving Level 5 Node -6011: Duplicate constraint
Entering Level 5 Node -6012: Duplicate default -6012: Duplicate default Leaving Level 5 Node -6012: Duplicate default
Entering Level 5 Node -6013: Duplicate trigger definition -6013: Duplicate trigger definition Leaving Level 5 Node -6013: Duplicate trigger definition
Entering Level 5 Node -6014: Duplicate value -6014: Duplicate value Leaving Level 5 Node -6014: Duplicate value
Entering Level 5 Node -6016: Duplicate format code -6016: Duplicate format code Leaving Level 5 Node -6016: Duplicate format code
Entering Level 4 Node From -7000 to -7999 From -7000 to -7999 Leaving Level 4 Node From -7000 to -7999
Entering Level 5 Node -7002: KEY not allowed -7002: KEY not allowed Leaving Level 5 Node -7002: KEY not allowed
Entering Level 5 Node -7003: NOT NULL not allowed -7003: NOT NULL not allowed Leaving Level 5 Node -7003: NOT NULL not allowed
Entering Level 5 Node -7004: DEFAULT not allowed -7004: DEFAULT not allowed Leaving Level 5 Node -7004: DEFAULT not allowed
Entering Level 5 Node -7005: Lower bound greater than upper bound not allowed -7005: Lower bound greater than upper bound not allowed Leaving Level 5 Node -7005: Lower bound greater than upper bound not allowed
Entering Level 5 Node -7006: Reserved identifier not allowed -7006: Reserved identifier not allowed Leaving Level 5 Node -7006: Reserved identifier not allowed
Entering Level 5 Node -7007: Key column not allowed -7007: Key column not allowed Leaving Level 5 Node -7007: Key column not allowed
Entering Level 5 Node -7008: Updates of this table not allowed -7008: Updates of this table not allowed Leaving Level 5 Node -7008: Updates of this table not allowed
Entering Level 5 Node -7009: NULL value in key column not allowed -7009: NULL value in key column not allowed Leaving Level 5 Node -7009: NULL value in key column not allowed
Entering Level 5 Node -7011: Correlated subquery not allowed -7011: Correlated subquery not allowed Leaving Level 5 Node -7011: Correlated subquery not allowed
Entering Level 5 Node -7012: More than one update row not allowed -7012: More than one update row not allowed Leaving Level 5 Node -7012: More than one update row not allowed
Entering Level 5 Node -7015: More than one result row not allowed -7015: More than one result row not allowed Leaving Level 5 Node -7015: More than one result row not allowed
Entering Level 5 Node -7016: Parameter spec not allowed in this context -7016: Parameter spec not allowed in this context Leaving Level 5 Node -7016: Parameter spec not allowed in this context
Entering Level 5 Node -7017: User not allowed -7017: User not allowed Leaving Level 5 Node -7017: User not allowed
Entering Level 5 Node -7018: Variable not allowed in view definition -7018: Variable not allowed in view definition Leaving Level 5 Node -7018: Variable not allowed in view definition
Entering Level 5 Node -7019: Feature not allowed in view definition -7019: Feature not allowed in view definition Leaving Level 5 Node -7019: Feature not allowed in view definition
Entering Level 5 Node -7021: View column derived from function not allowed -7021: View column derived from function not allowed Leaving Level 5 Node -7021: View column derived from function not allowed
Entering Level 5 Node -7022: Columns from more than one table not allowed -7022: Columns from more than one table not allowed Leaving Level 5 Node -7022: Columns from more than one table not allowed
Entering Level 5 Node -7023: Dropping of all columns not allowed -7023: Dropping of all columns not allowed Leaving Level 5 Node -7023: Dropping of all columns not allowed
Entering Level 5 Node -7024: Alter column not allowed, constraint violation -7024: Alter column not allowed, constraint violation Leaving Level 5 Node -7024: Alter column not allowed, constraint violation
Entering Level 5 Node -7026: SQL statement not allowed without previous FETCH -7026: SQL statement not allowed without previous FETCH Leaving Level 5 Node -7026: SQL statement not allowed without previous FETCH
Entering Level 5 Node -7029: Function not allowed for this data type -7029: Function not allowed for this data type Leaving Level 5 Node -7029: Function not allowed for this data type
Entering Level 5 Node -7032: SQL statement not allowed for column of data type LONG -7032: SQL statement not allowed for column of data type LONG Leaving Level 5 Node -7032: SQL statement not allowed for column of data type LONG
Entering Level 5 Node -7035: DEFAULT specification not allowed for this column -7035: DEFAULT specification not allowed for this column Leaving Level 5 Node -7035: DEFAULT specification not allowed for this column
Entering Level 5 Node -7036: ROWNO- specification not allowed in this context -7036: ROWNO- specification not allowed in this context Leaving Level 5 Node -7036: ROWNO- specification not allowed in this context
Entering Level 5 Node -7037: NULL value for NOT NULL column not allowed -7037: NULL value for NOT NULL column not allowed Leaving Level 5 Node -7037: NULL value for NOT NULL column not allowed
Entering Level 5 Node -7038: Foreign key column not allowed -7038: Foreign key column not allowed Leaving Level 5 Node -7038: Foreign key column not allowed
Entering Level 5 Node -7039: Cycle in referential constraint definition not allowed -7039: Cycle in referential constraint definition not allowed Leaving Level 5 Node -7039: Cycle in referential constraint definition not allowed
Entering Level 5 Node -7040: Referential constraint not allowed -7040: Referential constraint not allowed Leaving Level 5 Node -7040: Referential constraint not allowed
Entering Level 5 Node -7041: Result table name not allowed -7041: Result table name not allowed Leaving Level 5 Node -7041: Result table name not allowed
Entering Level 5 Node -7042: Key update not allowed -7042: Key update not allowed Leaving Level 5 Node -7042: Key update not allowed
Entering Level 5 Node -7043: Group member not allowed -7043: Group member not allowed Leaving Level 5 Node -7043: Group member not allowed
Entering Level 5 Node -7045: Parameter spec not allowed -7045: Parameter spec not allowed Leaving Level 5 Node -7045: Parameter spec not allowed
Entering Level 5 Node -7046: Column with length greater than 254 not allowed -7046: Column with length greater than 254 not allowed Leaving Level 5 Node -7046: Column with length greater than 254 not allowed
Entering Level 5 Node -7048: DROP/ALTER USER not allowed while user is connected -7048: DROP/ALTER USER not allowed while user is connected Leaving Level 5 Node -7048: DROP/ALTER USER not allowed while user is connected
Entering Level 5 Node -7050: Fastload with indexed table not allowed -7050: Fastload with indexed table not allowed Leaving Level 5 Node -7050: Fastload with indexed table not allowed
Entering Level 5 Node -7051: Read only view WITH CHECK OPTION not allowed -7051: Read only view WITH CHECK OPTION not allowed Leaving Level 5 Node -7051: Read only view WITH CHECK OPTION not allowed
Entering Level 5 Node -7055: Column(s) already indexed -7055: Column(s) already indexed Leaving Level 5 Node -7055: Column(s) already indexed
Entering Level 5 Node -7056: Subquery not allowed -7056: Subquery not allowed Leaving Level 5 Node -7056: Subquery not allowed
Entering Level 5 Node -7057: View definition contradicts new table definition -7057: View definition contradicts new table definition Leaving Level 5 Node -7057: View definition contradicts new table definition
Entering Level 5 Node -7058: Correlated subquery with select in from clause not allowe -7058: Correlated subquery with select in from clause not allowe Leaving Level 5 Node -7058: Correlated subquery with select in from clause not allowe
Entering Level 5 Node -7061: LOCK ROW for this table not allowed -7061: LOCK ROW for this table not allowed Leaving Level 5 Node -7061: LOCK ROW for this table not allowed
Entering Level 5 Node -7063: Temp table not allowed -7063: Temp table not allowed Leaving Level 5 Node -7063: Temp table not allowed
Entering Level 5 Node -7064: Feature not allowed in temp table definition -7064: Feature not allowed in temp table definition Leaving Level 5 Node -7064: Feature not allowed in temp table definition
Entering Level 5 Node -7065: SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEG -7065: SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEG Leaving Level 5 Node -7065: SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEG
Entering Level 5 Node -7066: Unique index referenced by foreign key not allowed -7066: Unique index referenced by foreign key not allowed Leaving Level 5 Node -7066: Unique index referenced by foreign key not allowed
Entering Level 5 Node -7067: Update without repeated read not allowed -7067: Update without repeated read not allowed Leaving Level 5 Node -7067: Update without repeated read not allowed
Entering Level 5 Node -7068: Outer Join not allowed in this context -7068: Outer Join not allowed in this context Leaving Level 5 Node -7068: Outer Join not allowed in this context
Entering Level 5 Node -7071: AUTOSAVE LOG must be stopped -7071: AUTOSAVE LOG must be stopped Leaving Level 5 Node -7071: AUTOSAVE LOG must be stopped
Entering Level 5 Node -7072: More than one column with default SERIAL not allowed -7072: More than one column with default SERIAL not allowed Leaving Level 5 Node -7072: More than one column with default SERIAL not allowed
Entering Level 5 Node -7074: Cycle in granted roles not allowed -7074: Cycle in granted roles not allowed Leaving Level 5 Node -7074: Cycle in granted roles not allowed
Entering Level 5 Node -7075: Current save skipped, next is ready to take on this tape -7075: Current save skipped, next is ready to take on this tape Leaving Level 5 Node -7075: Current save skipped, next is ready to take on this tape
Entering Level 5 Node -7076: No more data to read from tape -7076: No more data to read from tape Leaving Level 5 Node -7076: No more data to read from tape
Entering Level 5 Node -7077: Synonym not allowed -7077: Synonym not allowed Leaving Level 5 Node -7077: Synonym not allowed
Entering Level 5 Node -7078: No backup is running -7078: No backup is running Leaving Level 5 Node -7078: No backup is running
Entering Level 5 Node -7079: A backup is already running -7079: A backup is already running Leaving Level 5 Node -7079: A backup is already running
Entering Level 5 Node -7080: Query in statement not allowed -7080: Query in statement not allowed Leaving Level 5 Node -7080: Query in statement not allowed
Entering Level 5 Node -7082: SQL statement not allowed for this table type -7082: SQL statement not allowed for this table type Leaving Level 5 Node -7082: SQL statement not allowed for this table type
Entering Level 5 Node -7084: Parameter change not allowed -7084: Parameter change not allowed Leaving Level 5 Node -7084: Parameter change not allowed
Entering Level 5 Node -7085: Function not allowed for this cursor -7085: Function not allowed for this cursor Leaving Level 5 Node -7085: Function not allowed for this cursor
Entering Level 5 Node -7086: Schema not allowed -7086: Schema not allowed Leaving Level 5 Node -7086: Schema not allowed
Entering Level 5 Node -7500: DCOM HRESULT -7500: DCOM HRESULT Leaving Level 5 Node -7500: DCOM HRESULT
Entering Level 5 Node -7900: Different block sizes -7900: Different block sizes Leaving Level 5 Node -7900: Different block sizes
Entering Level 4 Node From -8000 to -9799 From -8000 to -9799 Leaving Level 4 Node From -8000 to -9799
Entering Level 5 Node -8000: SERVERDB must be restarted -8000: SERVERDB must be restarted Leaving Level 5 Node -8000: SERVERDB must be restarted
Entering Level 5 Node -8001: User must be connected -8001: User must be connected Leaving Level 5 Node -8001: User must be connected
Entering Level 5 Node -8002: User already connected to this user task -8002: User already connected to this user task Leaving Level 5 Node -8002: User already connected to this user task
Entering Level 5 Node -8003: Log and data must be compatible -8003: Log and data must be compatible Leaving Level 5 Node -8003: Log and data must be compatible
Entering Level 5 Node -8004: Constant must be compatible with column type and length -8004: Constant must be compatible with column type and length Leaving Level 5 Node -8004: Constant must be compatible with column type and length
Entering Level 5 Node -8005: Value expression must be parameter name -8005: Value expression must be parameter name Leaving Level 5 Node -8005: Value expression must be parameter name
Entering Level 5 Node -8006: Data types must be compatible -8006: Data types must be compatible Leaving Level 5 Node -8006: Data types must be compatible
Entering Level 5 Node -8007: Column must be key column -8007: Column must be key column Leaving Level 5 Node -8007: Column must be key column
Entering Level 5 Node -8009: DEFAULT value must be in constraint specification -8009: DEFAULT value must be in constraint specification Leaving Level 5 Node -8009: DEFAULT value must be in constraint specification
Entering Level 5 Node -8010: Table name must be in from list -8010: Table name must be in from list Leaving Level 5 Node -8010: Table name must be in from list
Entering Level 5 Node -8013: Order column must be output column -8013: Order column must be output column Leaving Level 5 Node -8013: Order column must be output column
Entering Level 5 Node -8014: Result table must be FOR REUSE -8014: Result table must be FOR REUSE Leaving Level 5 Node -8014: Result table must be FOR REUSE
Entering Level 5 Node -8015: Table must be a base table -8015: Table must be a base table Leaving Level 5 Node -8015: Table must be a base table
Entering Level 5 Node -8016: Table must be a view table -8016: Table must be a view table Leaving Level 5 Node -8016: Table must be a view table
Entering Level 5 Node -8017: Column must be group column -8017: Column must be group column Leaving Level 5 Node -8017: Column must be group column
Entering Level 5 Node -8018: Index name must be unique -8018: Index name must be unique Leaving Level 5 Node -8018: Index name must be unique
Entering Level 5 Node -8020: Next volume required -8020: Next volume required Leaving Level 5 Node -8020: Next volume required
Entering Level 5 Node -8021: Column must have DEFAULT specification -8021: Column must have DEFAULT specification Leaving Level 5 Node -8021: Column must have DEFAULT specification
Entering Level 5 Node -8022: User already connected -8022: User already connected Leaving Level 5 Node -8022: User already connected
Entering Level 5 Node -8023: COSTLIMIT must be greater than COSTWARNING -8023: COSTLIMIT must be greater than COSTWARNING Leaving Level 5 Node -8023: COSTLIMIT must be greater than COSTWARNING
Entering Level 5 Node -8024: RESTORE CATALOG failed -8024: RESTORE CATALOG failed Leaving Level 5 Node -8024: RESTORE CATALOG failed
Entering Level 5 Node -8025: Table must be temp table -8025: Table must be temp table Leaving Level 5 Node -8025: Table must be temp table
Entering Level 5 Node -8026: Connect disabled for this user -8026: Connect disabled for this user Leaving Level 5 Node -8026: Connect disabled for this user
Entering Level 5 Node -8028: UNION columns must be compatible -8028: UNION columns must be compatible Leaving Level 5 Node -8028: UNION columns must be compatible
Entering Level 5 Node -8030: Column must be indexed -8030: Column must be indexed Leaving Level 5 Node -8030: Column must be indexed
Entering Level 5 Node -8031: Schema must be specified -8031: Schema must be specified Leaving Level 5 Node -8031: Schema must be specified
Entering Level 5 Node -8033: Incomplete log segment -8033: Incomplete log segment Leaving Level 5 Node -8033: Incomplete log segment
Entering Level 5 Node -8034: Order column must be number -8034: Order column must be number Leaving Level 5 Node -8034: Order column must be number
Entering Level 5 Node -8035: Foreign key must exist -8035: Foreign key must exist Leaving Level 5 Node -8035: Foreign key must exist
Entering Level 5 Node -8037: DB procedure must be recompiled -8037: DB procedure must be recompiled Leaving Level 5 Node -8037: DB procedure must be recompiled
Entering Level 5 Node -8040: Key does not exist -8040: Key does not exist Leaving Level 5 Node -8040: Key does not exist
Entering Level 5 Node -8044: Conversion for character set value impossible -8044: Conversion for character set value impossible Leaving Level 5 Node -8044: Conversion for character set value impossible
Entering Level 5 Node -8045: Conversion to UNICODE impossible -8045: Conversion to UNICODE impossible Leaving Level 5 Node -8045: Conversion to UNICODE impossible
Entering Level 5 Node -8046: Conversion from UNICODE impossible -8046: Conversion from UNICODE impossible Leaving Level 5 Node -8046: Conversion from UNICODE impossible
Entering Level 5 Node -8047: Password required -8047: Password required Leaving Level 5 Node -8047: Password required
Entering Level 5 Node -8048: Version of component must be compatible with kernel versi -8048: Version of component must be compatible with kernel versi Leaving Level 5 Node -8048: Version of component must be compatible with kernel versi
Entering Level 5 Node -8049: Prepare migration required -8049: Prepare migration required Leaving Level 5 Node -8049: Prepare migration required
Entering Level 5 Node -8050: Migration error -8050: Migration error Leaving Level 5 Node -8050: Migration error
Entering Level 5 Node -8051: No snapshot available -8051: No snapshot available Leaving Level 5 Node -8051: No snapshot available
Entering Level 5 Node -8052: Trigger dropped during migration; check view migrationerr -8052: Trigger dropped during migration; check view migrationerr Leaving Level 5 Node -8052: Trigger dropped during migration; check view migrationerr
Entering Level 5 Node -8053: Software version is too old for version of persistent dat -8053: Software version is too old for version of persistent dat Leaving Level 5 Node -8053: Software version is too old for version of persistent dat
Entering Level 5 Node -8888: SERVERDB not accessible -8888: SERVERDB not accessible Leaving Level 5 Node -8888: SERVERDB not accessible
Entering Level 5 Node -9000: SYSTEM ERROR: NOT YET IMPLEMENTED -9000: SYSTEM ERROR: NOT YET IMPLEMENTED Leaving Level 5 Node -9000: SYSTEM ERROR: NOT YET IMPLEMENTED
Entering Level 5 Node -9001 to -9799: System error -9001 to -9799: System error Leaving Level 5 Node -9001 to -9799: System error
Entering Level 4 Node From -10000 to -10999 From -10000 to -10999 Leaving Level 4 Node From -10000 to -10999
Entering Level 5 Node -10001: System error: <description> -10001: System error: <description> Leaving Level 5 Node -10001: System error: <description>
Entering Level 5 Node -10003: Feature not supported for kernel version <version> -10003: Feature not supported for kernel version <version> Leaving Level 5 Node -10003: Feature not supported for kernel version <version>
Entering Level 5 Node -10100: Invalid value for option <option> of SQLDBC_ConnectPrope -10100: Invalid value for option <option> of SQLDBC_ConnectPrope Leaving Level 5 Node -10100: Invalid value for option <option> of SQLDBC_ConnectPrope
Entering Level 5 Node -10101: Invalid value for ISOLATIONLEVEL (<description>) -10101: Invalid value for ISOLATIONLEVEL (<description>) Leaving Level 5 Node -10101: Invalid value for ISOLATIONLEVEL (<description>)
Entering Level 5 Node -10102: Invalid value for PACKETCOUNT (<description>) -10102: Invalid value for PACKETCOUNT (<description>) Leaving Level 5 Node -10102: Invalid value for PACKETCOUNT (<description>)
Entering Level 5 Node -10103: Invalid value for STATEMENTCACHESIZE (<description>) -10103: Invalid value for STATEMENTCACHESIZE (<description>) Leaving Level 5 Node -10103: Invalid value for STATEMENTCACHESIZE (<description>)
Entering Level 5 Node -10104: Invalid value for KEY -10104: Invalid value for KEY Leaving Level 5 Node -10104: Invalid value for KEY
Entering Level 5 Node -10200: Function sequence error (data for execution expected) -10200: Function sequence error (data for execution expected) Leaving Level 5 Node -10200: Function sequence error (data for execution expected)
Entering Level 5 Node -10201: Function sequence error (no data for execution expected) -10201: Function sequence error (no data for execution expected) Leaving Level 5 Node -10201: Function sequence error (no data for execution expected)
Entering Level 5 Node -10202: Function sequence error (operation was aborted by discon -10202: Function sequence error (operation was aborted by discon Leaving Level 5 Node -10202: Function sequence error (operation was aborted by discon
Entering Level 5 Node -10210: Invalid command state (no prepared SQL command) -10210: Invalid command state (no prepared SQL command) Leaving Level 5 Node -10210: Invalid command state (no prepared SQL command)
Entering Level 5 Node -10220: Calling addBatch is not allowed for PreparedStatement / -10220: Calling addBatch is not allowed for PreparedStatement / Leaving Level 5 Node -10220: Calling addBatch is not allowed for PreparedStatement /
Entering Level 5 Node -10221: Command info too long -10221: Command info too long Leaving Level 5 Node -10221: Command info too long
Entering Level 5 Node -10300: Invalid parameter index [<number>] -10300: Invalid parameter index [<number>] Leaving Level 5 Node -10300: Invalid parameter index [<number>]
Entering Level 5 Node -10301: Invalid host type (<name>) for parameter (<number>) -10301: Invalid host type (<name>) for parameter (<number>) Leaving Level 5 Node -10301: Invalid host type (<name>) for parameter (<number>)
Entering Level 5 Node -10304: Parameter/Column (<number>) not bound -10304: Parameter/Column (<number>) not bound Leaving Level 5 Node -10304: Parameter/Column (<number>) not bound
Entering Level 5 Node -10305: Parameter <number> contains null pointer -10305: Parameter <number> contains null pointer Leaving Level 5 Node -10305: Parameter <number> contains null pointer
Entering Level 5 Node -10306: Negative buffer length for parameter (<number>) used -10306: Negative buffer length for parameter (<number>) used Leaving Level 5 Node -10306: Negative buffer length for parameter (<number>) used
Entering Level 5 Node -10307: Invalid length or indicator value for parameter (<number -10307: Invalid length or indicator value for parameter (<number Leaving Level 5 Node -10307: Invalid length or indicator value for parameter (<number
Entering Level 5 Node -10308: Non-character and non-binary data for parameter (<number -10308: Non-character and non-binary data for parameter (<number Leaving Level 5 Node -10308: Non-character and non-binary data for parameter (<number
Entering Level 5 Node -10310: Invalid column index (<number>) -10310: Invalid column index (<number>) Leaving Level 5 Node -10310: Invalid column index (<number>)
Entering Level 5 Node -10312: Attempt to concatenate to a NULL or DEFAULT value for pa -10312: Attempt to concatenate to a NULL or DEFAULT value for pa Leaving Level 5 Node -10312: Attempt to concatenate to a NULL or DEFAULT value for pa
Entering Level 5 Node -10313: Requested parameter (<number>) was already processed -10313: Requested parameter (<number>) was already processed Leaving Level 5 Node -10313: Requested parameter (<number>) was already processed
Entering Level 5 Node -10314: Invalid parameter processing sequence, process non-LONG -10314: Invalid parameter processing sequence, process non-LONG Leaving Level 5 Node -10314: Invalid parameter processing sequence, process non-LONG
Entering Level 5 Node -10315: Invalid start position (<number>) -10315: Invalid start position (<number>) Leaving Level 5 Node -10315: Invalid start position (<number>)
Entering Level 5 Node -10316: DATA AT EXECUTE for parameter (<number>) not allowed (co -10316: DATA AT EXECUTE for parameter (<number>) not allowed (co Leaving Level 5 Node -10316: DATA AT EXECUTE for parameter (<number>) not allowed (co
Entering Level 5 Node -10317: LOB type for parameter (<number>) not allowed (conflicts -10317: LOB type for parameter (<number>) not allowed (conflicts Leaving Level 5 Node -10317: LOB type for parameter (<number>) not allowed (conflicts
Entering Level 5 Node -10318: Invalid LOB object -10318: Invalid LOB object Leaving Level 5 Node -10318: Invalid LOB object
Entering Level 5 Node -10319: Could not read/write LOB for parameter/column (<number>) -10319: Could not read/write LOB for parameter/column (<number>) Leaving Level 5 Node -10319: Could not read/write LOB for parameter/column (<number>)
Entering Level 5 Node -10320: LOB already closed for parameter/column (<number>) -10320: LOB already closed for parameter/column (<number>) Leaving Level 5 Node -10320: LOB already closed for parameter/column (<number>)
Entering Level 5 Node -10321: LOB invalidated by a previous error for parameter/column -10321: LOB invalidated by a previous error for parameter/column Leaving Level 5 Node -10321: LOB invalidated by a previous error for parameter/column
Entering Level 5 Node -10322: Could not insert LOB. Parameter/column (<number>) has a -10322: Could not insert LOB. Parameter/column (<number>) has a Leaving Level 5 Node -10322: Could not insert LOB. Parameter/column (<number>) has a
Entering Level 5 Node -10323: Non-character and non-binary data for parameter/column ( -10323: Non-character and non-binary data for parameter/column ( Leaving Level 5 Node -10323: Non-character and non-binary data for parameter/column (
Entering Level 5 Node -10324: Stream with id (<number>) not found -10324: Stream with id (<number>) not found Leaving Level 5 Node -10324: Stream with id (<number>) not found
Entering Level 5 Node -10325: Stream parameter (<number>) is not an input|output param -10325: Stream parameter (<number>) is not an input|output param Leaving Level 5 Node -10325: Stream parameter (<number>) is not an input|output param
Entering Level 5 Node -10326: No data found for stream (<number>) -10326: No data found for stream (<number>) Leaving Level 5 Node -10326: No data found for stream (<number>)
Entering Level 5 Node -10327: Invalid use of null pointer in stream parameter field of -10327: Invalid use of null pointer in stream parameter field of Leaving Level 5 Node -10327: Invalid use of null pointer in stream parameter field of
Entering Level 5 Node -10328: Mismatch of number of stream members for parameter (<num -10328: Mismatch of number of stream members for parameter (<num Leaving Level 5 Node -10328: Mismatch of number of stream members for parameter (<num
Entering Level 5 Node -10329: Invalid serial value requested, must be first or last va -10329: Invalid serial value requested, must be first or last va Leaving Level 5 Node -10329: Invalid serial value requested, must be first or last va
Entering Level 5 Node -10330: Multiple stream output sequence error -10330: Multiple stream output sequence error Leaving Level 5 Node -10330: Multiple stream output sequence error
Entering Level 5 Node -10331: Input stream callback buffer overflow for table id (<num -10331: Input stream callback buffer overflow for table id (<num Leaving Level 5 Node -10331: Input stream callback buffer overflow for table id (<num
Entering Level 5 Node -10332: No callback function supplied for stream parameter (<num -10332: No callback function supplied for stream parameter (<num Leaving Level 5 Node -10332: No callback function supplied for stream parameter (<num
Entering Level 5 Node -10400: Conversion looses significant digits for parameter/colum -10400: Conversion looses significant digits for parameter/colum Leaving Level 5 Node -10400: Conversion looses significant digits for parameter/colum
Entering Level 5 Node -10401: Conversion of parameter/column (<number>) would truncate -10401: Conversion of parameter/column (<number>) would truncate Leaving Level 5 Node -10401: Conversion of parameter/column (<number>) would truncate
Entering Level 5 Node -10404: Conversion not supported for parameter/column (<number>) -10404: Conversion not supported for parameter/column (<number>) Leaving Level 5 Node -10404: Conversion not supported for parameter/column (<number>)
Entering Level 5 Node -10405: Cannot convert UCS2 data to ASCII -10405: Cannot convert UCS2 data to ASCII Leaving Level 5 Node -10405: Cannot convert UCS2 data to ASCII
Entering Level 5 Node -10406: Invalid data length for UCS2 data for parameter/column ( -10406: Invalid data length for UCS2 data for parameter/column ( Leaving Level 5 Node -10406: Invalid data length for UCS2 data for parameter/column (
Entering Level 5 Node -10407: Corrupted UTF8 data for parameter/column (<number>) -10407: Corrupted UTF8 data for parameter/column (<number>) Leaving Level 5 Node -10407: Corrupted UTF8 data for parameter/column (<number>)
Entering Level 5 Node -10408: Character conversion failed -10408: Character conversion failed Leaving Level 5 Node -10408: Character conversion failed
Entering Level 5 Node -10410: Date/time format is not supported for parameter/column ( -10410: Date/time format is not supported for parameter/column ( Leaving Level 5 Node -10410: Date/time format is not supported for parameter/column (
Entering Level 5 Node -10411: Illegal DATE value for parameter/column (<number>) -10411: Illegal DATE value for parameter/column (<number>) Leaving Level 5 Node -10411: Illegal DATE value for parameter/column (<number>)
Entering Level 5 Node -10412: Illegal TIME value for parameter/column (<number>) -10412: Illegal TIME value for parameter/column (<number>) Leaving Level 5 Node -10412: Illegal TIME value for parameter/column (<number>)
Entering Level 5 Node -10413: Illegal TIMESTAMP value for parameter/column (<number>) -10413: Illegal TIMESTAMP value for parameter/column (<number>) Leaving Level 5 Node -10413: Illegal TIMESTAMP value for parameter/column (<number>)
Entering Level 5 Node -10414: Conversion from binary value to string is not supported -10414: Conversion from binary value to string is not supported Leaving Level 5 Node -10414: Conversion from binary value to string is not supported
Entering Level 5 Node -10500: Result set is closed -10500: Result set is closed Leaving Level 5 Node -10500: Result set is closed
Entering Level 5 Node -10501: Invalid position in result set: before first row -10501: Invalid position in result set: before first row Leaving Level 5 Node -10501: Invalid position in result set: before first row
Entering Level 5 Node -10502: Invalid position in result set: after last row -10502: Invalid position in result set: after last row Leaving Level 5 Node -10502: Invalid position in result set: after last row
Entering Level 5 Node -10503: The operation is not allowed for result set type FORWARD -10503: The operation is not allowed for result set type FORWARD Leaving Level 5 Node -10503: The operation is not allowed for result set type FORWARD
Entering Level 5 Node -10504: Invalid position (<row_number>) for row set -10504: Invalid position (<row_number>) for row set Leaving Level 5 Node -10504: Invalid position (<row_number>) for row set
Entering Level 5 Node -10505: Result set type is UPDATABLE but row set type is READ_ON -10505: Result set type is UPDATABLE but row set type is READ_ON Leaving Level 5 Node -10505: Result set type is UPDATABLE but row set type is READ_ON
Entering Level 5 Node -10506: Result set type is READ_ONLY but row set type is UPDATAB -10506: Result set type is READ_ONLY but row set type is UPDATAB Leaving Level 5 Node -10506: Result set type is READ_ONLY but row set type is UPDATAB
Entering Level 5 Node -10507: Internal error: No metadata available for row set operat -10507: Internal error: No metadata available for row set operat Leaving Level 5 Node -10507: Internal error: No metadata available for row set operat
Entering Level 5 Node -10508: Invalid encoding of column name for column (<number>) fo -10508: Invalid encoding of column name for column (<number>) fo Leaving Level 5 Node -10508: Invalid encoding of column name for column (<number>) fo
Entering Level 5 Node -10509: The statement was not executed with updatable cursor con -10509: The statement was not executed with updatable cursor con Leaving Level 5 Node -10509: The statement was not executed with updatable cursor con
Entering Level 5 Node -10601: SQL command is the empty string -10601: SQL command is the empty string Leaving Level 5 Node -10601: SQL command is the empty string
Entering Level 5 Node -10602: SQL command contains UNICODE character -10602: SQL command contains UNICODE character Leaving Level 5 Node -10602: SQL command contains UNICODE character
Entering Level 5 Node -10603: SQL command would generate a result set -10603: SQL command would generate a result set Leaving Level 5 Node -10603: SQL command would generate a result set
Entering Level 5 Node -10604: SQL command contains output parameters -10604: SQL command contains output parameters Leaving Level 5 Node -10604: SQL command contains output parameters
Entering Level 5 Node -10605: Illegal schema modification, parameters/columns have cha -10605: Illegal schema modification, parameters/columns have cha Leaving Level 5 Node -10605: Illegal schema modification, parameters/columns have cha
Entering Level 5 Node -10706: Statement too long -10706: Statement too long Leaving Level 5 Node -10706: Statement too long
Entering Level 5 Node -10709: Connection failed (<description>) -10709: Connection failed (<description>) Leaving Level 5 Node -10709: Connection failed (<description>)
Entering Level 5 Node -10715: Missing user name for connection | Missing password for -10715: Missing user name for connection | Missing password for Leaving Level 5 Node -10715: Missing user name for connection | Missing password for
Entering Level 5 Node -10757: XUSER error (<description>) -10757: XUSER error (<description>) Leaving Level 5 Node -10757: XUSER error (<description>)
Entering Level 5 Node -10802: Invalid numeric value for parameter/column (<number>) -10802: Invalid numeric value for parameter/column (<number>) Leaving Level 5 Node -10802: Invalid numeric value for parameter/column (<number>)
Entering Level 5 Node -10803: Allocation of shared memory failed (<description>) -10803: Allocation of shared memory failed (<description>) Leaving Level 5 Node -10803: Allocation of shared memory failed (<description>)
Entering Level 5 Node -10807: Connection down: [<description>] -10807: Connection down: [<description>] Leaving Level 5 Node -10807: Connection down: [<description>]
Entering Level 5 Node -10808: Feature <feature> not implemented yet in module: <module -10808: Feature <feature> not implemented yet in module: <module Leaving Level 5 Node -10808: Feature <feature> not implemented yet in module: <module
Entering Level 5 Node -10810: Session already in use -10810: Session already in use Leaving Level 5 Node -10810: Session already in use
Entering Level 5 Node -10811: Numeric overflow for parameter/column (<number>) -10811: Numeric overflow for parameter/column (<number>) Leaving Level 5 Node -10811: Numeric overflow for parameter/column (<number>)
Entering Level 5 Node -10821: Session not connected -10821: Session not connected Leaving Level 5 Node -10821: Session not connected
Entering Level 5 Node -10856: Invalid row array size 0 -10856: Invalid row array size 0 Leaving Level 5 Node -10856: Invalid row array size 0
Entering Level 5 Node -10857: Missing database name for connection -10857: Missing database name for connection Leaving Level 5 Node -10857: Missing database name for connection
Entering Level 5 Node -10861: Invalid use of null pointer for stream handle in paramet -10861: Invalid use of null pointer for stream handle in paramet Leaving Level 5 Node -10861: Invalid use of null pointer for stream handle in paramet
Entering Level 5 Node -10862: Stream parameter (<number>) error in read|write procedur -10862: Stream parameter (<number>) error in read|write procedur Leaving Level 5 Node -10862: Stream parameter (<number>) error in read|write procedur
Entering Level 5 Node -10899: Unknown error -10899: Unknown error Leaving Level 5 Node -10899: Unknown error
Entering Level 5 Node -10901: No space left in request packet -10901: No space left in request packet Leaving Level 5 Node -10901: No space left in request packet
Entering Level 5 Node -10902: Invalid request packet structure -10902: Invalid request packet structure Leaving Level 5 Node -10902: Invalid request packet structure
Entering Level 5 Node -10903: Internal Error: LONGDATA part expected -10903: Internal Error: LONGDATA part expected Leaving Level 5 Node -10903: Internal Error: LONGDATA part expected
Entering Level 5 Node -10904: Internal error: Expected result count -10904: Internal error: Expected result count Leaving Level 5 Node -10904: Internal error: Expected result count
Entering Level 5 Node -10905: Invalid reply packet structure -10905: Invalid reply packet structure Leaving Level 5 Node -10905: Invalid reply packet structure
Entering Level 5 Node -10906: Internal Error: Entry for valindex (<number>) not found -10906: Internal Error: Entry for valindex (<number>) not found Leaving Level 5 Node -10906: Internal Error: Entry for valindex (<number>) not found
Entering Level 5 Node -10907: Internal Error: Long descriptor has error flag set -10907: Internal Error: Long descriptor has error flag set Leaving Level 5 Node -10907: Internal Error: Long descriptor has error flag set
Entering Level 4 Node From -11000 to -11099 From -11000 to -11099 Leaving Level 4 Node From -11000 to -11099
Entering Level 4 Node From -11100 to -11199 From -11100 to -11199 Leaving Level 4 Node From -11100 to -11199
Entering Level 4 Node From -22000 to -22999 From -22000 to -22999 Leaving Level 4 Node From -22000 to -22999
Entering Level 5 Node -22000: Null values not allowed on more than one long column -22000: Null values not allowed on more than one long column Leaving Level 5 Node -22000: Null values not allowed on more than one long column
Entering Level 5 Node -22005: Connection timeout occurred. Session reconnected -22005: Connection timeout occurred. Session reconnected Leaving Level 5 Node -22005: Connection timeout occurred. Session reconnected
Entering Level 4 Node From -23000 to -23999 From -23000 to -23999 Leaving Level 4 Node From -23000 to -23999
Entering Level 5 Node -23050: Unknown error -23050: Unknown error Leaving Level 5 Node -23050: Unknown error
Entering Level 5 Node -23051: Could not load system tables for SQL Studio -23051: Could not load system tables for SQL Studio Leaving Level 5 Node -23051: Could not load system tables for SQL Studio
Entering Level 5 Node -23052: Could not save object data -23052: Could not save object data Leaving Level 5 Node -23052: Could not save object data
Entering Level 5 Node -23053: Cannot load suppose list -23053: Cannot load suppose list Leaving Level 5 Node -23053: Cannot load suppose list
Entering Level 5 Node -23054: Maximum numbers of windows reached -23054: Maximum numbers of windows reached Leaving Level 5 Node -23054: Maximum numbers of windows reached
Entering Level 5 Node -23055: Connection failed -23055: Connection failed Leaving Level 5 Node -23055: Connection failed
Entering Level 5 Node -23056: User is exclusive -23056: User is exclusive Leaving Level 5 Node -23056: User is exclusive
Entering Level 5 Node -23057: Reconnect failed -23057: Reconnect failed Leaving Level 5 Node -23057: Reconnect failed
Entering Level 5 Node -23058: No database connection -23058: No database connection Leaving Level 5 Node -23058: No database connection
Entering Level 5 Node -23059: You do not have the permission to modify this object -23059: You do not have the permission to modify this object Leaving Level 5 Node -23059: You do not have the permission to modify this object
Entering Level 5 Node -23060: You do not have the permission to delete this object -23060: You do not have the permission to delete this object Leaving Level 5 Node -23060: You do not have the permission to delete this object
Entering Level 5 Node -23061: Cannot analyze error -23061: Cannot analyze error Leaving Level 5 Node -23061: Cannot analyze error
Entering Level 5 Node -23062: Could not open connection -23062: Could not open connection Leaving Level 5 Node -23062: Could not open connection
Entering Level 5 Node -23063: Could not create Global Com Object -23063: Could not create Global Com Object Leaving Level 5 Node -23063: Could not create Global Com Object
Entering Level 5 Node -23064: Import failed -23064: Import failed Leaving Level 5 Node -23064: Import failed
Entering Level 5 Node -23070: Cannot open object created by newer SQL Studio Version -23070: Cannot open object created by newer SQL Studio Version Leaving Level 5 Node -23070: Cannot open object created by newer SQL Studio Version
Entering Level 5 Node -23071: Convert object created by older SQL Studio Version -23071: Convert object created by older SQL Studio Version Leaving Level 5 Node -23071: Convert object created by older SQL Studio Version
Entering Level 5 Node -23072: Representation of null value too long -23072: Representation of null value too long Leaving Level 5 Node -23072: Representation of null value too long
Entering Level 5 Node -23100: OLE Error! Please restart SQL Studio -23100: OLE Error! Please restart SQL Studio Leaving Level 5 Node -23100: OLE Error! Please restart SQL Studio
Entering Level 5 Node -23101: Data in clipboard truncated -23101: Data in clipboard truncated Leaving Level 5 Node -23101: Data in clipboard truncated
Entering Level 5 Node -23102: Failed to create DBC Pool -23102: Failed to create DBC Pool Leaving Level 5 Node -23102: Failed to create DBC Pool
Entering Level 5 Node -23103: Failed to create DBC Handle -23103: Failed to create DBC Handle Leaving Level 5 Node -23103: Failed to create DBC Handle
Entering Level 5 Node -23104: Could not load table definition -23104: Could not load table definition Leaving Level 5 Node -23104: Could not load table definition
Entering Level 5 Node -23200: No data sources -23200: No data sources Leaving Level 5 Node -23200: No data sources
Entering Level 5 Node -23201: No ODBC driver -23201: No ODBC driver Leaving Level 5 Node -23201: No ODBC driver
Entering Level 5 Node -23202: Could not load object description -23202: Could not load object description Leaving Level 5 Node -23202: Could not load object description
Entering Level 5 Node -23203: Cannot show tables of users, wrong database version! -23203: Cannot show tables of users, wrong database version! Leaving Level 5 Node -23203: Cannot show tables of users, wrong database version!
Entering Level 4 Node From -24000 to -24999 From -24000 to -24999 Leaving Level 4 Node From -24000 to -24999
Entering Level 5 Node -24905: ERR_NOEBIDLIST: no information on external backup IDs av -24905: ERR_NOEBIDLIST: no information on external backup IDs av Leaving Level 5 Node -24905: ERR_NOEBIDLIST: no information on external backup IDs av
Entering Level 5 Node -24906: ERR_EBFDIRTY: invalid format of external backup history -24906: ERR_EBFDIRTY: invalid format of external backup history Leaving Level 5 Node -24906: ERR_EBFDIRTY: invalid format of external backup history
Entering Level 5 Node -24907: ERR_DBAWRONG - wrong SYSDBA -24907: ERR_DBAWRONG - wrong SYSDBA Leaving Level 5 Node -24907: ERR_DBAWRONG - wrong SYSDBA
Entering Level 5 Node -24909: ERR_DBAUNKNOWN - SYSDBA unknown -24909: ERR_DBAUNKNOWN - SYSDBA unknown Leaving Level 5 Node -24909: ERR_DBAUNKNOWN - SYSDBA unknown
Entering Level 5 Node -24910: ERR_PARAMVER - wrong version of param help file (cserv.p -24910: ERR_PARAMVER - wrong version of param help file (cserv.p Leaving Level 5 Node -24910: ERR_PARAMVER - wrong version of param help file (cserv.p
Entering Level 5 Node -24911: ERR_INVDBNAME - database name <database_name> is reserve -24911: ERR_INVDBNAME - database name <database_name> is reserve Leaving Level 5 Node -24911: ERR_INVDBNAME - database name <database_name> is reserve
Entering Level 5 Node -24912: ERR_WRONGINST – DBM server instroot is <inst_path> -24912: ERR_WRONGINST – DBM server instroot is <inst_path> Leaving Level 5 Node -24912: ERR_WRONGINST – DBM server instroot is <inst_path>
Entering Level 5 Node -24913: ERR_SERVICEDB - can not register service kernel for <ins -24913: ERR_SERVICEDB - can not register service kernel for <ins Leaving Level 5 Node -24913: ERR_SERVICEDB - can not register service kernel for <ins
Entering Level 5 Node -24914: ERR_KEYEXISTS - installation key <key> exists -24914: ERR_KEYEXISTS - installation key <key> exists Leaving Level 5 Node -24914: ERR_KEYEXISTS - installation key <key> exists
Entering Level 5 Node -24915: ERR_NOADDD - configuration update not allowed (param fil -24915: ERR_NOADDD - configuration update not allowed (param fil Leaving Level 5 Node -24915: ERR_NOADDD - configuration update not allowed (param fil
Entering Level 5 Node -24916: ERR_MAXVOLCNT - max volume count exceeded -24916: ERR_MAXVOLCNT - max volume count exceeded Leaving Level 5 Node -24916: ERR_MAXVOLCNT - max volume count exceeded
Entering Level 5 Node -24917: ERR_MAXDATA - max data size exceeded -24917: ERR_MAXDATA - max data size exceeded Leaving Level 5 Node -24917: ERR_MAXDATA - max data size exceeded
Entering Level 5 Node -24918: ERR_MISSMIRR - missing data for mirror volume -24918: ERR_MISSMIRR - missing data for mirror volume Leaving Level 5 Node -24918: ERR_MISSMIRR - missing data for mirror volume
Entering Level 5 Node -24919: ERR_CLEANUP: cannot free all operational resources after -24919: ERR_CLEANUP: cannot free all operational resources after Leaving Level 5 Node -24919: ERR_CLEANUP: cannot free all operational resources after
Entering Level 5 Node -24920: ERR_BACKUPOP: backup operation was unsuccessful -24920: ERR_BACKUPOP: backup operation was unsuccessful Leaving Level 5 Node -24920: ERR_BACKUPOP: backup operation was unsuccessful
Entering Level 5 Node -24921: ERR_POSTOP: error while finishing backup operation -24921: ERR_POSTOP: error while finishing backup operation Leaving Level 5 Node -24921: ERR_POSTOP: error while finishing backup operation
Entering Level 5 Node -24922: ERR_OPCHK: cannot check state of backup operation -24922: ERR_OPCHK: cannot check state of backup operation Leaving Level 5 Node -24922: ERR_OPCHK: cannot check state of backup operation
Entering Level 5 Node -24923: ERR_TOOLREQ: error while starting external backup tool -24923: ERR_TOOLREQ: error while starting external backup tool Leaving Level 5 Node -24923: ERR_TOOLREQ: error while starting external backup tool
Entering Level 5 Node -24924: ERR_DBREQ: cannot start database kernel request -24924: ERR_DBREQ: cannot start database kernel request Leaving Level 5 Node -24924: ERR_DBREQ: cannot start database kernel request
Entering Level 5 Node -24925: ERR_PREPARE: preparation of backup operation failed -24925: ERR_PREPARE: preparation of backup operation failed Leaving Level 5 Node -24925: ERR_PREPARE: preparation of backup operation failed
Entering Level 5 Node -24926: ERR_MEDIUMCHK: medium cannot be used with this external -24926: ERR_MEDIUMCHK: medium cannot be used with this external Leaving Level 5 Node -24926: ERR_MEDIUMCHK: medium cannot be used with this external
Entering Level 5 Node -24927: ERR_TOOLCHK: external backup tool not found -24927: ERR_TOOLCHK: external backup tool not found Leaving Level 5 Node -24927: ERR_TOOLCHK: external backup tool not found
Entering Level 5 Node -24928: ERR_NOREPLY - no reply available -24928: ERR_NOREPLY - no reply available Leaving Level 5 Node -24928: ERR_NOREPLY - no reply available
Entering Level 5 Node -24929: ERR_USRFRM - invalid user record format -24929: ERR_USRFRM - invalid user record format Leaving Level 5 Node -24929: ERR_USRFRM - invalid user record format
Entering Level 5 Node -24930: ERR_XPVALUESET - parameter value not in value set -24930: ERR_XPVALUESET - parameter value not in value set Leaving Level 5 Node -24930: ERR_XPVALUESET - parameter value not in value set
Entering Level 5 Node -24931: ERR_XPMIN - parameter value smaller than minimum allowed -24931: ERR_XPMIN - parameter value smaller than minimum allowed Leaving Level 5 Node -24931: ERR_XPMIN - parameter value smaller than minimum allowed
Entering Level 5 Node -24932: ERR_XPMIN - parameter value smaller than minimum allowed -24932: ERR_XPMIN - parameter value smaller than minimum allowed Leaving Level 5 Node -24932: ERR_XPMIN - parameter value smaller than minimum allowed
Entering Level 5 Node -24933: ERR_NOSERVICESESSION - no service kernel available -24933: ERR_NOSERVICESESSION - no service kernel available Leaving Level 5 Node -24933: ERR_NOSERVICESESSION - no service kernel available
Entering Level 5 Node -24934: ERR_VERSION - incompatible versions (param and kernel) -24934: ERR_VERSION - incompatible versions (param and kernel) Leaving Level 5 Node -24934: ERR_VERSION - incompatible versions (param and kernel)
Entering Level 5 Node -24935: ERR_NOUSERS - no users found -24935: ERR_NOUSERS - no users found Leaving Level 5 Node -24935: ERR_NOUSERS - no users found
Entering Level 5 Node -24936: ERR_DBNORUN - database is not running -24936: ERR_DBNORUN - database is not running Leaving Level 5 Node -24936: ERR_DBNORUN - database is not running
Entering Level 5 Node -24937: ERR_MISSRIGHT - no server rights for this command -24937: ERR_MISSRIGHT - no server rights for this command Leaving Level 5 Node -24937: ERR_MISSRIGHT - no server rights for this command
Entering Level 5 Node -24938: ERR_NOENTRY - no entry found -24938: ERR_NOENTRY - no entry found Leaving Level 5 Node -24938: ERR_NOENTRY - no entry found
Entering Level 5 Node -24939: ERR_LASTREG - cannot delete last registration of instanc -24939: ERR_LASTREG - cannot delete last registration of instanc Leaving Level 5 Node -24939: ERR_LASTREG - cannot delete last registration of instanc
Entering Level 5 Node -24940: ERR_NEEDSYSLOGON - system logon required -24940: ERR_NEEDSYSLOGON - system logon required Leaving Level 5 Node -24940: ERR_NEEDSYSLOGON - system logon required
Entering Level 5 Node -24941: ERR_NEEDLOGON - DBM server logon required -24941: ERR_NEEDLOGON - DBM server logon required Leaving Level 5 Node -24941: ERR_NEEDLOGON - DBM server logon required
Entering Level 5 Node -24942: ERR_USRDELSDBA - cannot delete sysdba -24942: ERR_USRDELSDBA - cannot delete sysdba Leaving Level 5 Node -24942: ERR_USRDELSDBA - cannot delete sysdba
Entering Level 5 Node -24943: ERR_USRDELDBM - cannot delete DBM operator -24943: ERR_USRDELDBM - cannot delete DBM operator Leaving Level 5 Node -24943: ERR_USRDELDBM - cannot delete DBM operator
Entering Level 5 Node -24944: ERR_USRDELSELF - cannot delete current user -24944: ERR_USRDELSELF - cannot delete current user Leaving Level 5 Node -24944: ERR_USRDELSELF - cannot delete current user
Entering Level 5 Node -24945: ERR_TOFEWPARAM - to few parameters -24945: ERR_TOFEWPARAM - to few parameters Leaving Level 5 Node -24945: ERR_TOFEWPARAM - to few parameters
Entering Level 5 Node -24946: ERR_TOMANYPARAM - to many parameters -24946: ERR_TOMANYPARAM - to many parameters Leaving Level 5 Node -24946: ERR_TOMANYPARAM - to many parameters
Entering Level 5 Node -24947: ERR_DBNAME - do not use dbname -24947: ERR_DBNAME - do not use dbname Leaving Level 5 Node -24947: ERR_DBNAME - do not use dbname
Entering Level 5 Node -24948: ERR_NODBNAME - database name required -24948: ERR_NODBNAME - database name required Leaving Level 5 Node -24948: ERR_NODBNAME - database name required
Entering Level 5 Node -24949: ERR_USREXISTS - user entry already exists -24949: ERR_USREXISTS - user entry already exists Leaving Level 5 Node -24949: ERR_USREXISTS - user entry already exists
Entering Level 5 Node -24950: ERR_USRFAIL - user authorization failed -24950: ERR_USRFAIL - user authorization failed Leaving Level 5 Node -24950: ERR_USRFAIL - user authorization failed
Entering Level 5 Node -24951: ERR_USRREAD - could not read user data -24951: ERR_USRREAD - could not read user data Leaving Level 5 Node -24951: ERR_USRREAD - could not read user data
Entering Level 5 Node -24952: ERR_USRSAVE - could not save user data -24952: ERR_USRSAVE - could not save user data Leaving Level 5 Node -24952: ERR_USRSAVE - could not save user data
Entering Level 5 Node -24953: ERR_DBEXIST - database instance already exists -24953: ERR_DBEXIST - database instance already exists Leaving Level 5 Node -24953: ERR_DBEXIST - database instance already exists
Entering Level 5 Node -24954: ERR_BANOAUTOMED - no autolog medium found in media list -24954: ERR_BANOAUTOMED - no autolog medium found in media list Leaving Level 5 Node -24954: ERR_BANOAUTOMED - no autolog medium found in media list
Entering Level 5 Node -24955: ERR_BANOSAVETYPE - backup type not defined -24955: ERR_BANOSAVETYPE - backup type not defined Leaving Level 5 Node -24955: ERR_BANOSAVETYPE - backup type not defined
Entering Level 5 Node -24956: ERR_BASAVETYPECON - backup type conflicts with medium de -24956: ERR_BASAVETYPECON - backup type conflicts with medium de Leaving Level 5 Node -24956: ERR_BASAVETYPECON - backup type conflicts with medium de
Entering Level 5 Node -24957: ERR_NOUSER - required user not set -24957: ERR_NOUSER - required user not set Leaving Level 5 Node -24957: ERR_NOUSER - required user not set
Entering Level 5 Node -24958: ERR_BAOVERWRITE - file already exists, cannot overwrite -24958: ERR_BAOVERWRITE - file already exists, cannot overwrite Leaving Level 5 Node -24958: ERR_BAOVERWRITE - file already exists, cannot overwrite
Entering Level 5 Node -24959: ERR_XPOVERFLOW - value out of margin -24959: ERR_XPOVERFLOW - value out of margin Leaving Level 5 Node -24959: ERR_XPOVERFLOW - value out of margin
Entering Level 5 Node -24960: ERR_DBRUN - database is running -24960: ERR_DBRUN - database is running Leaving Level 5 Node -24960: ERR_DBRUN - database is running
Entering Level 5 Node -24961: ERR_STATE - cannot determine current db state -24961: ERR_STATE - cannot determine current db state Leaving Level 5 Node -24961: ERR_STATE - cannot determine current db state
Entering Level 5 Node -24962: ERR_VOLTYPE - wrong volume type -24962: ERR_VOLTYPE - wrong volume type Leaving Level 5 Node -24962: ERR_VOLTYPE - wrong volume type
Entering Level 5 Node -24963: ERR_VOLCHECK - error while checking volume -24963: ERR_VOLCHECK - error while checking volume Leaving Level 5 Node -24963: ERR_VOLCHECK - error while checking volume
Entering Level 5 Node -24964: ERR_EXECUTE - error in program execution -24964: ERR_EXECUTE - error in program execution Leaving Level 5 Node -24964: ERR_EXECUTE - error in program execution
Entering Level 5 Node -24965: ERR_SYSLOGON - logon to system failed -24965: ERR_SYSLOGON - logon to system failed Leaving Level 5 Node -24965: ERR_SYSLOGON - logon to system failed
Entering Level 5 Node -24966: ERR_LOGON - logon to DBM server failed -24966: ERR_LOGON - logon to DBM server failed Leaving Level 5 Node -24966: ERR_LOGON - logon to DBM server failed
Entering Level 5 Node -24967: ERR_SYSTEM - system call error -24967: ERR_SYSTEM - system call error Leaving Level 5 Node -24967: ERR_SYSTEM - system call error
Entering Level 5 Node -24968: ERR_XPREADONLY - parameter is read only -24968: ERR_XPREADONLY - parameter is read only Leaving Level 5 Node -24968: ERR_XPREADONLY - parameter is read only
Entering Level 5 Node -24969: ERR_XPDIRTY - param file is dirty -24969: ERR_XPDIRTY - param file is dirty Leaving Level 5 Node -24969: ERR_XPDIRTY - param file is dirty
Entering Level 5 Node -24970: ERR_XPNOMODIFY - parameter must not be modified -24970: ERR_XPNOMODIFY - parameter must not be modified Leaving Level 5 Node -24970: ERR_XPNOMODIFY - parameter must not be modified
Entering Level 5 Node -24971: ERR_XPNOCHECK - no running parameter check -24971: ERR_XPNOCHECK - no running parameter check Leaving Level 5 Node -24971: ERR_XPNOCHECK - no running parameter check
Entering Level 5 Node -24972: ERR_XPINVCONF - invalid value -24972: ERR_XPINVCONF - invalid value Leaving Level 5 Node -24972: ERR_XPINVCONF - invalid value
Entering Level 5 Node -24973: ERR_XPCHECK - param check failure/request -24973: ERR_XPCHECK - param check failure/request Leaving Level 5 Node -24973: ERR_XPCHECK - param check failure/request
Entering Level 5 Node -24974: ERR_XPSESSION - param session active -24974: ERR_XPSESSION - param session active Leaving Level 5 Node -24974: ERR_XPSESSION - param session active
Entering Level 5 Node -24975: ERR_NOXPSESSION - param session inactive -24975: ERR_NOXPSESSION - param session inactive Leaving Level 5 Node -24975: ERR_NOXPSESSION - param session inactive
Entering Level 5 Node -24976: ERR_PARAMEXIST - param file of database already exists -24976: ERR_PARAMEXIST - param file of database already exists Leaving Level 5 Node -24976: ERR_PARAMEXIST - param file of database already exists
Entering Level 5 Node -24977: ERR_COMMAND - unknown command <command> -24977: ERR_COMMAND - unknown command <command> Leaving Level 5 Node -24977: ERR_COMMAND - unknown command <command>
Entering Level 5 Node -24978: ERR_XPSYNTAX - xparam syntax error -24978: ERR_XPSYNTAX - xparam syntax error Leaving Level 5 Node -24978: ERR_XPSYNTAX - xparam syntax error
Entering Level 5 Node -24979: ERR_XPNOTFOUND - parameter not found -24979: ERR_XPNOTFOUND - parameter not found Leaving Level 5 Node -24979: ERR_XPNOTFOUND - parameter not found
Entering Level 5 Node -24980: ERR_NOHELP - xparam help file not found -24980: ERR_NOHELP - xparam help file not found Leaving Level 5 Node -24980: ERR_NOHELP - xparam help file not found
Entering Level 5 Node -24981: ERR_HIENTRYNOTFOUND - backup history entry not found -24981: ERR_HIENTRYNOTFOUND - backup history entry not found Leaving Level 5 Node -24981: ERR_HIENTRYNOTFOUND - backup history entry not found
Entering Level 5 Node -24982: ERR_ERR_NOHISTORY - backup history file not found -24982: ERR_ERR_NOHISTORY - backup history file not found Leaving Level 5 Node -24982: ERR_ERR_NOHISTORY - backup history file not found
Entering Level 5 Node -24983: ERR_BANOVALIDTYPE - invalid backup type -24983: ERR_BANOVALIDTYPE - invalid backup type Leaving Level 5 Node -24983: ERR_BANOVALIDTYPE - invalid backup type
Entering Level 5 Node -24984: ERR_MENOVALID - invalid medium definition -24984: ERR_MENOVALID - invalid medium definition Leaving Level 5 Node -24984: ERR_MENOVALID - invalid medium definition
Entering Level 5 Node -24985: ERR_MENOTFOUND - medium not found -24985: ERR_MENOTFOUND - medium not found Leaving Level 5 Node -24985: ERR_MENOTFOUND - medium not found
Entering Level 5 Node -24986: ERR_NOMEDIA - media file not found -24986: ERR_NOMEDIA - media file not found Leaving Level 5 Node -24986: ERR_NOMEDIA - media file not found
Entering Level 5 Node -24987: ERR_TOSMALL - packet size too small for answer -24987: ERR_TOSMALL - packet size too small for answer Leaving Level 5 Node -24987: ERR_TOSMALL - packet size too small for answer
Entering Level 5 Node -24988: ERR_SQL - sql error -24988: ERR_SQL - sql error Leaving Level 5 Node -24988: ERR_SQL - sql error
Entering Level 5 Node -24989: ERR_NOHISTORYSESSION - no backup history session availab -24989: ERR_NOHISTORYSESSION - no backup history session availab Leaving Level 5 Node -24989: ERR_NOHISTORYSESSION - no backup history session availab
Entering Level 5 Node -24990: ERR_ NOBACKUPSESSION - no backup session available -24990: ERR_ NOBACKUPSESSION - no backup session available Leaving Level 5 Node -24990: ERR_ NOBACKUPSESSION - no backup session available
Entering Level 5 Node -24993: ERR_RTEEXT - runtime environment error -24993: ERR_RTEEXT - runtime environment error Leaving Level 5 Node -24993: ERR_RTEEXT - runtime environment error
Entering Level 5 Node -24994: ERR_RTE - runtime environment error -24994: ERR_RTE - runtime environment error Leaving Level 5 Node -24994: ERR_RTE - runtime environment error
Entering Level 5 Node -24995: ERR_MEM - memory allocation error -24995: ERR_MEM - memory allocation error Leaving Level 5 Node -24995: ERR_MEM - memory allocation error
Entering Level 5 Node -24996: ERR_PARAM - wrong parameters -24996: ERR_PARAM - wrong parameters Leaving Level 5 Node -24996: ERR_PARAM - wrong parameters
Entering Level 5 Node -24997: ERR_FILE - file handling error -24997: ERR_FILE - file handling error Leaving Level 5 Node -24997: ERR_FILE - file handling error
Entering Level 5 Node -24998: ERR_NOTIMPL - sorry, command not yet implemented -24998: ERR_NOTIMPL - sorry, command not yet implemented Leaving Level 5 Node -24998: ERR_NOTIMPL - sorry, command not yet implemented
Entering Level 5 Node -24999: ERR - common error -24999: ERR - common error Leaving Level 5 Node -24999: ERR - common error
Entering Level 4 Node From -25000 to -25999 From -25000 to -25999 Leaving Level 4 Node From -25000 to -25999
Entering Level 5 Node -25003: Name of database host could not be determined -25003: Name of database host could not be determined Leaving Level 5 Node -25003: Name of database host could not be determined
Entering Level 5 Node -25004: Error when connecting to the database -25004: Error when connecting to the database Leaving Level 5 Node -25004: Error when connecting to the database
Entering Level 5 Node -25005: Error when logging user on to the database -25005: Error when logging user on to the database Leaving Level 5 Node -25005: Error when logging user on to the database
Entering Level 5 Node -25006: Error occurred when connecting to the database with spec -25006: Error occurred when connecting to the database with spec Leaving Level 5 Node -25006: Error occurred when connecting to the database with spec
Entering Level 5 Node -25007: Error when executing the command; no connection to the d -25007: Error when executing the command; no connection to the d Leaving Level 5 Node -25007: Error when executing the command; no connection to the d
Entering Level 5 Node -25008: Error when logging on user; previous user's database con -25008: Error when logging on user; previous user's database con Leaving Level 5 Node -25008: Error when logging on user; previous user's database con
Entering Level 5 Node -25009: Failure in db communication -25009: Failure in db communication Leaving Level 5 Node -25009: Failure in db communication
Entering Level 5 Node -25010: <SQL_error_text> -25010: <SQL_error_text> Leaving Level 5 Node -25010: <SQL_error_text>
Entering Level 5 Node -25011: Error when executing the internal SQL command -25011: Error when executing the internal SQL command Leaving Level 5 Node -25011: Error when executing the internal SQL command
Entering Level 5 Node -25018: Error when changing the authorizations for the log file; -25018: Error when changing the authorizations for the log file; Leaving Level 5 Node -25018: Error when changing the authorizations for the log file;
Entering Level 5 Node -25019: Error when opening the log file; temporary log file open -25019: Error when opening the log file; temporary log file open Leaving Level 5 Node -25019: Error when opening the log file; temporary log file open
Entering Level 5 Node -25020: Memory space exhausted -25020: Memory space exhausted Leaving Level 5 Node -25020: Memory space exhausted
Entering Level 5 Node -25021: Error switching connected user to     ; -25021: Error switching connected user to ; Leaving Level 5 Node -25021: Error switching connected user to     ;
Entering Level 5 Node -25022: Request to terminate operation received; processing of c -25022: Request to terminate operation received; processing of c Leaving Level 5 Node -25022: Request to terminate operation received; processing of c
Entering Level 5 Node -25109: <command> not implemented -25109: <command> not implemented Leaving Level 5 Node -25109: <command> not implemented
Entering Level 5 Node -25201: Invalid length specification for INTEGER field -25201: Invalid length specification for INTEGER field Leaving Level 5 Node -25201: Invalid length specification for INTEGER field
Entering Level 5 Node -25202: Invalid length specification for REAL field -25202: Invalid length specification for REAL field Leaving Level 5 Node -25202: Invalid length specification for REAL field
Entering Level 5 Node -25203: Invalid length specification for DECIMAL field -25203: Invalid length specification for DECIMAL field Leaving Level 5 Node -25203: Invalid length specification for DECIMAL field
Entering Level 5 Node -25204: Invalid length specification for ZONED field -25204: Invalid length specification for ZONED field Leaving Level 5 Node -25204: Invalid length specification for ZONED field
Entering Level 5 Node -25205: Declare USAGE between 50% and 100% -25205: Declare USAGE between 50% and 100% Leaving Level 5 Node -25205: Declare USAGE between 50% and 100%
Entering Level 5 Node -25206: USAGE value of '0 rows' not allowed -25206: USAGE value of '0 rows' not allowed Leaving Level 5 Node -25206: USAGE value of '0 rows' not allowed
Entering Level 5 Node -25207: USAGE value of     row(s) too high; maximum number of re -25207: USAGE value of row(s) too high; maximum number of re Leaving Level 5 Node -25207: USAGE value of     row(s) too high; maximum number of re
Entering Level 5 Node -25208: Invalid position specification; specify a positive value -25208: Invalid position specification; specify a positive value Leaving Level 5 Node -25208: Invalid position specification; specify a positive value
Entering Level 5 Node -25209: Invalid value for FRACTION; specify a positive value -25209: Invalid value for FRACTION; specify a positive value Leaving Level 5 Node -25209: Invalid value for FRACTION; specify a positive value
Entering Level 5 Node -25210: Invalid value for SCALE; enter a value between -127 and -25210: Invalid value for SCALE; enter a value between -127 and Leaving Level 5 Node -25210: Invalid value for SCALE; enter a value between -127 and
Entering Level 5 Node -25211: Invalid ROUND specification; specify a value between 0 a -25211: Invalid ROUND specification; specify a value between 0 a Leaving Level 5 Node -25211: Invalid ROUND specification; specify a value between 0 a
Entering Level 5 Node -25212: Invalid TRUNC specification; enter a value between 0 and -25212: Invalid TRUNC specification; enter a value between 0 and Leaving Level 5 Node -25212: Invalid TRUNC specification; enter a value between 0 and
Entering Level 5 Node -25213: Invalid file format specification; FORMATTED and COMPRES -25213: Invalid file format specification; FORMATTED and COMPRES Leaving Level 5 Node -25213: Invalid file format specification; FORMATTED and COMPRES
Entering Level 5 Node -25214: Invalid file format specification; Separator/Delimiter i -25214: Invalid file format specification; Separator/Delimiter i Leaving Level 5 Node -25214: Invalid file format specification; Separator/Delimiter i
Entering Level 5 Node -25216: File format specification FORMATTED required -25216: File format specification FORMATTED required Leaving Level 5 Node -25216: File format specification FORMATTED required
Entering Level 5 Node -25218: Invalid file format specification; no columns specified -25218: Invalid file format specification; no columns specified Leaving Level 5 Node -25218: Invalid file format specification; no columns specified
Entering Level 5 Node -25219: Columns must be specified in the command in ascending or -25219: Columns must be specified in the command in ascending or Leaving Level 5 Node -25219: Columns must be specified in the command in ascending or
Entering Level 5 Node -25220: Invalid separator/delimiter specification -25220: Invalid separator/delimiter specification Leaving Level 5 Node -25220: Invalid separator/delimiter specification
Entering Level 5 Node -25221: Invalid specification for representation of decimal numb -25221: Invalid specification for representation of decimal numb Leaving Level 5 Node -25221: Invalid specification for representation of decimal numb
Entering Level 5 Node -25222: Invalid specification for representation of Boolean valu -25222: Invalid specification for representation of Boolean valu Leaving Level 5 Node -25222: Invalid specification for representation of Boolean valu
Entering Level 5 Node -25223: Invalid specification for representation of NULL values -25223: Invalid specification for representation of NULL values Leaving Level 5 Node -25223: Invalid specification for representation of NULL values
Entering Level 5 Node -25224: Invalid specification for language of messages; specify -25224: Invalid specification for language of messages; specify Leaving Level 5 Node -25224: Invalid specification for language of messages; specify
Entering Level 5 Node -25225: Invalid specification for the representation of thousand -25225: Invalid specification for the representation of thousand Leaving Level 5 Node -25225: Invalid specification for the representation of thousand
Entering Level 5 Node -25226: Maximum number of column specifications in a command has -25226: Maximum number of column specifications in a command has Leaving Level 5 Node -25226: Maximum number of column specifications in a command has
Entering Level 5 Node -25227: Maximum number of conditions in a command has been excee -25227: Maximum number of conditions in a command has been excee Leaving Level 5 Node -25227: Maximum number of conditions in a command has been excee
Entering Level 5 Node -25228: Invalid specification for external representation of dat -25228: Invalid specification for external representation of dat Leaving Level 5 Node -25228: Invalid specification for external representation of dat
Entering Level 5 Node -25229: Incorrect comparison operator in condition -25229: Incorrect comparison operator in condition Leaving Level 5 Node -25229: Incorrect comparison operator in condition
Entering Level 5 Node -25230: Cannot execute command; specify an output file for comma -25230: Cannot execute command; specify an output file for comma Leaving Level 5 Node -25230: Cannot execute command; specify an output file for comma
Entering Level 5 Node -25231: Specification of ROUND, TRUNC, or SCALE not allowed for -25231: Specification of ROUND, TRUNC, or SCALE not allowed for Leaving Level 5 Node -25231: Specification of ROUND, TRUNC, or SCALE not allowed for
Entering Level 5 Node -25232: Unknown keyword -25232: Unknown keyword Leaving Level 5 Node -25232: Unknown keyword
Entering Level 5 Node -25233: Some column descriptions with end position but file form -25233: Some column descriptions with end position but file form Leaving Level 5 Node -25233: Some column descriptions with end position but file form
Entering Level 5 Node -25234: Some column descriptions without end position but file f -25234: Some column descriptions without end position but file f Leaving Level 5 Node -25234: Some column descriptions without end position but file f
Entering Level 5 Node -25235: Some positions specified more than once -25235: Some positions specified more than once Leaving Level 5 Node -25235: Some positions specified more than once
Entering Level 5 Node -25236: Some positions overlap -25236: Some positions overlap Leaving Level 5 Node -25236: Some positions overlap
Entering Level 5 Node -25237: Cannot execute UPDATE COLUMNS command; specify set colum -25237: Cannot execute UPDATE COLUMNS command; specify set colum Leaving Level 5 Node -25237: Cannot execute UPDATE COLUMNS command; specify set colum
Entering Level 5 Node -25238: Cannot execute UPDATE COLUMNS command; specify access co -25238: Cannot execute UPDATE COLUMNS command; specify access co Leaving Level 5 Node -25238: Cannot execute UPDATE COLUMNS command; specify access co
Entering Level 5 Node -25239: Specified value    is not a valid integer -25239: Specified value is not a valid integer Leaving Level 5 Node -25239: Specified value    is not a valid integer
Entering Level 5 Node -25281: Syntax error at a certain position -25281: Syntax error at a certain position Leaving Level 5 Node -25281: Syntax error at a certain position
Entering Level 5 Node -25301: Invalid input for date or time column -25301: Invalid input for date or time column Leaving Level 5 Node -25301: Invalid input for date or time column
Entering Level 5 Node -25302: The value entered is not a valid numerical value -25302: The value entered is not a valid numerical value Leaving Level 5 Node -25302: The value entered is not a valid numerical value
Entering Level 5 Node -25303: Input value does not match key order or range specificat -25303: Input value does not match key order or range specificat Leaving Level 5 Node -25303: Input value does not match key order or range specificat
Entering Level 5 Node -25304: Columns for key (KEY) or search condition missing -25304: Columns for key (KEY) or search condition missing Leaving Level 5 Node -25304: Columns for key (KEY) or search condition missing
Entering Level 5 Node -25305: Data for key columns exceeds allowed key length -25305: Data for key columns exceeds allowed key length Leaving Level 5 Node -25305: Data for key columns exceeds allowed key length
Entering Level 5 Node -25306: Invalid HEX constant found in code page file; the file m -25306: Invalid HEX constant found in code page file; the file m Leaving Level 5 Node -25306: Invalid HEX constant found in code page file; the file m
Entering Level 5 Node -25308: CONSTRAINT condition violated -25308: CONSTRAINT condition violated Leaving Level 5 Node -25308: CONSTRAINT condition violated
Entering Level 5 Node -25309: Invalid input for BOOLEAN column -25309: Invalid input for BOOLEAN column Leaving Level 5 Node -25309: Invalid input for BOOLEAN column
Entering Level 5 Node -25310: Column must not contain NULL values -25310: Column must not contain NULL values Leaving Level 5 Node -25310: Column must not contain NULL values
Entering Level 5 Node -25311: No Data for NOT NULL - column without default -25311: No Data for NOT NULL - column without default Leaving Level 5 Node -25311: No Data for NOT NULL - column without default
Entering Level 5 Node -25313: Overflow occurred, execution aborted -25313: Overflow occurred, execution aborted Leaving Level 5 Node -25313: Overflow occurred, execution aborted
Entering Level 5 Node -25314: Fractional part too small for column, minimum length: -25314: Fractional part too small for column, minimum length: Leaving Level 5 Node -25314: Fractional part too small for column, minimum length:
Entering Level 5 Node -25315: Column data type of column and external data type are no -25315: Column data type of column and external data type are no Leaving Level 5 Node -25315: Column data type of column and external data type are no
Entering Level 5 Node -25316: Table contains at least one column defined as LONG; IMPO -25316: Table contains at least one column defined as LONG; IMPO Leaving Level 5 Node -25316: Table contains at least one column defined as LONG; IMPO
Entering Level 5 Node -25317: Constant must be compatible with column type and length -25317: Constant must be compatible with column type and length Leaving Level 5 Node -25317: Constant must be compatible with column type and length
Entering Level 5 Node -25318: Syskey violation (the computed value exceeds the highest -25318: Syskey violation (the computed value exceeds the highest Leaving Level 5 Node -25318: Syskey violation (the computed value exceeds the highest
Entering Level 5 Node -25319: Unable to find any data for the column in the data file -25319: Unable to find any data for the column in the data file Leaving Level 5 Node -25319: Unable to find any data for the column in the data file
Entering Level 5 Node -25320: The LONG value could not be loaded into column -25320: The LONG value could not be loaded into column Leaving Level 5 Node -25320: The LONG value could not be loaded into column
Entering Level 5 Node -25321: This condition value is not a valid number: -25321: This condition value is not a valid number: Leaving Level 5 Node -25321: This condition value is not a valid number:
Entering Level 5 Node -25322: This condition value was truncated and cannot be used: ' -25322: This condition value was truncated and cannot be used: ' Leaving Level 5 Node -25322: This condition value was truncated and cannot be used: '
Entering Level 5 Node -25323: Data type of null value representation for column is inc -25323: Data type of null value representation for column is inc Leaving Level 5 Node -25323: Data type of null value representation for column is inc
Entering Level 5 Node -25324: Errors checking length of column specifications. See Loa -25324: Errors checking length of column specifications. See Loa Leaving Level 5 Node -25324: Errors checking length of column specifications. See Loa
Entering Level 5 Node -25325: Errors checking compatibility of external and db data ty -25325: Errors checking compatibility of external and db data ty Leaving Level 5 Node -25325: Errors checking compatibility of external and db data ty
Entering Level 5 Node -25326: The exported number (column    ) was truncated -25326: The exported number (column ) was truncated Leaving Level 5 Node -25326: The exported number (column    ) was truncated
Entering Level 5 Node -25327: Error(s) exporting record; start position of incorrect r -25327: Error(s) exporting record; start position of incorrect r Leaving Level 5 Node -25327: Error(s) exporting record; start position of incorrect r
Entering Level 5 Node -25328: Some error(s) while extracting data. See Loader server l -25328: Some error(s) while extracting data. See Loader server l Leaving Level 5 Node -25328: Some error(s) while extracting data. See Loader server l
Entering Level 5 Node -25329: The given data file    was not generated using EXPORT in -25329: The given data file was not generated using EXPORT in Leaving Level 5 Node -25329: The given data file    was not generated using EXPORT in
Entering Level 5 Node -25330: The page sizes of the source system and the target syste -25330: The page sizes of the source system and the target syste Leaving Level 5 Node -25330: The page sizes of the source system and the target syste
Entering Level 5 Node -25331: This is a restricted statement, user must be SYSDBA -25331: This is a restricted statement, user must be SYSDBA Leaving Level 5 Node -25331: This is a restricted statement, user must be SYSDBA
Entering Level 5 Node -25332: Error getting schema definition of table    (    ): -25332: Error getting schema definition of table ( ): Leaving Level 5 Node -25332: Error getting schema definition of table    (    ):
Entering Level 5 Node -25333: Error getting index definitions for table    (    ) -25333: Error getting index definitions for table ( ) Leaving Level 5 Node -25333: Error getting index definitions for table    (    )
Entering Level 5 Node -25334: File counter for data file exceeded maximum value of -25334: File counter for data file exceeded maximum value of Leaving Level 5 Node -25334: File counter for data file exceeded maximum value of
Entering Level 5 Node -25335: Error restoring single table    using data file with mul -25335: Error restoring single table using data file with mul Leaving Level 5 Node -25335: Error restoring single table    using data file with mul
Entering Level 5 Node -25336: Error restoring multiple tables using data file with sin -25336: Error restoring multiple tables using data file with sin Leaving Level 5 Node -25336: Error restoring multiple tables using data file with sin
Entering Level 5 Node -25337: Error restoring table; no table data found in data file -25337: Error restoring table; no table data found in data file Leaving Level 5 Node -25337: Error restoring table; no table data found in data file
Entering Level 5 Node -25338: Error during restart IMPORT; restart entry  not found -25338: Error during restart IMPORT; restart entry not found Leaving Level 5 Node -25338: Error during restart IMPORT; restart entry  not found
Entering Level 5 Node -25339: Error during restart IMPORT; file    could not be opened -25339: Error during restart IMPORT; file could not be opened Leaving Level 5 Node -25339: Error during restart IMPORT; file    could not be opened
Entering Level 5 Node -25340: UCS2 conversion error; character string contains invalid -25340: UCS2 conversion error; character string contains invalid Leaving Level 5 Node -25340: UCS2 conversion error; character string contains invalid
Entering Level 5 Node -25341: Error generating 'create table/index statements' -25341: Error generating 'create table/index statements' Leaving Level 5 Node -25341: Error generating 'create table/index statements'
Entering Level 5 Node -25342: Error restoring table   ; table exists but source table -25342: Error restoring table ; table exists but source table Leaving Level 5 Node -25342: Error restoring table   ; table exists but source table
Entering Level 5 Node -25343: Column name(s) or number(s) do not match column names/nu -25343: Column name(s) or number(s) do not match column names/nu Leaving Level 5 Node -25343: Column name(s) or number(s) do not match column names/nu
Entering Level 5 Node -25344: Incorrect field length for column    , minimum length -25344: Incorrect field length for column , minimum length Leaving Level 5 Node -25344: Incorrect field length for column    , minimum length
Entering Level 5 Node -25351: No long file info given for LONG column -25351: No long file info given for LONG column Leaving Level 5 Node -25351: No long file info given for LONG column
Entering Level 5 Node -25352: Errors analyzing long file information. See loader serve -25352: Errors analyzing long file information. See loader serve Leaving Level 5 Node -25352: Errors analyzing long file information. See loader serve
Entering Level 5 Node -25353: Specified maximum number of LONG data files for column   -25353: Specified maximum number of LONG data files for column Leaving Level 5 Node -25353: Specified maximum number of LONG data files for column
Entering Level 5 Node -25354: LONGFILE specification missing or incorrect -25354: LONGFILE specification missing or incorrect Leaving Level 5 Node -25354: LONGFILE specification missing or incorrect
Entering Level 5 Node -25501: Error when opening file -25501: Error when opening file Leaving Level 5 Node -25501: Error when opening file
Entering Level 5 Node -25502: Error when closing file -25502: Error when closing file Leaving Level 5 Node -25502: Error when closing file
Entering Level 5 Node -25503: Error when reading file -25503: Error when reading file Leaving Level 5 Node -25503: Error when reading file
Entering Level 5 Node -25504: Error when writing file -25504: Error when writing file Leaving Level 5 Node -25504: Error when writing file
Entering Level 5 Node -25505: Error when erasing file -25505: Error when erasing file Leaving Level 5 Node -25505: Error when erasing file
Entering Level 5 Node -25507: Error when shrinking file -25507: Error when shrinking file Leaving Level 5 Node -25507: Error when shrinking file
Entering Level 5 Node -25801: Internal program error -25801: Internal program error Leaving Level 5 Node -25801: Internal program error
Entering Level 4 Node From -27000 to -28999 From -27000 to -28999 Leaving Level 4 Node From -27000 to -28999
Entering Level 5 Node -27000: Unknown error -27000: Unknown error Leaving Level 5 Node -27000: Unknown error
Entering Level 5 Node -27003: Numeric input parameter overflow -27003: Numeric input parameter overflow Leaving Level 5 Node -27003: Numeric input parameter overflow
Entering Level 5 Node -27006: Incompatible data types -27006: Incompatible data types Leaving Level 5 Node -27006: Incompatible data types
Entering Level 5 Node -27009: Command too long -27009: Command too long Leaving Level 5 Node -27009: Command too long
Entering Level 5 Node -27014: Connect not ok -27014: Connect not ok Leaving Level 5 Node -27014: Connect not ok
Entering Level 5 Node -27015: Connection down -27015: Connection down Leaving Level 5 Node -27015: Connection down
Entering Level 5 Node -27016: DB shut down -27016: DB shut down Leaving Level 5 Node -27016: DB shut down
Entering Level 5 Node -27017: Too many volumes -27017: Too many volumes Leaving Level 5 Node -27017: Too many volumes
Entering Level 5 Node -27018: Connection error -27018: Connection error Leaving Level 5 Node -27018: Connection error
Entering Level 5 Node -27019: Conversion UNICODE to ASCII not possible -27019: Conversion UNICODE to ASCII not possible Leaving Level 5 Node -27019: Conversion UNICODE to ASCII not possible
Entering Level 5 Node -28001: Access via NIL OID -28001: Access via NIL OID Leaving Level 5 Node -28001: Access via NIL OID
Entering Level 5 Node -28002: Invalid OID -28002: Invalid OID Leaving Level 5 Node -28002: Invalid OID
Entering Level 5 Node -28003: Unknown GUID -28003: Unknown GUID Leaving Level 5 Node -28003: Unknown GUID
Entering Level 5 Node -28005: Duplicate object -28005: Duplicate object Leaving Level 5 Node -28005: Duplicate object
Entering Level 5 Node -28006: Object not locked -28006: Object not locked Leaving Level 5 Node -28006: Object not locked
Entering Level 5 Node -28007: OID not compatible with given class -28007: OID not compatible with given class Leaving Level 5 Node -28007: OID not compatible with given class
Entering Level 5 Node -28501: Error reading OMS input stream -28501: Error reading OMS input stream Leaving Level 5 Node -28501: Error reading OMS input stream
Entering Level 5 Node -28502: Error writing OMS output stream -28502: Error writing OMS output stream Leaving Level 5 Node -28502: Error writing OMS output stream
Entering Level 5 Node -28503: Crash in DB Procedure -28503: Crash in DB Procedure Leaving Level 5 Node -28503: Crash in DB Procedure
Entering Level 5 Node -28505: No Component Object found -28505: No Component Object found Leaving Level 5 Node -28505: No Component Object found
Entering Level 5 Node -28508: Unsupported parameter type -28508: Unsupported parameter type Leaving Level 5 Node -28508: Unsupported parameter type
Entering Level 5 Node -28514: Unknown OMS Version -28514: Unknown OMS Version Leaving Level 5 Node -28514: Unknown OMS Version
Entering Level 5 Node -28515: OMS Version already open -28515: OMS Version already open Leaving Level 5 Node -28515: OMS Version already open
Entering Level 5 Node -28516: Commit or Rollback required -28516: Commit or Rollback required Leaving Level 5 Node -28516: Commit or Rollback required
Entering Level 5 Node -28517: Already in Critical Section -28517: Already in Critical Section Leaving Level 5 Node -28517: Already in Critical Section
Entering Level 5 Node -28518: Not in Critical Section -28518: Not in Critical Section Leaving Level 5 Node -28518: Not in Critical Section
Entering Level 5 Node -28521: Already in version -28521: Already in version Leaving Level 5 Node -28521: Already in version
Entering Level 5 Node -28522: Missing before image -28522: Missing before image Leaving Level 5 Node -28522: Missing before image
Entering Level 5 Node -28523: Unknown schema -28523: Unknown schema Leaving Level 5 Node -28523: Unknown schema
Entering Level 5 Node -28524: Duplicate schema -28524: Duplicate schema Leaving Level 5 Node -28524: Duplicate schema
Entering Level 5 Node -28525: Procedure Address not found -28525: Procedure Address not found Leaving Level 5 Node -28525: Procedure Address not found
Entering Level 5 Node -28527: Directory not found -28527: Directory not found Leaving Level 5 Node -28527: Directory not found
Entering Level 5 Node -28529: Too small name buffer -28529: Too small name buffer Leaving Level 5 Node -28529: Too small name buffer
Entering Level 5 Node -28530: omsTerminate called -28530: omsTerminate called Leaving Level 5 Node -28530: omsTerminate called
Entering Level 5 Node -28531: OMS read only -28531: OMS read only Leaving Level 5 Node -28531: OMS read only
Entering Level 5 Node -28532: Version bound by transaction -28532: Version bound by transaction Leaving Level 5 Node -28532: Version bound by transaction
Entering Level 5 Node -28533: Integer out of packed range -28533: Integer out of packed range Leaving Level 5 Node -28533: Integer out of packed range
Entering Level 5 Node -28534: Package must be recreated -28534: Package must be recreated Leaving Level 5 Node -28534: Package must be recreated
Entering Level 5 Node -28600: Invalid request code in packet -28600: Invalid request code in packet Leaving Level 5 Node -28600: Invalid request code in packet
Entering Level 5 Node -28601: Object data packet for read missing -28601: Object data packet for read missing Leaving Level 5 Node -28601: Object data packet for read missing
Entering Level 5 Node -28602: Packet size does not match object size -28602: Packet size does not match object size Leaving Level 5 Node -28602: Packet size does not match object size
Entering Level 5 Node -28603: Requested packet size to transfer an object is too big -28603: Requested packet size to transfer an object is too big Leaving Level 5 Node -28603: Requested packet size to transfer an object is too big
Entering Level 5 Node -28604: Trying to queue too many data packets when sending objec -28604: Trying to queue too many data packets when sending objec Leaving Level 5 Node -28604: Trying to queue too many data packets when sending objec
Entering Level 5 Node -28605: Invalid operation in UDE Server-Kernel communication -28605: Invalid operation in UDE Server-Kernel communication Leaving Level 5 Node -28605: Invalid operation in UDE Server-Kernel communication
Entering Level 5 Node -28606: Communication error -28606: Communication error Leaving Level 5 Node -28606: Communication error
Entering Level 5 Node -28607: Missing object data packet -28607: Missing object data packet Leaving Level 5 Node -28607: Missing object data packet
Entering Level 5 Node -28608: Invalid reply for stored procedure -28608: Invalid reply for stored procedure Leaving Level 5 Node -28608: Invalid reply for stored procedure
Entering Level 5 Node -28609: Stored procedure not found -28609: Stored procedure not found Leaving Level 5 Node -28609: Stored procedure not found
Entering Level 5 Node -28801: Wrong class id -28801: Wrong class id Leaving Level 5 Node -28801: Wrong class id
Entering Level 5 Node -28802: Wrong object version -28802: Wrong object version Leaving Level 5 Node -28802: Wrong object version
Entering Level 5 Node -28803: Wrong object version -28803: Wrong object version Leaving Level 5 Node -28803: Wrong object version
Entering Level 5 Node -28804: Too old OID -28804: Too old OID Leaving Level 5 Node -28804: Too old OID
Entering Level 5 Node -28806: Nil page pointer -28806: Nil page pointer Leaving Level 5 Node -28806: Nil page pointer
Entering Level 5 Node -28808: Hash not found -28808: Hash not found Leaving Level 5 Node -28808: Hash not found
Entering Level 5 Node -28810: Duplicate hash key -28810: Duplicate hash key Leaving Level 5 Node -28810: Duplicate hash key
Entering Level 5 Node -28813: Unknown consistent version -28813: Unknown consistent version Leaving Level 5 Node -28813: Unknown consistent version
Entering Level 5 Node -28814: Object not found -28814: Object not found Leaving Level 5 Node -28814: Object not found
Entering Level 5 Node -28815: Object history not found -28815: Object history not found Leaving Level 5 Node -28815: Object history not found
Entering Level 5 Node -28817: Wrong object length -28817: Wrong object length Leaving Level 5 Node -28817: Wrong object length
Entering Level 5 Node -28818: Wrong object position -28818: Wrong object position Leaving Level 5 Node -28818: Wrong object position
Entering Level 5 Node -28819: Object has been updated by other transactions -28819: Object has been updated by other transactions Leaving Level 5 Node -28819: Object has been updated by other transactions
Entering Level 5 Node -28823: Page already in use -28823: Page already in use Leaving Level 5 Node -28823: Page already in use
Entering Level 5 Node -28826: Pagecounter inconsistent -28826: Pagecounter inconsistent Leaving Level 5 Node -28826: Pagecounter inconsistent
Entering Level 5 Node -28828: Inconsistent information concerning “is container droppe -28828: Inconsistent information concerning “is container droppe Leaving Level 5 Node -28828: Inconsistent information concerning “is container droppe
Entering Level 5 Node -28902: Too many nested try/catch statements -28902: Too many nested try/catch statements Leaving Level 5 Node -28902: Too many nested try/catch statements
Entering Level 5 Node -28903: DBFunction$1 must return a value -28903: DBFunction$1 must return a value Leaving Level 5 Node -28903: DBFunction$1 must return a value
Entering Level 5 Node -28822 to -28999: Internal Error -28822 to -28999: Internal Error Leaving Level 5 Node -28822 to -28999: Internal Error
Entering Level 4 Node From 0 to 1999 From 0 to 1999 Leaving Level 4 Node From 0 to 1999
Entering Level 5 Node 0: Success 0: Success Leaving Level 5 Node 0: Success
Entering Level 5 Node 100: Row not found 100: Row not found Leaving Level 5 Node 100: Row not found
Entering Level 5 Node 200: Duplicate key 200: Duplicate key Leaving Level 5 Node 200: Duplicate key
Entering Level 5 Node 250: Duplicate secondary key 250: Duplicate secondary key Leaving Level 5 Node 250: Duplicate secondary key
Entering Level 5 Node 300: Integrity violation 300: Integrity violation Leaving Level 5 Node 300: Integrity violation
Entering Level 5 Node 320: View violation 320: View violation Leaving Level 5 Node 320: View violation
Entering Level 5 Node 350: Referential integrity violated 350: Referential integrity violated Leaving Level 5 Node 350: Referential integrity violated
Entering Level 5 Node 360: Foreign key integrity violated 360: Foreign key integrity violated Leaving Level 5 Node 360: Foreign key integrity violated
Entering Level 5 Node 400: Lock collision 400: Lock collision Leaving Level 5 Node 400: Lock collision
Entering Level 5 Node 500: Lock request timeout 500: Lock request timeout Leaving Level 5 Node 500: Lock request timeout
Entering Level 5 Node 600: Work rolled back 600: Work rolled back Leaving Level 5 Node 600: Work rolled back
Entering Level 5 Node 650: Work rolled back 650: Work rolled back Leaving Level 5 Node 650: Work rolled back
Entering Level 5 Node 700: Session inactivity timeout (work rolled back) 700: Session inactivity timeout (work rolled back) Leaving Level 5 Node 700: Session inactivity timeout (work rolled back)
Entering Level 5 Node 710:Session terminated by shutdown (work rolled back) 710:Session terminated by shutdown (work rolled back) Leaving Level 5 Node 710:Session terminated by shutdown (work rolled back)
Entering Level 5 Node 750: Too many SQL statements (work rolled back) 750: Too many SQL statements (work rolled back) Leaving Level 5 Node 750: Too many SQL statements (work rolled back)
Entering Level 5 Node 1403: Row not found 1403: Row not found Leaving Level 5 Node 1403: Row not found
Entering Level 4 Node From 25000 to 25999 From 25000 to 25999 Leaving Level 4 Node From 25000 to 25999
Entering Level 5 Node 25601: Output of NULL values for column    will be truncated 25601: Output of NULL values for column will be truncated Leaving Level 5 Node 25601: Output of NULL values for column    will be truncated
Entering Level 5 Node 25602: Possible overflow of integer values for column 25602: Possible overflow of integer values for column Leaving Level 5 Node 25602: Possible overflow of integer values for column
Entering Level 5 Node 25603: Output of literal    will be truncated 25603: Output of literal will be truncated Leaving Level 5 Node 25603: Output of literal    will be truncated
Entering Level 5 Node 25604: Surplus long file info (column name/id) ignored 25604: Surplus long file info (column name/id) ignored Leaving Level 5 Node 25604: Surplus long file info (column name/id) ignored
Entering Level 5 Node 25605: No header in binary data file and no record length in com 25605: No header in binary data file and no record length in com Leaving Level 5 Node 25605: No header in binary data file and no record length in com
Entering Level 5 Node 25606: Different byte swap of source and target machine; long va 25606: Different byte swap of source and target machine; long va Leaving Level 5 Node 25606: Different byte swap of source and target machine; long va
Entering Level 5 Node 25607: Value for USAGE too small. Row does not fit onto database 25607: Value for USAGE too small. Row does not fit onto database Leaving Level 5 Node 25607: Value for USAGE too small. Row does not fit onto database
Entering Level 5 Node 25608: Restart file not found; starting import from the beginnin 25608: Restart file not found; starting import from the beginnin Leaving Level 5 Node 25608: Restart file not found; starting import from the beginnin
Entering Level 3 Node MaxDB Security Guide MaxDB Security Guide Leaving Level 3 Node MaxDB Security Guide
Entering Level 4 Node Introduction Introduction Leaving Level 4 Node Introduction
Entering Level 4 Node Before You Start Before You Start Leaving Level 4 Node Before You Start
Entering Level 4 Node Technical System Landscape Technical System Landscape Leaving Level 4 Node Technical System Landscape
Entering Level 4 Node User Administration and Authentication User Administration and Authentication Leaving Level 4 Node User Administration and Authentication
Entering Level 5 Node Changing the Passwords of Standard Users Changing the Passwords of Standard Users Leaving Level 5 Node Changing the Passwords of Standard Users
Entering Level 5 Node Checking Log Files for Failed Logon Attempts Checking Log Files for Failed Logon Attempts Leaving Level 5 Node Checking Log Files for Failed Logon Attempts
Entering Level 4 Node Authorizations Authorizations Leaving Level 4 Node Authorizations
Entering Level 5 Node Defining Clear Authorizations for Users Defining Clear Authorizations for Users Leaving Level 5 Node Defining Clear Authorizations for Users
Entering Level 4 Node Network and Communication Security Network and Communication Security Leaving Level 4 Node Network and Communication Security
Entering Level 5 Node Securing Communication Channels Securing Communication Channels Leaving Level 5 Node Securing Communication Channels
Entering Level 5 Node Using the MaxDB X Server Behind a Firewall Using the MaxDB X Server Behind a Firewall Leaving Level 5 Node Using the MaxDB X Server Behind a Firewall
Entering Level 5 Node Using Web Tools Behind a Firewall Using Web Tools Behind a Firewall Leaving Level 5 Node Using Web Tools Behind a Firewall
Entering Level 4 Node Data Storage Security Data Storage Security Leaving Level 4 Node Data Storage Security
Entering Level 5 Node Restricting Access to Database Resources (UNIX/Linux up to Datab Restricting Access to Database Resources (UNIX/Linux up to Datab Leaving Level 5 Node Restricting Access to Database Resources (UNIX/Linux up to Datab
Entering Level 5 Node Changing the Passwords of SAP Standard Operating System Users Changing the Passwords of SAP Standard Operating System Users Leaving Level 5 Node Changing the Passwords of SAP Standard Operating System Users
Entering Level 4 Node Dispensable Functions with Impacts on Security Dispensable Functions with Impacts on Security Leaving Level 4 Node Dispensable Functions with Impacts on Security
Entering Level 5 Node Switching Off the MaxDB X Server for Local Communication Switching Off the MaxDB X Server for Local Communication Leaving Level 5 Node Switching Off the MaxDB X Server for Local Communication
Entering Level 5 Node Starting the MaxDB X Server Without NI Support (Unix/Linux) Starting the MaxDB X Server Without NI Support (Unix/Linux) Leaving Level 5 Node Starting the MaxDB X Server Without NI Support (Unix/Linux)
Entering Level 5 Node Removing Demo Data Removing Demo Data Leaving Level 5 Node Removing Demo Data
Entering Level 4 Node Other Security-Relevant Information Other Security-Relevant Information Leaving Level 4 Node Other Security-Relevant Information
Entering Level 5 Node Checking User Input in SQL Statements Checking User Input in SQL Statements Leaving Level 5 Node Checking User Input in SQL Statements
Entering Level 4 Node Trace and Log Files Trace and Log Files Leaving Level 4 Node Trace and Log Files
Entering Level 5 Node Restricting Access to Log Files Restricting Access to Log Files Leaving Level 5 Node Restricting Access to Log Files
Entering Level 4 Node Appendix Appendix Leaving Level 4 Node Appendix
Entering Level 2 Node Tools Tools Leaving Level 2 Node Tools
Entering Level 3 Node Database Manager GUI Database Manager GUI Leaving Level 3 Node Database Manager GUI
Entering Level 4 Node Calling the Database Manager GUI Calling the Database Manager GUI Leaving Level 4 Node Calling the Database Manager GUI
Entering Level 4 Node Screen Areas of the Database Manager GUI Screen Areas of the Database Manager GUI Leaving Level 4 Node Screen Areas of the Database Manager GUI
Entering Level 4 Node Creating a database instance Creating a database instance Leaving Level 4 Node Creating a database instance
Entering Level 5 Node Templates for Database Instances Templates for Database Instances Leaving Level 5 Node Templates for Database Instances
Entering Level 4 Node Initializing an Existing Database Instance Initializing an Existing Database Instance Leaving Level 4 Node Initializing an Existing Database Instance
Entering Level 4 Node Database Instance Administration Database Instance Administration Leaving Level 4 Node Database Instance Administration
Entering Level 5 Node Managing the List of Database Instances Managing the List of Database Instances Leaving Level 5 Node Managing the List of Database Instances
Entering Level 5 Node Connection to the DBM Server Connection to the DBM Server Leaving Level 5 Node Connection to the DBM Server
Entering Level 5 Node Starting (Restarting) the Database Instance Starting (Restarting) the Database Instance Leaving Level 5 Node Starting (Restarting) the Database Instance
Entering Level 5 Node Stopping the Database Instance (Shutdown) Stopping the Database Instance (Shutdown) Leaving Level 5 Node Stopping the Database Instance (Shutdown)
Entering Level 5 Node Monitoring the Operational State Monitoring the Operational State Leaving Level 5 Node Monitoring the Operational State
Entering Level 5 Node Closing a Database Session Manually Closing a Database Session Manually Leaving Level 5 Node Closing a Database Session Manually
Entering Level 5 Node Creating Volumes Creating Volumes Leaving Level 5 Node Creating Volumes
Entering Level 5 Node Displaying, Changing, and Deleting Volumes Displaying, Changing, and Deleting Volumes Leaving Level 5 Node Displaying, Changing, and Deleting Volumes
Entering Level 5 Node Displaying and Changing Database Parameters Displaying and Changing Database Parameters Leaving Level 5 Node Displaying and Changing Database Parameters
Entering Level 5 Node Changing Database Parameters for Volumes Changing Database Parameters for Volumes Leaving Level 5 Node Changing Database Parameters for Volumes
Entering Level 5 Node Changing Log Settings Changing Log Settings Leaving Level 5 Node Changing Log Settings
Entering Level 5 Node Setting Up a Master Instance (Hot Standby) Setting Up a Master Instance (Hot Standby) Leaving Level 5 Node Setting Up a Master Instance (Hot Standby)
Entering Level 5 Node Adding a Standby Instance (Hot Standby) Adding a Standby Instance (Hot Standby) Leaving Level 5 Node Adding a Standby Instance (Hot Standby)
Entering Level 5 Node Activating, Deactivating, or Deleting Indexes Activating, Deactivating, or Deleting Indexes Leaving Level 5 Node Activating, Deactivating, or Deleting Indexes
Entering Level 5 Node Defining MapChar Sets Defining MapChar Sets Leaving Level 5 Node Defining MapChar Sets
Entering Level 5 Node Displaying, Changing and Deleting MapChar Sets Displaying, Changing and Deleting MapChar Sets Leaving Level 5 Node Displaying, Changing and Deleting MapChar Sets
Entering Level 5 Node Updating the Statistics Information Updating the Statistics Information Leaving Level 5 Node Updating the Statistics Information
Entering Level 5 Node Loading Example Data for Tutorial Loading Example Data for Tutorial Leaving Level 5 Node Loading Example Data for Tutorial
Entering Level 4 Node Deleting a Database Instance Deleting a Database Instance Leaving Level 4 Node Deleting a Database Instance
Entering Level 4 Node Managing the Database System Administrator Managing the Database System Administrator Leaving Level 4 Node Managing the Database System Administrator
Entering Level 5 Node Changing the DBM Operator Properties of the Database System Admi Changing the DBM Operator Properties of the Database System Admi Leaving Level 5 Node Changing the DBM Operator Properties of the Database System Admi
Entering Level 5 Node Changing the Password of the Database System Administrator Changing the Password of the Database System Administrator Leaving Level 5 Node Changing the Password of the Database System Administrator
Entering Level 5 Node Changing the Server Authorizations of the Database System Admini Changing the Server Authorizations of the Database System Admini Leaving Level 5 Node Changing the Server Authorizations of the Database System Admini
Entering Level 5 Node Changing the SQL User Properties of the Database System Administ Changing the SQL User Properties of the Database System Administ Leaving Level 5 Node Changing the SQL User Properties of the Database System Administ
Entering Level 4 Node Managing Database Manager Operators Managing Database Manager Operators Leaving Level 4 Node Managing Database Manager Operators
Entering Level 5 Node Creating, Changing, or Deleting a Database Manager Operator Creating, Changing, or Deleting a Database Manager Operator Leaving Level 5 Node Creating, Changing, or Deleting a Database Manager Operator
Entering Level 5 Node Changing the DBM Operator Properties Changing the DBM Operator Properties Leaving Level 5 Node Changing the DBM Operator Properties
Entering Level 5 Node Changing the Password of a Database Manager Operator Changing the Password of a Database Manager Operator Leaving Level 5 Node Changing the Password of a Database Manager Operator
Entering Level 5 Node Changing the Server Authorizations Changing the Server Authorizations Leaving Level 5 Node Changing the Server Authorizations
Entering Level 4 Node Managing Database Users Managing Database Users Leaving Level 4 Node Managing Database Users
Entering Level 5 Node Creating/Changing/Deleting a Database User Creating/Changing/Deleting a Database User Leaving Level 5 Node Creating/Changing/Deleting a Database User
Entering Level 5 Node Changing the SQL User Properties of a Database User Changing the SQL User Properties of a Database User Leaving Level 5 Node Changing the SQL User Properties of a Database User
Entering Level 5 Node Changing the Password of a Database User Changing the Password of a Database User Leaving Level 5 Node Changing the Password of a Database User
Entering Level 4 Node Backup Backup Leaving Level 4 Node Backup
Entering Level 5 Node Backup Wizard Backup Wizard Leaving Level 5 Node Backup Wizard
Entering Level 5 Node Managing the Backup Media Managing the Backup Media Leaving Level 5 Node Managing the Backup Media
Entering Level 6 Node Creating a Single Backup Medium Creating a Single Backup Medium Leaving Level 6 Node Creating a Single Backup Medium
Entering Level 6 Node Creating a Group of Parallel Backup Media Creating a Group of Parallel Backup Media Leaving Level 6 Node Creating a Group of Parallel Backup Media
Entering Level 6 Node Changing Backup Media Changing Backup Media Leaving Level 6 Node Changing Backup Media
Entering Level 6 Node Deleting Backup Media Deleting Backup Media Leaving Level 6 Node Deleting Backup Media
Entering Level 5 Node Backup Procedures Backup Procedures Leaving Level 5 Node Backup Procedures
Entering Level 6 Node Backing Up to a Single Backup Medium Backing Up to a Single Backup Medium Leaving Level 6 Node Backing Up to a Single Backup Medium
Entering Level 6 Node Backing Up to a Group of Parallel Backup Media Backing Up to a Group of Parallel Backup Media Leaving Level 6 Node Backing Up to a Group of Parallel Backup Media
Entering Level 6 Node Backups with Automatic Tape Loaders Backups with Automatic Tape Loaders Leaving Level 6 Node Backups with Automatic Tape Loaders
Entering Level 6 Node Backups with Manually Changed Media (Succeeding Medium) Backups with Manually Changed Media (Succeeding Medium) Leaving Level 6 Node Backups with Manually Changed Media (Succeeding Medium)
Entering Level 6 Node Backups with Backup Tools from Other Providers Backups with Backup Tools from Other Providers Leaving Level 6 Node Backups with Backup Tools from Other Providers
Entering Level 6 Node Activating and Deactivating Automatic Log Backup Activating and Deactivating Automatic Log Backup Leaving Level 6 Node Activating and Deactivating Automatic Log Backup
Entering Level 4 Node Restore Restore Leaving Level 4 Node Restore
Entering Level 5 Node Recovery Wizard Recovery Wizard Leaving Level 5 Node Recovery Wizard
Entering Level 5 Node Restoring the Last Backup in the Backup History Restoring the Last Backup in the Backup History Leaving Level 5 Node Restoring the Last Backup in the Backup History
Entering Level 5 Node Restoring a Backup from the Backup History Restoring a Backup from the Backup History Leaving Level 5 Node Restoring a Backup from the Backup History
Entering Level 5 Node Restoring Without a Backup History Restoring Without a Backup History Leaving Level 5 Node Restoring Without a Backup History
Entering Level 5 Node Continuing an Interrupted Restore Continuing an Interrupted Restore Leaving Level 5 Node Continuing an Interrupted Restore
Entering Level 5 Node Restoring with Automatic Tape Loaders Restoring with Automatic Tape Loaders Leaving Level 5 Node Restoring with Automatic Tape Loaders
Entering Level 5 Node Restoring with Backup Tools from Other Providers Restoring with Backup Tools from Other Providers Leaving Level 5 Node Restoring with Backup Tools from Other Providers
Entering Level 5 Node Restoring After Initializing a Database Instance Restoring After Initializing a Database Instance Leaving Level 5 Node Restoring After Initializing a Database Instance
Entering Level 5 Node Restoring the Indexes after a Database Restore Restoring the Indexes after a Database Restore Leaving Level 5 Node Restoring the Indexes after a Database Restore
Entering Level 5 Node Restoring a Mirrored Log Volume Restoring a Mirrored Log Volume Leaving Level 5 Node Restoring a Mirrored Log Volume
Entering Level 4 Node Freezing the Data Area (Snapshots) Freezing the Data Area (Snapshots) Leaving Level 4 Node Freezing the Data Area (Snapshots)
Entering Level 5 Node Creating a Snapshot Creating a Snapshot Leaving Level 5 Node Creating a Snapshot
Entering Level 5 Node Reverting to the Snapshot Reverting to the Snapshot Leaving Level 5 Node Reverting to the Snapshot
Entering Level 5 Node Deleting the Snapshot Deleting the Snapshot Leaving Level 5 Node Deleting the Snapshot
Entering Level 4 Node Displaying Information Displaying Information Leaving Level 4 Node Displaying Information
Entering Level 5 Node Displaying the Backup History Displaying the Backup History Leaving Level 5 Node Displaying the Backup History
Entering Level 5 Node Displaying Cache Information Displaying Cache Information Leaving Level 5 Node Displaying Cache Information
Entering Level 5 Node Displaying Data Area Information Displaying Data Area Information Leaving Level 5 Node Displaying Data Area Information
Entering Level 5 Node Displaying Database Activities Displaying Database Activities Leaving Level 5 Node Displaying Database Activities
Entering Level 5 Node Displaying Database Parameters Displaying Database Parameters Leaving Level 5 Node Displaying Database Parameters
Entering Level 5 Node Displaying Database Sessions Displaying Database Sessions Leaving Level 5 Node Displaying Database Sessions
Entering Level 5 Node Displaying Log Area Information Displaying Log Area Information Leaving Level 5 Node Displaying Log Area Information
Entering Level 5 Node Displaying System Tables Displaying System Tables Leaving Level 5 Node Displaying System Tables
Entering Level 4 Node Options for Diagnosing Problems Options for Diagnosing Problems Leaving Level 4 Node Options for Diagnosing Problems
Entering Level 5 Node Checking Backups Checking Backups Leaving Level 5 Node Checking Backups
Entering Level 5 Node Displaying and Deleting Database Analyzer Information Displaying and Deleting Database Analyzer Information Leaving Level 5 Node Displaying and Deleting Database Analyzer Information
Entering Level 5 Node Checking Database Servers Checking Database Servers Leaving Level 5 Node Checking Database Servers
Entering Level 5 Node Reading Database Files Reading Database Files Leaving Level 5 Node Reading Database Files
Entering Level 5 Node Checking Database Structures Checking Database Structures Leaving Level 5 Node Checking Database Structures
Entering Level 5 Node Using the Database Trace Using the Database Trace Leaving Level 5 Node Using the Database Trace
Entering Level 5 Node Displaying OMS Caches Displaying OMS Caches Leaving Level 5 Node Displaying OMS Caches
Entering Level 5 Node Displaying OMS Class Containers Displaying OMS Class Containers Leaving Level 5 Node Displaying OMS Class Containers
Entering Level 5 Node Activating the OMS Monitor Activating the OMS Monitor Leaving Level 5 Node Activating the OMS Monitor
Entering Level 4 Node Updating the Database Software Updating the Database Software Leaving Level 4 Node Updating the Database Software
Entering Level 5 Node Updating the System Tables Updating the System Tables Leaving Level 5 Node Updating the System Tables
Entering Level 4 Node Using the SQL Studio Using the SQL Studio Leaving Level 4 Node Using the SQL Studio
Entering Level 4 Node Using the Database Manager CLI Using the Database Manager CLI Leaving Level 4 Node Using the Database Manager CLI
Entering Level 3 Node Database Manager CLI Database Manager CLI Leaving Level 3 Node Database Manager CLI
Entering Level 4 Node How the Database Manager CLI Works How the Database Manager CLI Works Leaving Level 4 Node How the Database Manager CLI Works
Entering Level 5 Node Calling the Database Manager CLI Calling the Database Manager CLI Leaving Level 5 Node Calling the Database Manager CLI
Entering Level 6 Node DBM Options DBM Options Leaving Level 6 Node DBM Options
Entering Level 7 Node -c: Indicate as DBM Command: -c: Indicate as DBM Command: Leaving Level 7 Node -c: Indicate as DBM Command:
Entering Level 7 Node -d: Name of the Database Instance -d: Name of the Database Instance Leaving Level 7 Node -d: Name of the Database Instance
Entering Level 7 Node -e: Activating Encryption -e: Activating Encryption Leaving Level 7 Node -e: Activating Encryption
Entering Level 7 Node -i | -ic | is | ics: Name of the Input Script -i | -ic | is | ics: Name of the Input Script Leaving Level 7 Node -i | -ic | is | ics: Name of the Input Script
Entering Level 7 Node -n: Name of the Database Computer -n: Name of the Database Computer Leaving Level 7 Node -n: Name of the Database Computer
Entering Level 7 Node -0: Name of the Output File -0: Name of the Output File Leaving Level 7 Node -0: Name of the Output File
Entering Level 7 Node -R: Installation Directory of the Database Software: -R: Installation Directory of the Database Software: Leaving Level 7 Node -R: Installation Directory of the Database Software:
Entering Level 7 Node -t: Name of the Log File -t: Name of the Log File Leaving Level 7 Node -t: Name of the Log File
Entering Level 7 Node -uSQL: Opening an SQL Session -uSQL: Opening an SQL Session Leaving Level 7 Node -uSQL: Opening an SQL Session
Entering Level 7 Node -uSRV: Opening a Service Session -uSRV: Opening a Service Session Leaving Level 7 Node -uSRV: Opening a Service Session
Entering Level 7 Node -uUTL: Opening a Utility Session -uUTL: Opening a Utility Session Leaving Level 7 Node -uUTL: Opening a Utility Session
Entering Level 7 Node -du: Deleting XUSER Entries -du: Deleting XUSER Entries Leaving Level 7 Node -du: Deleting XUSER Entries
Entering Level 7 Node -uk: User Key -uk: User Key Leaving Level 7 Node -uk: User Key
Entering Level 7 Node -us: Creating or Changing XUSER Entries -us: Creating or Changing XUSER Entries Leaving Level 7 Node -us: Creating or Changing XUSER Entries
Entering Level 7 Node -ux: Logging On to the XUSER Program -ux: Logging On to the XUSER Program Leaving Level 7 Node -ux: Logging On to the XUSER Program
Entering Level 7 Node -ul: Displaying XUSER Data -ul: Displaying XUSER Data Leaving Level 7 Node -ul: Displaying XUSER Data
Entering Level 6 Node DBM Commands DBM Commands Leaving Level 6 Node DBM Commands
Entering Level 6 Node Input Help Input Help Leaving Level 6 Node Input Help
Entering Level 7 Node Comment: # Comment: # Leaving Level 7 Node Comment: #
Entering Level 7 Node Local System Call: ! Local System Call: ! Leaving Level 7 Node Local System Call: !
Entering Level 7 Node Linking Lines: / Linking Lines: / Leaving Level 7 Node Linking Lines: /
Entering Level 7 Node Linking Lines: < Linking Lines: < Leaving Level 7 Node Linking Lines: <
Entering Level 5 Node Reply Format Reply Format Leaving Level 5 Node Reply Format
Entering Level 4 Node Command Reference for Working with the Database Manager CLI Command Reference for Working with the Database Manager CLI Leaving Level 4 Node Command Reference for Working with the Database Manager CLI
Entering Level 5 Node Database Manager Help Database Manager Help Leaving Level 5 Node Database Manager Help
Entering Level 6 Node Other Commands for Database Manager Help Other Commands for Database Manager Help Leaving Level 6 Node Other Commands for Database Manager Help
Entering Level 5 Node Software Installation Software Installation Leaving Level 5 Node Software Installation
Entering Level 6 Node Other Commands for Software Installation Other Commands for Software Installation Leaving Level 6 Node Other Commands for Software Installation
Entering Level 5 Node Creating and Deleting Database Instances Creating and Deleting Database Instances Leaving Level 5 Node Creating and Deleting Database Instances
Entering Level 6 Node Other Commands for Creating and Deleting Database Instances Other Commands for Creating and Deleting Database Instances Leaving Level 6 Node Other Commands for Creating and Deleting Database Instances
Entering Level 5 Node Configuring Database Instances Configuring Database Instances Leaving Level 5 Node Configuring Database Instances
Entering Level 6 Node Other Commands for Configuring Volumes Other Commands for Configuring Volumes Leaving Level 6 Node Other Commands for Configuring Volumes
Entering Level 6 Node Commands for Changing Database Parameters Commands for Changing Database Parameters Leaving Level 6 Node Commands for Changing Database Parameters
Entering Level 5 Node Controlling Database Instances Controlling Database Instances Leaving Level 5 Node Controlling Database Instances
Entering Level 6 Node Other Commands for Controlling Database Instances Other Commands for Controlling Database Instances Leaving Level 6 Node Other Commands for Controlling Database Instances
Entering Level 5 Node Backing Up and Restoring Database Instances Backing Up and Restoring Database Instances Leaving Level 5 Node Backing Up and Restoring Database Instances
Entering Level 6 Node Other Commands for Media Other Commands for Media Leaving Level 6 Node Other Commands for Media
Entering Level 6 Node Other Commands for Backups Other Commands for Backups Leaving Level 6 Node Other Commands for Backups
Entering Level 6 Node Other Commands for Information on Backups Other Commands for Information on Backups Leaving Level 6 Node Other Commands for Information on Backups
Entering Level 6 Node Other Commands for Data Recovery Other Commands for Data Recovery Leaving Level 6 Node Other Commands for Data Recovery
Entering Level 5 Node Managing Database Manager Operators Managing Database Manager Operators Leaving Level 5 Node Managing Database Manager Operators
Entering Level 6 Node Other Commands for Managing Database Manager Operators Other Commands for Managing Database Manager Operators Leaving Level 6 Node Other Commands for Managing Database Manager Operators
Entering Level 5 Node Analyzing the Database Instance Analyzing the Database Instance Leaving Level 5 Node Analyzing the Database Instance
Entering Level 6 Node Commands for the Database Trace Function Commands for the Database Trace Function Leaving Level 6 Node Commands for the Database Trace Function
Entering Level 6 Node Commands for Accessing Database Files Commands for Accessing Database Files Leaving Level 6 Node Commands for Accessing Database Files
Entering Level 6 Node Commands for Using the Database Analyzer Commands for Using the Database Analyzer Leaving Level 6 Node Commands for Using the Database Analyzer
Entering Level 5 Node Accessing the Database Instance using SQL Accessing the Database Instance using SQL Leaving Level 5 Node Accessing the Database Instance using SQL
Entering Level 6 Node Other Commands Accessing the Database Instance Using SQL Other Commands Accessing the Database Instance Using SQL Leaving Level 6 Node Other Commands Accessing the Database Instance Using SQL
Entering Level 5 Node Optimizing SQL Access to the Database Instance Optimizing SQL Access to the Database Instance Leaving Level 5 Node Optimizing SQL Access to the Database Instance
Entering Level 5 Node Using Database Events Using Database Events Leaving Level 5 Node Using Database Events
Entering Level 6 Node Other Commands for Using Database Events Other Commands for Using Database Events Leaving Level 6 Node Other Commands for Using Database Events
Entering Level 5 Node Using the Scheduler Using the Scheduler Leaving Level 5 Node Using the Scheduler
Entering Level 6 Node Other Commands for Using the Scheduler Other Commands for Using the Scheduler Leaving Level 6 Node Other Commands for Using the Scheduler
Entering Level 5 Node Managing Hot Standby Systems Managing Hot Standby Systems Leaving Level 5 Node Managing Hot Standby Systems
Entering Level 6 Node Commands for Managing Hot Standby Systems Commands for Managing Hot Standby Systems Leaving Level 6 Node Commands for Managing Hot Standby Systems
Entering Level 5 Node Database Manager Settings Database Manager Settings Leaving Level 5 Node Database Manager Settings
Entering Level 6 Node Other Commands for the Database Manager Settings Other Commands for the Database Manager Settings Leaving Level 6 Node Other Commands for the Database Manager Settings
Entering Level 4 Node Overview of All DBM Commands Overview of All DBM Commands Leaving Level 4 Node Overview of All DBM Commands
Entering Level 5 Node apropos apropos Leaving Level 5 Node apropos
Entering Level 5 Node archive_stage archive_stage Leaving Level 5 Node archive_stage
Entering Level 5 Node archive_stage_repeat archive_stage_repeat Leaving Level 5 Node archive_stage_repeat
Entering Level 5 Node auto_extend auto_extend Leaving Level 5 Node auto_extend
Entering Level 5 Node auto_update_statistics auto_update_statistics Leaving Level 5 Node auto_update_statistics
Entering Level 5 Node autolog_cancel autolog_cancel Leaving Level 5 Node autolog_cancel
Entering Level 5 Node autolog_off autolog_off Leaving Level 5 Node autolog_off
Entering Level 5 Node autolog_on autolog_on Leaving Level 5 Node autolog_on
Entering Level 5 Node autolog_show autolog_show Leaving Level 5 Node autolog_show
Entering Level 5 Node autorecover autorecover Leaving Level 5 Node autorecover
Entering Level 5 Node backup_cancel backup_cancel Leaving Level 5 Node backup_cancel
Entering Level 5 Node backup_cancel_req backup_cancel_req Leaving Level 5 Node backup_cancel_req
Entering Level 5 Node backup_ext_ids_forget backup_ext_ids_forget Leaving Level 5 Node backup_ext_ids_forget
Entering Level 5 Node backup_ext_ids_get backup_ext_ids_get Leaving Level 5 Node backup_ext_ids_get
Entering Level 5 Node backup_ext_ids_getfromtool backup_ext_ids_getfromtool Leaving Level 5 Node backup_ext_ids_getfromtool
Entering Level 5 Node backup_ext_ids_list backup_ext_ids_list Leaving Level 5 Node backup_ext_ids_list
Entering Level 5 Node backup_ext_ids_listnext backup_ext_ids_listnext Leaving Level 5 Node backup_ext_ids_listnext
Entering Level 5 Node backup_history_append backup_history_append Leaving Level 5 Node backup_history_append
Entering Level 5 Node backup_history_close backup_history_close Leaving Level 5 Node backup_history_close
Entering Level 5 Node backup_history_date backup_history_date Leaving Level 5 Node backup_history_date
Entering Level 5 Node backup_history_list backup_history_list Leaving Level 5 Node backup_history_list
Entering Level 5 Node backup_history_listnext backup_history_listnext Leaving Level 5 Node backup_history_listnext
Entering Level 5 Node backup_history_open backup_history_open Leaving Level 5 Node backup_history_open
Entering Level 5 Node backup_ignore backup_ignore Leaving Level 5 Node backup_ignore
Entering Level 5 Node backup_ignore_req backup_ignore_req Leaving Level 5 Node backup_ignore_req
Entering Level 5 Node backup_replace backup_replace Leaving Level 5 Node backup_replace
Entering Level 5 Node backup_replace_req backup_replace_req Leaving Level 5 Node backup_replace_req
Entering Level 5 Node backup_reply_available backup_reply_available Leaving Level 5 Node backup_reply_available
Entering Level 5 Node backup_reply_receive backup_reply_receive Leaving Level 5 Node backup_reply_receive
Entering Level 5 Node backup_req backup_req Leaving Level 5 Node backup_req
Entering Level 5 Node backup_start backup_start Leaving Level 5 Node backup_start
Entering Level 5 Node backup_state backup_state Leaving Level 5 Node backup_state
Entering Level 5 Node bye | exit | quit | release bye | exit | quit | release Leaving Level 5 Node bye | exit | quit | release
Entering Level 5 Node db_activate db_activate Leaving Level 5 Node db_activate
Entering Level 5 Node db_activate RECOVER db_activate RECOVER Leaving Level 5 Node db_activate RECOVER
Entering Level 5 Node db_activate_req db_activate_req Leaving Level 5 Node db_activate_req
Entering Level 5 Node db_addvolume db_addvolume Leaving Level 5 Node db_addvolume
Entering Level 5 Node db_admin db_admin Leaving Level 5 Node db_admin
Entering Level 5 Node db_clear db_clear Leaving Level 5 Node db_clear
Entering Level 5 Node db_connect db_connect Leaving Level 5 Node db_connect
Entering Level 5 Node db_cons db_cons Leaving Level 5 Node db_cons
Entering Level 5 Node db_create db_create Leaving Level 5 Node db_create
Entering Level 6 Node Example: How to Create and Configure a Database Instance Example: How to Create and Configure a Database Instance Leaving Level 6 Node Example: How to Create and Configure a Database Instance
Entering Level 5 Node db_deletevolume db_deletevolume Leaving Level 5 Node db_deletevolume
Entering Level 5 Node db_drop db_drop Leaving Level 5 Node db_drop
Entering Level 5 Node db_enum db_enum Leaving Level 5 Node db_enum
Entering Level 5 Node db_execute db_execute Leaving Level 5 Node db_execute
Entering Level 5 Node db_executenice db_executenice Leaving Level 5 Node db_executenice
Entering Level 5 Node db_fetch db_fetch Leaving Level 5 Node db_fetch
Entering Level 5 Node db_fetchnice db_fetchnice Leaving Level 5 Node db_fetchnice
Entering Level 5 Node db_migratecatalog db_migratecatalog Leaving Level 5 Node db_migratecatalog
Entering Level 5 Node db_offline db_offline Leaving Level 5 Node db_offline
Entering Level 5 Node db_online db_online Leaving Level 5 Node db_online
Entering Level 5 Node db_reg db_reg Leaving Level 5 Node db_reg
Entering Level 5 Node db_reinstall db_reinstall Leaving Level 5 Node db_reinstall
Entering Level 5 Node db_release db_release Leaving Level 5 Node db_release
Entering Level 5 Node db_restart db_restart Leaving Level 5 Node db_restart
Entering Level 5 Node db_restartinfo db_restartinfo Leaving Level 5 Node db_restartinfo
Entering Level 5 Node db_speed db_speed Leaving Level 5 Node db_speed
Entering Level 5 Node db_standby db_standby Leaving Level 5 Node db_standby
Entering Level 5 Node db_state db_state Leaving Level 5 Node db_state
Entering Level 5 Node db_stop db_stop Leaving Level 5 Node db_stop
Entering Level 5 Node dban_delete dban_delete Leaving Level 5 Node dban_delete
Entering Level 5 Node dban_start dban_start Leaving Level 5 Node dban_start
Entering Level 5 Node dban_state dban_state Leaving Level 5 Node dban_state
Entering Level 5 Node dban_stop dban_stop Leaving Level 5 Node dban_stop
Entering Level 5 Node dbm_configget dbm_configget Leaving Level 5 Node dbm_configget
Entering Level 5 Node dbm_configset dbm_configset Leaving Level 5 Node dbm_configset
Entering Level 5 Node dbm_execute_serverprocess dbm_execute_serverprocess Leaving Level 5 Node dbm_execute_serverprocess
Entering Level 5 Node dbm_getpath dbm_getpath Leaving Level 5 Node dbm_getpath
Entering Level 5 Node dbm_getpid dbm_getpid Leaving Level 5 Node dbm_getpid
Entering Level 5 Node dbm_listmemoryerror dbm_listmemoryerror Leaving Level 5 Node dbm_listmemoryerror
Entering Level 5 Node dbm_next dbm_next Leaving Level 5 Node dbm_next
Entering Level 5 Node dbm_setpath dbm_setpath Leaving Level 5 Node dbm_setpath
Entering Level 5 Node dbm_shm_info dbm_shm_info Leaving Level 5 Node dbm_shm_info
Entering Level 5 Node dbm_shm_reset dbm_shm_reset Leaving Level 5 Node dbm_shm_reset
Entering Level 5 Node dbm_shm_unlock dbm_shm_unlock Leaving Level 5 Node dbm_shm_unlock
Entering Level 5 Node dbm_version dbm_version Leaving Level 5 Node dbm_version
Entering Level 5 Node dbmevtdisp_internal_add dbmevtdisp_internal_add Leaving Level 5 Node dbmevtdisp_internal_add
Entering Level 5 Node dbmevtdisp_internal_communication dbmevtdisp_internal_communication Leaving Level 5 Node dbmevtdisp_internal_communication
Entering Level 5 Node dbmevtdisp_internal_delete dbmevtdisp_internal_delete Leaving Level 5 Node dbmevtdisp_internal_delete
Entering Level 5 Node diag_histlist diag_histlist Leaving Level 5 Node diag_histlist
Entering Level 5 Node diag_pack diag_pack Leaving Level 5 Node diag_pack
Entering Level 5 Node event_available event_available Leaving Level 5 Node event_available
Entering Level 5 Node event_delete event_delete Leaving Level 5 Node event_delete
Entering Level 5 Node event_list event_list Leaving Level 5 Node event_list
Entering Level 5 Node event_list_categories event_list_categories Leaving Level 5 Node event_list_categories
Entering Level 5 Node event_receive event_receive Leaving Level 5 Node event_receive
Entering Level 5 Node event_release event_release Leaving Level 5 Node event_release
Entering Level 5 Node event_set event_set Leaving Level 5 Node event_set
Entering Level 5 Node event_wait event_wait Leaving Level 5 Node event_wait
Entering Level 5 Node exec_lcinit exec_lcinit Leaving Level 5 Node exec_lcinit
Entering Level 5 Node exec_nipingsrv exec_nipingsrv Leaving Level 5 Node exec_nipingsrv
Entering Level 5 Node exec_sdbinfo exec_sdbinfo Leaving Level 5 Node exec_sdbinfo
Entering Level 5 Node explain explain Leaving Level 5 Node explain
Entering Level 5 Node file_backup file_backup Leaving Level 5 Node file_backup
Entering Level 5 Node file_getfirst file_getfirst Leaving Level 5 Node file_getfirst
Entering Level 5 Node file_getlist file_getlist Leaving Level 5 Node file_getlist
Entering Level 5 Node file_getnext file_getnext Leaving Level 5 Node file_getnext
Entering Level 5 Node file_operation file_operation Leaving Level 5 Node file_operation
Entering Level 5 Node file_restore file_restore Leaving Level 5 Node file_restore
Entering Level 5 Node get_default get_default Leaving Level 5 Node get_default
Entering Level 5 Node help help Leaving Level 5 Node help
Entering Level 5 Node hss_addstandby hss_addstandby Leaving Level 5 Node hss_addstandby
Entering Level 5 Node hss_copyfile hss_copyfile Leaving Level 5 Node hss_copyfile
Entering Level 5 Node hss_enable hss_enable Leaving Level 5 Node hss_enable
Entering Level 5 Node hss_execute hss_execute Leaving Level 5 Node hss_execute
Entering Level 5 Node hss_getnodes hss_getnodes Leaving Level 5 Node hss_getnodes
Entering Level 5 Node hss_removestandby hss_removestandby Leaving Level 5 Node hss_removestandby
Entering Level 5 Node info info Leaving Level 5 Node info
Entering Level 5 Node info_next info_next Leaving Level 5 Node info_next
Entering Level 5 Node inst_enum inst_enum Leaving Level 5 Node inst_enum
Entering Level 5 Node inst_info inst_info Leaving Level 5 Node inst_info
Entering Level 5 Node inst_reg inst_reg Leaving Level 5 Node inst_reg
Entering Level 5 Node inst_unreg inst_unreg Leaving Level 5 Node inst_unreg
Entering Level 5 Node load_lcapps load_lcapps Leaving Level 5 Node load_lcapps
Entering Level 5 Node load_r3tab load_r3tab Leaving Level 5 Node load_r3tab
Entering Level 5 Node load_systab load_systab Leaving Level 5 Node load_systab
Entering Level 5 Node load_tutorial load_tutorial Leaving Level 5 Node load_tutorial
Entering Level 5 Node medium_date medium_date Leaving Level 5 Node medium_date
Entering Level 5 Node medium_delete medium_delete Leaving Level 5 Node medium_delete
Entering Level 5 Node medium_delete_nodistribute medium_delete_nodistribute Leaving Level 5 Node medium_delete_nodistribute
Entering Level 5 Node medium_get medium_get Leaving Level 5 Node medium_get
Entering Level 5 Node medium_getall medium_getall Leaving Level 5 Node medium_getall
Entering Level 5 Node medium_label medium_label Leaving Level 5 Node medium_label
Entering Level 5 Node medium_labeloffline medium_labeloffline Leaving Level 5 Node medium_labeloffline
Entering Level 5 Node medium_migrate medium_migrate Leaving Level 5 Node medium_migrate
Entering Level 5 Node medium_put medium_put Leaving Level 5 Node medium_put
Entering Level 5 Node medium_put_nodistribute medium_put_nodistribute Leaving Level 5 Node medium_put_nodistribute
Entering Level 5 Node package_info package_info Leaving Level 5 Node package_info
Entering Level 5 Node param_abortsession param_abortsession Leaving Level 5 Node param_abortsession
Entering Level 5 Node param_addvolume param_addvolume Leaving Level 5 Node param_addvolume
Entering Level 5 Node param_checkall param_checkall Leaving Level 5 Node param_checkall
Entering Level 5 Node param_commitsession param_commitsession Leaving Level 5 Node param_commitsession
Entering Level 5 Node param_copy param_copy Leaving Level 5 Node param_copy
Entering Level 5 Node param_delvolume param_delvolume Leaving Level 5 Node param_delvolume
Entering Level 5 Node param_directdel param_directdel Leaving Level 5 Node param_directdel
Entering Level 5 Node param_directget param_directget Leaving Level 5 Node param_directget
Entering Level 5 Node param_directgetall param_directgetall Leaving Level 5 Node param_directgetall
Entering Level 5 Node param_directgetallnext param_directgetallnext Leaving Level 5 Node param_directgetallnext
Entering Level 5 Node param_directput param_directput Leaving Level 5 Node param_directput
Entering Level 5 Node param_extget param_extget Leaving Level 5 Node param_extget
Entering Level 5 Node param_extgetall param_extgetall Leaving Level 5 Node param_extgetall
Entering Level 5 Node param_extgetallnext param_extgetallnext Leaving Level 5 Node param_extgetallnext
Entering Level 5 Node param_getdefault param_getdefault Leaving Level 5 Node param_getdefault
Entering Level 5 Node param_getexplain param_getexplain Leaving Level 5 Node param_getexplain
Entering Level 5 Node param_getfull param_getfull Leaving Level 5 Node param_getfull
Entering Level 5 Node param_gethelp param_gethelp Leaving Level 5 Node param_gethelp
Entering Level 5 Node param_gethistory param_gethistory Leaving Level 5 Node param_gethistory
Entering Level 5 Node param_gethistorynext param_gethistorynext Leaving Level 5 Node param_gethistorynext
Entering Level 5 Node param_getproperties param_getproperties Leaving Level 5 Node param_getproperties
Entering Level 5 Node param_gettype param_gettype Leaving Level 5 Node param_gettype
Entering Level 5 Node param_getvalue param_getvalue Leaving Level 5 Node param_getvalue
Entering Level 5 Node param_getvolsall param_getvolsall Leaving Level 5 Node param_getvolsall
Entering Level 5 Node param_getvolume param_getvolume Leaving Level 5 Node param_getvolume
Entering Level 5 Node param_init param_init Leaving Level 5 Node param_init
Entering Level 5 Node param_put param_put Leaving Level 5 Node param_put
Entering Level 5 Node param_restore param_restore Leaving Level 5 Node param_restore
Entering Level 5 Node param_rmfile param_rmfile Leaving Level 5 Node param_rmfile
Entering Level 5 Node param_startsession param_startsession Leaving Level 5 Node param_startsession
Entering Level 5 Node param_versions param_versions Leaving Level 5 Node param_versions
Entering Level 5 Node recover_cancel recover_cancel Leaving Level 5 Node recover_cancel
Entering Level 5 Node recover_cancel_req recover_cancel_req Leaving Level 5 Node recover_cancel_req
Entering Level 5 Node recover_check recover_check Leaving Level 5 Node recover_check
Entering Level 5 Node recover_check_req recover_check_req Leaving Level 5 Node recover_check_req
Entering Level 5 Node recover_config recover_config Leaving Level 5 Node recover_config
Entering Level 5 Node recover_ignore recover_ignore Leaving Level 5 Node recover_ignore
Entering Level 5 Node recover_ignore_req recover_ignore_req Leaving Level 5 Node recover_ignore_req
Entering Level 5 Node recover_replace recover_replace Leaving Level 5 Node recover_replace
Entering Level 5 Node recover_replace_req recover_replace_req Leaving Level 5 Node recover_replace_req
Entering Level 5 Node recover_req recover_req Leaving Level 5 Node recover_req
Entering Level 5 Node recover_start recover_start Leaving Level 5 Node recover_start
Entering Level 5 Node recover_state recover_state Leaving Level 5 Node recover_state
Entering Level 5 Node recover_state_check recover_state_check Leaving Level 5 Node recover_state_check
Entering Level 5 Node recover_volume recover_volume Leaving Level 5 Node recover_volume
Entering Level 5 Node scheduler_activate_job scheduler_activate_job Leaving Level 5 Node scheduler_activate_job
Entering Level 5 Node scheduler_create_job scheduler_create_job Leaving Level 5 Node scheduler_create_job
Entering Level 5 Node scheduler_deactivate_job scheduler_deactivate_job Leaving Level 5 Node scheduler_deactivate_job
Entering Level 5 Node scheduler_delete_job scheduler_delete_job Leaving Level 5 Node scheduler_delete_job
Entering Level 5 Node scheduler_list_jobs scheduler_list_jobs Leaving Level 5 Node scheduler_list_jobs
Entering Level 5 Node scheduler_start scheduler_start Leaving Level 5 Node scheduler_start
Entering Level 5 Node scheduler_state scheduler_state Leaving Level 5 Node scheduler_state
Entering Level 5 Node scheduler_stop scheduler_stop Leaving Level 5 Node scheduler_stop
Entering Level 5 Node service_connect service_connect Leaving Level 5 Node service_connect
Entering Level 5 Node service_release service_release Leaving Level 5 Node service_release
Entering Level 5 Node show show Leaving Level 5 Node show
Entering Level 5 Node show_list show_list Leaving Level 5 Node show_list
Entering Level 5 Node show_next show_next Leaving Level 5 Node show_next
Entering Level 5 Node sql_connect sql_connect Leaving Level 5 Node sql_connect
Entering Level 5 Node sql_execute sql_execute Leaving Level 5 Node sql_execute
Entering Level 5 Node sql_executenice sql_executenice Leaving Level 5 Node sql_executenice
Entering Level 5 Node sql_fetch sql_fetch Leaving Level 5 Node sql_fetch
Entering Level 5 Node sql_fetchnice sql_fetchnice Leaving Level 5 Node sql_fetchnice
Entering Level 5 Node sql_info sql_info Leaving Level 5 Node sql_info
Entering Level 5 Node sql_recreateindex sql_recreateindex Leaving Level 5 Node sql_recreateindex
Entering Level 5 Node sql_release sql_release Leaving Level 5 Node sql_release
Entering Level 5 Node sql_updatestat sql_updatestat Leaving Level 5 Node sql_updatestat
Entering Level 5 Node sql_updatestat_per_systemtable sql_updatestat_per_systemtable Leaving Level 5 Node sql_updatestat_per_systemtable
Entering Level 5 Node trace_clear trace_clear Leaving Level 5 Node trace_clear
Entering Level 5 Node trace_flush trace_flush Leaving Level 5 Node trace_flush
Entering Level 5 Node trace_off trace_off Leaving Level 5 Node trace_off
Entering Level 5 Node trace_on trace_on Leaving Level 5 Node trace_on
Entering Level 5 Node trace_prot trace_prot Leaving Level 5 Node trace_prot
Entering Level 5 Node trace_protopt trace_protopt Leaving Level 5 Node trace_protopt
Entering Level 5 Node trace_show trace_show Leaving Level 5 Node trace_show
Entering Level 5 Node user_create user_create Leaving Level 5 Node user_create
Entering Level 5 Node user_delete user_delete Leaving Level 5 Node user_delete
Entering Level 5 Node user_get user_get Leaving Level 5 Node user_get
Entering Level 5 Node user_getall user_getall Leaving Level 5 Node user_getall
Entering Level 5 Node user_getrights user_getrights Leaving Level 5 Node user_getrights
Entering Level 5 Node user_logon user_logon Leaving Level 5 Node user_logon
Entering Level 5 Node user_put user_put Leaving Level 5 Node user_put
Entering Level 6 Node Server Authorizations Server Authorizations Leaving Level 6 Node Server Authorizations
Entering Level 7 Node Access SQL: Access to SQL Session Access SQL: Access to SQL Session Leaving Level 7 Node Access SQL: Access to SQL Session
Entering Level 7 Node AccessUtility: Access to Utility Session AccessUtility: Access to Utility Session Leaving Level 7 Node AccessUtility: Access to Utility Session
Entering Level 7 Node Backup: Performing Backups Backup: Performing Backups Leaving Level 7 Node Backup: Performing Backups
Entering Level 7 Node DBFile Read: Accessing Database Files (Reading Only) DBFile Read: Accessing Database Files (Reading Only) Leaving Level 7 Node DBFile Read: Accessing Database Files (Reading Only)
Entering Level 7 Node DBInfoRead: Displaying Status Information DBInfoRead: Displaying Status Information Leaving Level 7 Node DBInfoRead: Displaying Status Information
Entering Level 7 Node DB Start: Starting the Database Instance DB Start: Starting the Database Instance Leaving Level 7 Node DB Start: Starting the Database Instance
Entering Level 7 Node DBStop: Stopping the Database Instance DBStop: Stopping the Database Instance Leaving Level 7 Node DBStop: Stopping the Database Instance
Entering Level 7 Node ExecLoad: Executing the Loader program: ExecLoad: Executing the Loader program: Leaving Level 7 Node ExecLoad: Executing the Loader program:
Entering Level 7 Node InstallMgm: Installation Management InstallMgm: Installation Management Leaving Level 7 Node InstallMgm: Installation Management
Entering Level 7 Node LoadSysTab: Loading the System Tables LoadSysTab: Loading the System Tables Leaving Level 7 Node LoadSysTab: Loading the System Tables
Entering Level 7 Node ParamCheckWrite: Accessing Database Parameters (Checked Writing) ParamCheckWrite: Accessing Database Parameters (Checked Writing) Leaving Level 7 Node ParamCheckWrite: Accessing Database Parameters (Checked Writing)
Entering Level 7 Node PAccessing Database Parameters (Reading and Writing): ParamFull PAccessing Database Parameters (Reading and Writing): ParamFull Leaving Level 7 Node PAccessing Database Parameters (Reading and Writing): ParamFull
Entering Level 7 Node ParamRead: Accessing Database Parameters (Reading Only) ParamRead: Accessing Database Parameters (Reading Only) Leaving Level 7 Node ParamRead: Accessing Database Parameters (Reading Only)
Entering Level 7 Node Recovery: Restoring Backups Recovery: Restoring Backups Leaving Level 7 Node Recovery: Restoring Backups
Entering Level 7 Node SchedulerMgm: Managing the Scheduler SchedulerMgm: Managing the Scheduler Leaving Level 7 Node SchedulerMgm: Managing the Scheduler
Entering Level 7 Node Scheduling: Scheduling DBM Commands Scheduling: Scheduling DBM Commands Leaving Level 7 Node Scheduling: Scheduling DBM Commands
Entering Level 7 Node SharedMemoryAdmin: Managing the Shared Memory SharedMemoryAdmin: Managing the Shared Memory Leaving Level 7 Node SharedMemoryAdmin: Managing the Shared Memory
Entering Level 7 Node SystemCmd: Executing Operating System Commands SystemCmd: Executing Operating System Commands Leaving Level 7 Node SystemCmd: Executing Operating System Commands
Entering Level 7 Node UserMgm: Managing Database Manager Operators UserMgm: Managing Database Manager Operators Leaving Level 7 Node UserMgm: Managing Database Manager Operators
Entering Level 5 Node user_rename user_rename Leaving Level 5 Node user_rename
Entering Level 5 Node user_sap user_sap Leaving Level 5 Node user_sap
Entering Level 5 Node user_sysdba user_sysdba Leaving Level 5 Node user_sysdba
Entering Level 5 Node user_system user_system Leaving Level 5 Node user_system
Entering Level 3 Node Database Analyzer Database Analyzer Leaving Level 3 Node Database Analyzer
Entering Level 4 Node Calling Database Analyzer Calling Database Analyzer Leaving Level 4 Node Calling Database Analyzer
Entering Level 5 Node Options Options Leaving Level 5 Node Options
Entering Level 4 Node Configuration File Configuration File Leaving Level 4 Node Configuration File
Entering Level 4 Node Log Files Log Files Leaving Level 4 Node Log Files
Entering Level 4 Node Messages Messages Leaving Level 4 Node Messages
Entering Level 5 Node Avg user cmd exec time for task Avg user cmd exec time for task Leaving Level 5 Node Avg user cmd exec time for task
Entering Level 5 Node Avg user suspend time for task Avg user suspend time for task Leaving Level 5 Node Avg user suspend time for task
Entering Level 5 Node Avg User Wait Time For Task Avg User Wait Time For Task Leaving Level 5 Node Avg User Wait Time For Task
Entering Level 5 Node Catalog Cache Hitrate Catalog Cache Hitrate Leaving Level 5 Node Catalog Cache Hitrate
Entering Level 5 Node Collision Rate Collision Rate Leaving Level 5 Node Collision Rate
Entering Level 5 Node Data Cache Hit Rate Data Cache Hit Rate Leaving Level 5 Node Data Cache Hit Rate
Entering Level 5 Node Data volume filling level Data volume filling level Leaving Level 5 Node Data volume filling level
Entering Level 5 Node Deletes/Updates Deletes/Updates Leaving Level 5 Node Deletes/Updates
Entering Level 5 Node Free User Tasks Free User Tasks Leaving Level 5 Node Free User Tasks
Entering Level 5 Node Lock List Escalations Lock List Escalations Leaving Level 5 Node Lock List Escalations
Entering Level 5 Node Log Area Filling Level Log Area Filling Level Leaving Level 5 Node Log Area Filling Level
Entering Level 5 Node Log Queue Overflows Log Queue Overflows Leaving Level 5 Node Log Queue Overflows
Entering Level 5 Node Log Write Time Log Write Time Leaving Level 5 Node Log Write Time
Entering Level 5 Node Max Log Queue Filling Max Log Queue Filling Leaving Level 5 Node Max Log Queue Filling
Entering Level 5 Node Number of Cached History Pages Number of Cached History Pages Leaving Level 5 Node Number of Cached History Pages
Entering Level 5 Node Number of Physical Reads Number of Physical Reads Leaving Level 5 Node Number of Physical Reads
Entering Level 5 Node Number of physical writes Number of physical writes Leaving Level 5 Node Number of physical writes
Entering Level 5 Node Number of Physical Writes of Temporary Pages Number of Physical Writes of Temporary Pages Leaving Level 5 Node Number of Physical Writes of Temporary Pages
Entering Level 5 Node OMS Cache Hit Rate OMS Cache Hit Rate Leaving Level 5 Node OMS Cache Hit Rate
Entering Level 5 Node OMS Heap Collisions OMS Heap Collisions Leaving Level 5 Node OMS Heap Collisions
Entering Level 5 Node OMS Heap Utilization OMS Heap Utilization Leaving Level 5 Node OMS Heap Utilization
Entering Level 5 Node OMS History Cache Hit Rate OMS History Cache Hit Rate Leaving Level 5 Node OMS History Cache Hit Rate
Entering Level 5 Node OMS Terminates OMS Terminates Leaving Level 5 Node OMS Terminates
Entering Level 5 Node OMS version is old OMS version is old Leaving Level 5 Node OMS version is old
Entering Level 5 Node OMS Version is Unloaded OMS Version is Unloaded Leaving Level 5 Node OMS Version is Unloaded
Entering Level 5 Node Optimizer Strategies Optimizer Strategies Leaving Level 5 Node Optimizer Strategies
Entering Level 5 Node Out of Memory Exceptions Out of Memory Exceptions Leaving Level 5 Node Out of Memory Exceptions
Entering Level 5 Node Parse Activities Parse Activities Leaving Level 5 Node Parse Activities
Entering Level 5 Node Physical Reads for User Task Physical Reads for User Task Leaving Level 5 Node Physical Reads for User Task
Entering Level 5 Node Selects and Fetches Selects and Fetches Leaving Level 5 Node Selects and Fetches
Entering Level 5 Node Table scans Table scans Leaving Level 5 Node Table scans
Entering Level 5 Node User Task Blocked in State User Task Blocked in State Leaving Level 5 Node User Task Blocked in State
Entering Level 5 Node User Task Physical Writes User Task Physical Writes Leaving Level 5 Node User Task Physical Writes
Entering Level 3 Node Loader Loader Leaving Level 3 Node Loader
Entering Level 4 Node Calling the Loader Calling the Loader Leaving Level 4 Node Calling the Loader
Entering Level 5 Node Call Options of the Loader CLI Call Options of the Loader CLI Leaving Level 5 Node Call Options of the Loader CLI
Entering Level 6 Node Transport Mode Transport Mode Leaving Level 6 Node Transport Mode
Entering Level 7 Node Transport Mode: Options Transport Mode: Options Leaving Level 7 Node Transport Mode: Options
Entering Level 7 Node Transport Mode: Examples Transport Mode: Examples Leaving Level 7 Node Transport Mode: Examples
Entering Level 6 Node Command File Mode Command File Mode Leaving Level 6 Node Command File Mode
Entering Level 7 Node Command File Command File Leaving Level 7 Node Command File
Entering Level 6 Node Session Mode Session Mode Leaving Level 6 Node Session Mode
Entering Level 6 Node Options for Establishing a Connection Options for Establishing a Connection Leaving Level 6 Node Options for Establishing a Connection
Entering Level 6 Node Options for Input and Output Options for Input and Output Leaving Level 6 Node Options for Input and Output
Entering Level 6 Node Options for Determining Version Information Options for Determining Version Information Leaving Level 6 Node Options for Determining Version Information
Entering Level 5 Node Call with the Java Interface of the Loader Call with the Java Interface of the Loader Leaving Level 5 Node Call with the Java Interface of the Loader
Entering Level 4 Node Commands and SQL Statements Commands and SQL Statements Leaving Level 4 Node Commands and SQL Statements
Entering Level 5 Node Creating a Database Session: Commands Creating a Database Session: Commands Leaving Level 5 Node Creating a Database Session: Commands
Entering Level 6 Node AUTOCOMMIT Command AUTOCOMMIT Command Leaving Level 6 Node AUTOCOMMIT Command
Entering Level 6 Node SET Command SET Command Leaving Level 6 Node SET Command
Entering Level 6 Node SQLMODE Command SQLMODE Command Leaving Level 6 Node SQLMODE Command
Entering Level 6 Node USE SCHEMA Command USE SCHEMA Command Leaving Level 6 Node USE SCHEMA Command
Entering Level 6 Node USE SERVERDB Command USE SERVERDB Command Leaving Level 6 Node USE SERVERDB Command
Entering Level 6 Node USE USER Command USE USER Command Leaving Level 6 Node USE USER Command
Entering Level 5 Node Exporting: Commands Exporting: Commands Leaving Level 5 Node Exporting: Commands
Entering Level 6 Node EXPORT DB Commands EXPORT DB Commands Leaving Level 6 Node EXPORT DB Commands
Entering Level 6 Node EXPORT USER Commands EXPORT USER Commands Leaving Level 6 Node EXPORT USER Commands
Entering Level 6 Node EXPORT SCHEMA Commands EXPORT SCHEMA Commands Leaving Level 6 Node EXPORT SCHEMA Commands
Entering Level 6 Node EXPORT TABLE Commands EXPORT TABLE Commands Leaving Level 6 Node EXPORT TABLE Commands
Entering Level 6 Node EXPORT COLUMNS Commands EXPORT COLUMNS Commands Leaving Level 6 Node EXPORT COLUMNS Commands
Entering Level 5 Node Importing: Commands Importing: Commands Leaving Level 5 Node Importing: Commands
Entering Level 6 Node IMPORT DB Commands IMPORT DB Commands Leaving Level 6 Node IMPORT DB Commands
Entering Level 6 Node IMPORT USER Commands IMPORT USER Commands Leaving Level 6 Node IMPORT USER Commands
Entering Level 6 Node IMPORT SCHEMA Commands IMPORT SCHEMA Commands Leaving Level 6 Node IMPORT SCHEMA Commands
Entering Level 6 Node IMPORT TABLE Commands IMPORT TABLE Commands Leaving Level 6 Node IMPORT TABLE Commands
Entering Level 6 Node IMPORT COLUMNS Commands IMPORT COLUMNS Commands Leaving Level 6 Node IMPORT COLUMNS Commands
Entering Level 6 Node UPDATE COLUMNS Commands UPDATE COLUMNS Commands Leaving Level 6 Node UPDATE COLUMNS Commands
Entering Level 5 Node Exporting and Importing: Syntax Elements Exporting and Importing: Syntax Elements Leaving Level 5 Node Exporting and Importing: Syntax Elements
Entering Level 6 Node Transformation Transformation Leaving Level 6 Node Transformation
Entering Level 6 Node Data Data Leaving Level 6 Node Data
Entering Level 6 Node Data Stream Data Stream Leaving Level 6 Node Data Stream
Entering Level 6 Node Data Types Data Types Leaving Level 6 Node Data Types
Entering Level 6 Node Data Formats Data Formats Leaving Level 6 Node Data Formats
Entering Level 6 Node COMPRESSED, FORMATTED, FORMATTED BINARY COMPRESSED, FORMATTED, FORMATTED BINARY Leaving Level 6 Node COMPRESSED, FORMATTED, FORMATTED BINARY
Entering Level 6 Node Medium Medium Leaving Level 6 Node Medium
Entering Level 6 Node Table Description Table Description Leaving Level 6 Node Table Description
Entering Level 6 Node Column Description Column Description Leaving Level 6 Node Column Description
Entering Level 6 Node Output Column Output Column Leaving Level 6 Node Output Column
Entering Level 6 Node Importing Constants and Special Constants Importing Constants and Special Constants Leaving Level 6 Node Importing Constants and Special Constants
Entering Level 6 Node Selecting Data Records Selecting Data Records Leaving Level 6 Node Selecting Data Records
Entering Level 6 Node Position Description Position Description Leaving Level 6 Node Position Description
Entering Level 6 Node Code Specification Code Specification Leaving Level 6 Node Code Specification
Entering Level 6 Node Dates Dates Leaving Level 6 Node Dates
Entering Level 6 Node Times Times Leaving Level 6 Node Times
Entering Level 6 Node Time Stamp Specifications Time Stamp Specifications Leaving Level 6 Node Time Stamp Specifications
Entering Level 6 Node Exporting and Importing Using Backup Tools from Other Providers Exporting and Importing Using Backup Tools from Other Providers Leaving Level 6 Node Exporting and Importing Using Backup Tools from Other Providers
Entering Level 6 Node Importing and Exporting LONG Values Importing and Exporting LONG Values Leaving Level 6 Node Importing and Exporting LONG Values
Entering Level 6 Node Restart Restart Leaving Level 6 Node Restart
Entering Level 4 Node Log Functions Log Functions Leaving Level 4 Node Log Functions
Entering Level 5 Node Log File Log File Leaving Level 5 Node Log File
Entering Level 5 Node System Tables System Tables Leaving Level 5 Node System Tables
Entering Level 6 Node CODEPAGE CODEPAGE Leaving Level 6 Node CODEPAGE
Entering Level 6 Node TRANSFORMATIONMODEL TRANSFORMATIONMODEL Leaving Level 6 Node TRANSFORMATIONMODEL
Entering Level 6 Node TRANSFORMATIONMONITOR TRANSFORMATIONMONITOR Leaving Level 6 Node TRANSFORMATIONMONITOR
Entering Level 6 Node TRANSFORMATIONPACKAGES TRANSFORMATIONPACKAGES Leaving Level 6 Node TRANSFORMATIONPACKAGES
Entering Level 6 Node TRANSFORMATIONRESOURCES TRANSFORMATIONRESOURCES Leaving Level 6 Node TRANSFORMATIONRESOURCES
Entering Level 6 Node TRANSFORMATIONSTATISTICS TRANSFORMATIONSTATISTICS Leaving Level 6 Node TRANSFORMATIONSTATISTICS
Entering Level 6 Node TRANSFORMATIONSTEPS TRANSFORMATIONSTEPS Leaving Level 6 Node TRANSFORMATIONSTEPS
Entering Level 4 Node Syntax Rules: Overview Syntax Rules: Overview Leaving Level 4 Node Syntax Rules: Overview
Entering Level 5 Node autocommit_command autocommit_command Leaving Level 5 Node autocommit_command
Entering Level 5 Node bool_spec bool_spec Leaving Level 5 Node bool_spec
Entering Level 5 Node catalog_instream_spec catalog_instream_spec Leaving Level 5 Node catalog_instream_spec
Entering Level 5 Node catalog_outstream_spec catalog_outstream_spec Leaving Level 5 Node catalog_outstream_spec
Entering Level 5 Node code_page_spec code_page_spec Leaving Level 5 Node code_page_spec
Entering Level 5 Node code_spec code_spec Leaving Level 5 Node code_spec
Entering Level 5 Node column_assignment column_assignment Leaving Level 5 Node column_assignment
Entering Level 5 Node column_descriptor column_descriptor Leaving Level 5 Node column_descriptor
Entering Level 5 Node column_id column_id Leaving Level 5 Node column_id
Entering Level 5 Node column_id_spec column_id_spec Leaving Level 5 Node column_id_spec
Entering Level 5 Node column_names column_names Leaving Level 5 Node column_names
Entering Level 5 Node compare_operator compare_operator Leaving Level 5 Node compare_operator
Entering Level 5 Node condition condition Leaving Level 5 Node condition
Entering Level 5 Node configuration_instream_spec configuration_instream_spec Leaving Level 5 Node configuration_instream_spec
Entering Level 5 Node database_name_statement database_name_statement Leaving Level 5 Node database_name_statement
Entering Level 5 Node data_instream_spec data_instream_spec Leaving Level 5 Node data_instream_spec
Entering Level 5 Node data_outstream_spec data_outstream_spec Leaving Level 5 Node data_outstream_spec
Entering Level 5 Node date_spec date_spec Leaving Level 5 Node date_spec
Entering Level 5 Node delimiter_spec delimiter_spec Leaving Level 5 Node delimiter_spec
Entering Level 5 Node duplicates_clause duplicates_clause Leaving Level 5 Node duplicates_clause
Entering Level 5 Node ebid_spec ebid_spec Leaving Level 5 Node ebid_spec
Entering Level 5 Node export_columns_command export_columns_command Leaving Level 5 Node export_columns_command
Entering Level 5 Node export_command export_command Leaving Level 5 Node export_command
Entering Level 5 Node field_format field_format Leaving Level 5 Node field_format
Entering Level 5 Node field_pos field_pos Leaving Level 5 Node field_pos
Entering Level 5 Node format_spec format_spec Leaving Level 5 Node format_spec
Entering Level 5 Node generate_spec generate_spec Leaving Level 5 Node generate_spec
Entering Level 5 Node if_condition if_condition Leaving Level 5 Node if_condition
Entering Level 5 Node import_columns_command import_columns_command Leaving Level 5 Node import_columns_command
Entering Level 5 Node import_command import_command Leaving Level 5 Node import_command
Entering Level 5 Node import_table_spec_command import_table_spec_command Leaving Level 5 Node import_table_spec_command
Entering Level 5 Node instream_spec instream_spec Leaving Level 5 Node instream_spec
Entering Level 5 Node int_spec int_spec Leaving Level 5 Node int_spec
Entering Level 5 Node isolation_level_spec isolation_level_spec Leaving Level 5 Node isolation_level_spec
Entering Level 5 Node lit_column_spec lit_column_spec Leaving Level 5 Node lit_column_spec
Entering Level 5 Node load_column_spec load_column_spec Leaving Level 5 Node load_column_spec
Entering Level 5 Node longfile_code_spec longfile_code_spec Leaving Level 5 Node longfile_code_spec
Entering Level 5 Node longfile_spec longfile_spec Leaving Level 5 Node longfile_spec
Entering Level 5 Node mediumtype_spec mediumtype_spec Leaving Level 5 Node mediumtype_spec
Entering Level 5 Node noheader_spec noheader_spec Leaving Level 5 Node noheader_spec
Entering Level 5 Node null_assign null_assign Leaving Level 5 Node null_assign
Entering Level 5 Node null_condition null_condition Leaving Level 5 Node null_condition
Entering Level 5 Node null_spec null_spec Leaving Level 5 Node null_spec
Entering Level 5 Node number_spec number_spec Leaving Level 5 Node number_spec
Entering Level 5 Node numerical_functions numerical_functions Leaving Level 5 Node numerical_functions
Entering Level 5 Node order_clause order_clause Leaving Level 5 Node order_clause
Entering Level 5 Node output_column output_column Leaving Level 5 Node output_column
Entering Level 5 Node output_column_list output_column_list Leaving Level 5 Node output_column_list
Entering Level 5 Node outstream_spec outstream_spec Leaving Level 5 Node outstream_spec
Entering Level 5 Node package_outstream_spec package_outstream_spec Leaving Level 5 Node package_outstream_spec
Entering Level 5 Node part_spec part_spec Leaving Level 5 Node part_spec
Entering Level 5 Node remark_command remark_command Leaving Level 5 Node remark_command
Entering Level 5 Node restart restart Leaving Level 5 Node restart
Entering Level 5 Node round_or_trunc_spec round_or_trunc_spec Leaving Level 5 Node round_or_trunc_spec
Entering Level 5 Node scale_spec scale_spec Leaving Level 5 Node scale_spec
Entering Level 5 Node schema_spec schema_spec Leaving Level 5 Node schema_spec
Entering Level 5 Node select_expression select_expression Leaving Level 5 Node select_expression
Entering Level 5 Node separator_spec separator_spec Leaving Level 5 Node separator_spec
Entering Level 5 Node sequence_number sequence_number Leaving Level 5 Node sequence_number
Entering Level 5 Node set_column_spec set_column_spec Leaving Level 5 Node set_column_spec
Entering Level 5 Node set_command set_command Leaving Level 5 Node set_command
Entering Level 5 Node simple_column_spec simple_column_spec Leaving Level 5 Node simple_column_spec
Entering Level 5 Node simple_condition simple_condition Leaving Level 5 Node simple_condition
Entering Level 5 Node sql_mode sql_mode Leaving Level 5 Node sql_mode
Entering Level 5 Node sql_mode_command sql_mode_command Leaving Level 5 Node sql_mode_command
Entering Level 5 Node standard_code_spec standard_code_spec Leaving Level 5 Node standard_code_spec
Entering Level 5 Node standard_date_mask standard_date_mask Leaving Level 5 Node standard_date_mask
Entering Level 5 Node standard_time_mask standard_time_mask Leaving Level 5 Node standard_time_mask
Entering Level 5 Node standard_timestamp_mask standard_timestamp_mask Leaving Level 5 Node standard_timestamp_mask
Entering Level 5 Node stream_extract stream_extract Leaving Level 5 Node stream_extract
Entering Level 5 Node stream_format_spec stream_format_spec Leaving Level 5 Node stream_format_spec
Entering Level 5 Node table_name table_name Leaving Level 5 Node table_name
Entering Level 5 Node table_spec table_spec Leaving Level 5 Node table_spec
Entering Level 5 Node time_spec time_spec Leaving Level 5 Node time_spec
Entering Level 5 Node timestamp_spec timestamp_spec Leaving Level 5 Node timestamp_spec
Entering Level 5 Node update_columns_command update_columns_command Leaving Level 5 Node update_columns_command
Entering Level 5 Node usage_spec usage_spec Leaving Level 5 Node usage_spec
Entering Level 5 Node use_schema_command use_schema_command Leaving Level 5 Node use_schema_command
Entering Level 5 Node use_serverdb_command use_serverdb_command Leaving Level 5 Node use_serverdb_command
Entering Level 5 Node use_user_command use_user_command Leaving Level 5 Node use_user_command
Entering Level 4 Node Terms: Overview Terms: Overview Leaving Level 4 Node Terms: Overview
Entering Level 4 Node Key Words: Overview Key Words: Overview Leaving Level 4 Node Key Words: Overview
Entering Level 3 Node SQL Studio (GUI) SQL Studio (GUI) Leaving Level 3 Node SQL Studio (GUI)
Entering Level 4 Node Starting SQL Studio Starting SQL Studio Leaving Level 4 Node Starting SQL Studio
Entering Level 4 Node Opening a Database Session Opening a Database Session Leaving Level 4 Node Opening a Database Session
Entering Level 5 Node Recent Sessions List Recent Sessions List Leaving Level 5 Node Recent Sessions List
Entering Level 4 Node SQL Studio Screen Areas SQL Studio Screen Areas Leaving Level 4 Node SQL Studio Screen Areas
Entering Level 4 Node User Settings User Settings Leaving Level 4 Node User Settings
Entering Level 4 Node Catalog Manager Catalog Manager Leaving Level 4 Node Catalog Manager
Entering Level 5 Node SQL Studio Objects SQL Studio Objects Leaving Level 5 Node SQL Studio Objects
Entering Level 5 Node Exporting a Database Object Definition Exporting a Database Object Definition Leaving Level 5 Node Exporting a Database Object Definition
Entering Level 5 Node Tables Tables Leaving Level 5 Node Tables
Entering Level 6 Node Creating a Database Table Creating a Database Table Leaving Level 6 Node Creating a Database Table
Entering Level 7 Node Defining Columns Defining Columns Leaving Level 7 Node Defining Columns
Entering Level 7 Node Defining Constraints Defining Constraints Leaving Level 7 Node Defining Constraints
Entering Level 7 Node Defining Foreign Key Dependencies Defining Foreign Key Dependencies Leaving Level 7 Node Defining Foreign Key Dependencies
Entering Level 7 Node Defining Miscellaneous Information Defining Miscellaneous Information Leaving Level 7 Node Defining Miscellaneous Information
Entering Level 6 Node Creating a View Table Creating a View Table Leaving Level 6 Node Creating a View Table
Entering Level 6 Node Creating a Synonym Creating a Synonym Leaving Level 6 Node Creating a Synonym
Entering Level 6 Node Displaying the Definition of a Table Displaying the Definition of a Table Leaving Level 6 Node Displaying the Definition of a Table
Entering Level 6 Node Changing the Definition of a Database Table Changing the Definition of a Database Table Leaving Level 6 Node Changing the Definition of a Database Table
Entering Level 6 Node Displaying the Content of a Table Displaying the Content of a Table Leaving Level 6 Node Displaying the Content of a Table
Entering Level 6 Node Using a Table in Dialogs or Definitions Using a Table in Dialogs or Definitions Leaving Level 6 Node Using a Table in Dialogs or Definitions
Entering Level 6 Node Renaming a Table Renaming a Table Leaving Level 6 Node Renaming a Table
Entering Level 6 Node Deleting all Rows in a Table Deleting all Rows in a Table Leaving Level 6 Node Deleting all Rows in a Table
Entering Level 6 Node Dropping a Table Dropping a Table Leaving Level 6 Node Dropping a Table
Entering Level 5 Node Indexes Indexes Leaving Level 5 Node Indexes
Entering Level 6 Node Creating an Index Creating an Index Leaving Level 6 Node Creating an Index
Entering Level 6 Node Displaying the Definition of an Index Displaying the Definition of an Index Leaving Level 6 Node Displaying the Definition of an Index
Entering Level 6 Node Dropping an Index Dropping an Index Leaving Level 6 Node Dropping an Index
Entering Level 5 Node Number Sequences Number Sequences Leaving Level 5 Node Number Sequences
Entering Level 6 Node Creating a Sequence Creating a Sequence Leaving Level 6 Node Creating a Sequence
Entering Level 6 Node Displaying the Definition of a Sequence Displaying the Definition of a Sequence Leaving Level 6 Node Displaying the Definition of a Sequence
Entering Level 6 Node Deleting a Sequence Deleting a Sequence Leaving Level 6 Node Deleting a Sequence
Entering Level 5 Node Users Users Leaving Level 5 Node Users
Entering Level 5 Node Database Procedures Database Procedures Leaving Level 5 Node Database Procedures
Entering Level 5 Node Trigger Trigger Leaving Level 5 Node Trigger
Entering Level 4 Node SQL Dialog SQL Dialog Leaving Level 4 Node SQL Dialog
Entering Level 5 Node Creating and Executing SQL Statements Creating and Executing SQL Statements Leaving Level 5 Node Creating and Executing SQL Statements
Entering Level 6 Node Keyword List Keyword List Leaving Level 6 Node Keyword List
Entering Level 6 Node Setting Parameters for SQL Statements Setting Parameters for SQL Statements Leaving Level 6 Node Setting Parameters for SQL Statements
Entering Level 5 Node Importing and Exporting SQL Statements Importing and Exporting SQL Statements Leaving Level 5 Node Importing and Exporting SQL Statements
Entering Level 4 Node Form Dialog Form Dialog Leaving Level 4 Node Form Dialog
Entering Level 5 Node Executing a Form Dialog Executing a Form Dialog Leaving Level 5 Node Executing a Form Dialog
Entering Level 6 Node Selecting Data Records Using Search Conditions Selecting Data Records Using Search Conditions Leaving Level 6 Node Selecting Data Records Using Search Conditions
Entering Level 6 Node Changing Data Records Changing Data Records Leaving Level 6 Node Changing Data Records
Entering Level 6 Node Inserting Data Records Inserting Data Records Leaving Level 6 Node Inserting Data Records
Entering Level 6 Node Deleting a Data Record Deleting a Data Record Leaving Level 6 Node Deleting a Data Record
Entering Level 6 Node Importing and Exporting LONG Columns Importing and Exporting LONG Columns Leaving Level 6 Node Importing and Exporting LONG Columns
Entering Level 4 Node Visual Query Dialog Visual Query Dialog Leaving Level 4 Node Visual Query Dialog
Entering Level 5 Node Creating and Executing a Visual Query Creating and Executing a Visual Query Leaving Level 5 Node Creating and Executing a Visual Query
Entering Level 6 Node Linking Table Columns with JOINS Linking Table Columns with JOINS Leaving Level 6 Node Linking Table Columns with JOINS
Entering Level 6 Node Entering Search Conditions Entering Search Conditions Leaving Level 6 Node Entering Search Conditions
Entering Level 7 Node Setting Parameters for Search Conditions Setting Parameters for Search Conditions Leaving Level 7 Node Setting Parameters for Search Conditions
Entering Level 6 Node Defining the Result View Defining the Result View Leaving Level 6 Node Defining the Result View
Entering Level 4 Node Result Tables Result Tables Leaving Level 4 Node Result Tables
Entering Level 5 Node Adjusting the Result View Adjusting the Result View Leaving Level 5 Node Adjusting the Result View
Entering Level 5 Node Saving a Result Saving a Result Leaving Level 5 Node Saving a Result
Entering Level 4 Node Status Window Status Window Leaving Level 4 Node Status Window
Entering Level 4 Node Logging Off from the Database Logging Off from the Database Leaving Level 4 Node Logging Off from the Database
Entering Level 3 Node Web SQL Studio Web SQL Studio Leaving Level 3 Node Web SQL Studio
Entering Level 4 Node Starting Web SQL Studio Starting Web SQL Studio Leaving Level 4 Node Starting Web SQL Studio
Entering Level 4 Node Opening a Database Session Opening a Database Session Leaving Level 4 Node Opening a Database Session
Entering Level 4 Node Screen Areas Screen Areas Leaving Level 4 Node Screen Areas
Entering Level 4 Node Creating an SQL statement Creating an SQL statement Leaving Level 4 Node Creating an SQL statement
Entering Level 5 Node Setting Parameters for an SQL Statement Setting Parameters for an SQL Statement Leaving Level 5 Node Setting Parameters for an SQL Statement
Entering Level 5 Node Saving an SQL Statement Saving an SQL Statement Leaving Level 5 Node Saving an SQL Statement
Entering Level 5 Node Editing a Saved SQL Statement Editing a Saved SQL Statement Leaving Level 5 Node Editing a Saved SQL Statement
Entering Level 4 Node Executing an SQL Statement Executing an SQL Statement Leaving Level 4 Node Executing an SQL Statement
Entering Level 4 Node Exporting and Importing SQL Statements Exporting and Importing SQL Statements Leaving Level 4 Node Exporting and Importing SQL Statements
Entering Level 4 Node Ending Web SQL Studio Ending Web SQL Studio Leaving Level 4 Node Ending Web SQL Studio
Entering Level 3 Node SQLCLI SQLCLI Leaving Level 3 Node SQLCLI
Entering Level 4 Node Logging on to a Database Instance Logging on to a Database Instance Leaving Level 4 Node Logging on to a Database Instance
Entering Level 4 Node Executing Commands Executing Commands Leaving Level 4 Node Executing Commands
Entering Level 5 Node Multiple Row Mode Multiple Row Mode Leaving Level 5 Node Multiple Row Mode
Entering Level 5 Node Command Buffer Command Buffer Leaving Level 5 Node Command Buffer
Entering Level 5 Node Editing Commands in an External File Editing Commands in an External File Leaving Level 5 Node Editing Commands in an External File
Entering Level 5 Node Batch File Batch File Leaving Level 5 Node Batch File
Entering Level 5 Node Exporting a Result to a File Exporting a Result to a File Leaving Level 5 Node Exporting a Result to a File
Entering Level 4 Node Executing SQL Statements Executing SQL Statements Leaving Level 4 Node Executing SQL Statements
Entering Level 4 Node Executing Database Procedures Executing Database Procedures Leaving Level 4 Node Executing Database Procedures
Entering Level 4 Node Requesting Information About the Database Catalog Requesting Information About the Database Catalog Leaving Level 4 Node Requesting Information About the Database Catalog
Entering Level 4 Node Executing Shell Commands Executing Shell Commands Leaving Level 4 Node Executing Shell Commands
Entering Level 4 Node Exiting the SQLCLI Exiting the SQLCLI Leaving Level 4 Node Exiting the SQLCLI
Entering Level 4 Node Overview of the Call Options Overview of the Call Options Leaving Level 4 Node Overview of the Call Options
Entering Level 4 Node Overview of the SQLCLI Commands Overview of the SQLCLI Commands Leaving Level 4 Node Overview of the SQLCLI Commands
Entering Level 4 Node Variables and Examples Variables and Examples Leaving Level 4 Node Variables and Examples
Entering Level 3 Node Synchronization Manager Synchronization Manager Leaving Level 3 Node Synchronization Manager
Entering Level 4 Node Technical System Landscape Technical System Landscape Leaving Level 4 Node Technical System Landscape
Entering Level 5 Node Message Server Message Server Leaving Level 5 Node Message Server
Entering Level 5 Node Synchronization Manager GUI Synchronization Manager GUI Leaving Level 5 Node Synchronization Manager GUI
Entering Level 5 Node Synchronization Services Synchronization Services Leaving Level 5 Node Synchronization Services
Entering Level 5 Node Synchronization Ports Synchronization Ports Leaving Level 5 Node Synchronization Ports
Entering Level 4 Node Data Model Data Model Leaving Level 4 Node Data Model
Entering Level 5 Node Example: Data Model Example: Data Model Leaving Level 5 Node Example: Data Model
Entering Level 4 Node Configuration Configuration Leaving Level 4 Node Configuration
Entering Level 5 Node Configuring Java Paths Configuring Java Paths Leaving Level 5 Node Configuring Java Paths
Entering Level 5 Node Configuring the Synchronization Manager GUI Configuring the Synchronization Manager GUI Leaving Level 5 Node Configuring the Synchronization Manager GUI
Entering Level 5 Node Configuring Database Instances Configuring Database Instances Leaving Level 5 Node Configuring Database Instances
Entering Level 5 Node Configuring the Message Server Configuring the Message Server Leaving Level 5 Node Configuring the Message Server
Entering Level 5 Node Configuring Synchronizations Configuring Synchronizations Leaving Level 5 Node Configuring Synchronizations
Entering Level 6 Node Defining Replication Tables Defining Replication Tables Leaving Level 6 Node Defining Replication Tables
Entering Level 6 Node Defining Replication Units Defining Replication Units Leaving Level 6 Node Defining Replication Units
Entering Level 6 Node Activating and Deactivating Replication Units Activating and Deactivating Replication Units Leaving Level 6 Node Activating and Deactivating Replication Units
Entering Level 6 Node Initializing Client Tables Initializing Client Tables Leaving Level 6 Node Initializing Client Tables
Entering Level 6 Node Configuring Synchronization Services Configuring Synchronization Services Leaving Level 6 Node Configuring Synchronization Services
Entering Level 4 Node Starting the Synchronization Manager GUI Starting the Synchronization Manager GUI Leaving Level 4 Node Starting the Synchronization Manager GUI
Entering Level 4 Node Logging on to a Database Instance Logging on to a Database Instance Leaving Level 4 Node Logging on to a Database Instance
Entering Level 4 Node Starting and Stopping the Message Server Starting and Stopping the Message Server Leaving Level 4 Node Starting and Stopping the Message Server
Entering Level 4 Node Logging On To the Message Server Logging On To the Message Server Leaving Level 4 Node Logging On To the Message Server
Entering Level 4 Node Synchronization Synchronization Leaving Level 4 Node Synchronization
Entering Level 5 Node Starting and Stopping Synchronization Services Starting and Stopping Synchronization Services Leaving Level 5 Node Starting and Stopping Synchronization Services
Entering Level 3 Node Utilities Utilities Leaving Level 3 Node Utilities
Entering Level 4 Node Event Dispatcher Event Dispatcher Leaving Level 4 Node Event Dispatcher
Entering Level 5 Node Special Events of the Event Dispatcher Special Events of the Event Dispatcher Leaving Level 5 Node Special Events of the Event Dispatcher
Entering Level 5 Node Configuring Event Dispatchers Configuring Event Dispatchers Leaving Level 5 Node Configuring Event Dispatchers
Entering Level 5 Node Automating an Administration Task Using an Event Dispatcher Automating an Administration Task Using an Event Dispatcher Leaving Level 5 Node Automating an Administration Task Using an Event Dispatcher
Entering Level 6 Node Example: Log Backup After the LOGABOVELIMIT Event Example: Log Backup After the LOGABOVELIMIT Event Leaving Level 6 Node Example: Log Backup After the LOGABOVELIMIT Event
Entering Level 6 Node Example: E-Mail Notification After the DATABASEFULL Event Example: E-Mail Notification After the DATABASEFULL Event Leaving Level 6 Node Example: E-Mail Notification After the DATABASEFULL Event
Entering Level 5 Node Overview of Event Dispatcher Commands Overview of Event Dispatcher Commands Leaving Level 5 Node Overview of Event Dispatcher Commands
Entering Level 6 Node add add Leaving Level 6 Node add
Entering Level 6 Node delete delete Leaving Level 6 Node delete
Entering Level 6 Node list list Leaving Level 6 Node list
Entering Level 6 Node start start Leaving Level 6 Node start
Entering Level 6 Node state state Leaving Level 6 Node state
Entering Level 6 Node stop stop Leaving Level 6 Node stop
Entering Level 6 Node version version Leaving Level 6 Node version
Entering Level 4 Node XCONS XCONS Leaving Level 4 Node XCONS
Entering Level 5 Node Displaying Information About the Database Instance Displaying Information About the Database Instance Leaving Level 5 Node Displaying Information About the Database Instance
Entering Level 4 Node XUSER XUSER Leaving Level 4 Node XUSER
Entering Level 5 Node Using a User Key when Logging On to a Database Instance Using a User Key when Logging On to a Database Instance Leaving Level 5 Node Using a User Key when Logging On to a Database Instance
Entering Level 5 Node Creating or Changing XUSER Entries Creating or Changing XUSER Entries Leaving Level 5 Node Creating or Changing XUSER Entries
Entering Level 5 Node Displaying Data for XUSER Entries Displaying Data for XUSER Entries Leaving Level 5 Node Displaying Data for XUSER Entries
Entering Level 5 Node Deleting XUSER Entries Deleting XUSER Entries Leaving Level 5 Node Deleting XUSER Entries
Entering Level 5 Node XUSER Options XUSER Options Leaving Level 5 Node XUSER Options
Entering Level 5 Node Importing XUSER Entries from a File Importing XUSER Entries from a File Leaving Level 5 Node Importing XUSER Entries from a File
Entering Level 4 Node X Server X Server Leaving Level 4 Node X Server
Entering Level 5 Node Starting the X Server Starting the X Server Leaving Level 5 Node Starting the X Server
Entering Level 5 Node Stopping the X Server Stopping the X Server Leaving Level 5 Node Stopping the X Server
Entering Level 5 Node Ports and Protocols of the X Server Ports and Protocols of the X Server Leaving Level 5 Node Ports and Protocols of the X Server
Entering Level 2 Node Interfaces Interfaces Leaving Level 2 Node Interfaces
Entering Level 3 Node ODBC Manual ODBC Manual Leaving Level 3 Node ODBC Manual
Entering Level 4 Node Supported ODBC Versions Supported ODBC Versions Leaving Level 4 Node Supported ODBC Versions
Entering Level 4 Node Properties of the MaxDB ODBC Driver Properties of the MaxDB ODBC Driver Leaving Level 4 Node Properties of the MaxDB ODBC Driver
Entering Level 5 Node Supported Data Types Supported Data Types Leaving Level 5 Node Supported Data Types
Entering Level 6 Node SQL Data Types SQL Data Types Leaving Level 6 Node SQL Data Types
Entering Level 6 Node C Data Types C Data Types Leaving Level 6 Node C Data Types
Entering Level 5 Node Conversion of SQL and C Data Types Conversion of SQL and C Data Types Leaving Level 5 Node Conversion of SQL and C Data Types
Entering Level 5 Node Processing SQL Statements Processing SQL Statements Leaving Level 5 Node Processing SQL Statements
Entering Level 6 Node Database Procedures Database Procedures Leaving Level 6 Node Database Procedures
Entering Level 6 Node Cursor Functions Cursor Functions Leaving Level 6 Node Cursor Functions
Entering Level 5 Node ODBC-API Compatibility ODBC-API Compatibility Leaving Level 5 Node ODBC-API Compatibility
Entering Level 6 Node Core API Core API Leaving Level 6 Node Core API
Entering Level 6 Node Level 1 API Level 1 API Leaving Level 6 Node Level 1 API
Entering Level 7 Node Remark for SQLGetConnectAttr Remark for SQLGetConnectAttr Leaving Level 7 Node Remark for SQLGetConnectAttr
Entering Level 7 Node Remark for SQLGetFunctions Remark for SQLGetFunctions Leaving Level 7 Node Remark for SQLGetFunctions
Entering Level 7 Node Remark for SQLGetInfo Remark for SQLGetInfo Leaving Level 7 Node Remark for SQLGetInfo
Entering Level 6 Node Level 2 API Level 2 API Leaving Level 6 Node Level 2 API
Entering Level 5 Node UNICODE Support UNICODE Support Leaving Level 5 Node UNICODE Support
Entering Level 4 Node The MaxDB ODBC Driver on Microsoft Windows The MaxDB ODBC Driver on Microsoft Windows Leaving Level 4 Node The MaxDB ODBC Driver on Microsoft Windows
Entering Level 5 Node Installation on Microsoft Windows Installation on Microsoft Windows Leaving Level 5 Node Installation on Microsoft Windows
Entering Level 5 Node Creating Data Sources on Microsoft Windows Creating Data Sources on Microsoft Windows Leaving Level 5 Node Creating Data Sources on Microsoft Windows
Entering Level 6 Node Options for Data Sources (Microsoft Windows) Options for Data Sources (Microsoft Windows) Leaving Level 6 Node Options for Data Sources (Microsoft Windows)
Entering Level 7 Node SQL Mode (Microsoft Windows) SQL Mode (Microsoft Windows) Leaving Level 7 Node SQL Mode (Microsoft Windows)
Entering Level 7 Node Isolation Level (Microsoft Windows) Isolation Level (Microsoft Windows) Leaving Level 7 Node Isolation Level (Microsoft Windows)
Entering Level 7 Node Logging SQL Statements (Microsoft Windows) Logging SQL Statements (Microsoft Windows) Leaving Level 7 Node Logging SQL Statements (Microsoft Windows)
Entering Level 5 Node Installed Files (Microsoft Windows) Installed Files (Microsoft Windows) Leaving Level 5 Node Installed Files (Microsoft Windows)
Entering Level 4 Node MaxDB ODBC Driver on UNIX/Linux MaxDB ODBC Driver on UNIX/Linux Leaving Level 4 Node MaxDB ODBC Driver on UNIX/Linux
Entering Level 5 Node Installation on UNIX/Linux Installation on UNIX/Linux Leaving Level 5 Node Installation on UNIX/Linux
Entering Level 6 Node Integration of the MaxDB ODBC driver Integration of the MaxDB ODBC driver Leaving Level 6 Node Integration of the MaxDB ODBC driver
Entering Level 5 Node Creating and Changing Data Sources on UNIX/Linux Creating and Changing Data Sources on UNIX/Linux Leaving Level 5 Node Creating and Changing Data Sources on UNIX/Linux
Entering Level 6 Node Options for Data Sources (UNIX/Linux) Options for Data Sources (UNIX/Linux) Leaving Level 6 Node Options for Data Sources (UNIX/Linux)
Entering Level 7 Node SQL Mode (UNIX/Linux) SQL Mode (UNIX/Linux) Leaving Level 7 Node SQL Mode (UNIX/Linux)
Entering Level 7 Node Isolation Level (UNIX/Linux) Isolation Level (UNIX/Linux) Leaving Level 7 Node Isolation Level (UNIX/Linux)
Entering Level 7 Node Logging SQL Statements (UNIX/Linux) Logging SQL Statements (UNIX/Linux) Leaving Level 7 Node Logging SQL Statements (UNIX/Linux)
Entering Level 5 Node Installed Files (UNIX/Linux) Installed Files (UNIX/Linux) Leaving Level 5 Node Installed Files (UNIX/Linux)
Entering Level 3 Node SQLDBC Manual SQLDBC Manual Leaving Level 3 Node SQLDBC Manual
Entering Level 4 Node Structure of SQLDBC Structure of SQLDBC Leaving Level 4 Node Structure of SQLDBC
Entering Level 4 Node SQLDBC Classes SQLDBC Classes Leaving Level 4 Node SQLDBC Classes
Entering Level 4 Node SQLDBC Traces SQLDBC Traces Leaving Level 4 Node SQLDBC Traces
Entering Level 4 Node sqldbc_cons sqldbc_cons Leaving Level 4 Node sqldbc_cons
Entering Level 3 Node JDBC Manual JDBC Manual Leaving Level 3 Node JDBC Manual
Entering Level 4 Node Adding the JDBC Driver to the Environment Variable CLASSPATH Adding the JDBC Driver to the Environment Variable CLASSPATH Leaving Level 4 Node Adding the JDBC Driver to the Environment Variable CLASSPATH
Entering Level 4 Node Registering the JDBC Driver in the JDBC Driver Manager Registering the JDBC Driver in the JDBC Driver Manager Leaving Level 4 Node Registering the JDBC Driver in the JDBC Driver Manager
Entering Level 4 Node Connecting to the Database Instance Connecting to the Database Instance Leaving Level 4 Node Connecting to the Database Instance
Entering Level 5 Node Defining the Connection URL Defining the Connection URL Leaving Level 5 Node Defining the Connection URL
Entering Level 5 Node Specifying Other Connection Options Specifying Other Connection Options Leaving Level 5 Node Specifying Other Connection Options
Entering Level 5 Node Setting Up an SSL Connection Setting Up an SSL Connection Leaving Level 5 Node Setting Up an SSL Connection
Entering Level 5 Node Calling the Method java.sql.DriverManager.getConnection Calling the Method java.sql.DriverManager.getConnection Leaving Level 5 Node Calling the Method java.sql.DriverManager.getConnection
Entering Level 5 Node Examples for Connecting to the Database Instance Examples for Connecting to the Database Instance Leaving Level 5 Node Examples for Connecting to the Database Instance
Entering Level 4 Node Exceptions Exceptions Leaving Level 4 Node Exceptions
Entering Level 4 Node Example of a Database Query Example of a Database Query Leaving Level 4 Node Example of a Database Query
Entering Level 4 Node Database Administration with Java Database Administration with Java Leaving Level 4 Node Database Administration with Java
Entering Level 5 Node Connecting to the Database Manager with Java Connecting to the Database Manager with Java Leaving Level 5 Node Connecting to the Database Manager with Java
Entering Level 6 Node Connecting to an Existing Database Instance Connecting to an Existing Database Instance Leaving Level 6 Node Connecting to an Existing Database Instance
Entering Level 6 Node Connection with a Specific Software Version Connection with a Specific Software Version Leaving Level 6 Node Connection with a Specific Software Version
Entering Level 5 Node Executing DBM Commands with Java Executing DBM Commands with Java Leaving Level 5 Node Executing DBM Commands with Java
Entering Level 5 Node Ending the Connection to the Database Manager Ending the Connection to the Database Manager Leaving Level 5 Node Ending the Connection to the Database Manager
Entering Level 5 Node Error Handling for Database Manager Errors Error Handling for Database Manager Errors Leaving Level 5 Node Error Handling for Database Manager Errors
Entering Level 5 Node Example for Displaying the Operational State of a Database Insta Example for Displaying the Operational State of a Database Insta Leaving Level 5 Node Example for Displaying the Operational State of a Database Insta
Entering Level 4 Node Exporting and Importing Data with Java Exporting and Importing Data with Java Leaving Level 4 Node Exporting and Importing Data with Java
Entering Level 5 Node Connecting to the Loader with Java Connecting to the Loader with Java Leaving Level 5 Node Connecting to the Loader with Java
Entering Level 5 Node Executing Loader Commands and SQL Statements with Java Executing Loader Commands and SQL Statements with Java Leaving Level 5 Node Executing Loader Commands and SQL Statements with Java
Entering Level 5 Node Ending the Connection to the Loader Ending the Connection to the Loader Leaving Level 5 Node Ending the Connection to the Loader
Entering Level 5 Node Error Handling for Loader Errors Error Handling for Loader Errors Leaving Level 5 Node Error Handling for Loader Errors
Entering Level 5 Node Example for Creating a Table with Java Example for Creating a Table with Java Leaving Level 5 Node Example for Creating a Table with Java
Entering Level 4 Node Variables and Examples Variables and Examples Leaving Level 4 Node Variables and Examples
Entering Level 3 Node Perl Manual Perl Manual Leaving Level 3 Node Perl Manual
Entering Level 4 Node Configuring the Perl Modules Configuring the Perl Modules Leaving Level 4 Node Configuring the Perl Modules
Entering Level 4 Node Module SAP::DBTech::dbm Module SAP::DBTech::dbm Leaving Level 4 Node Module SAP::DBTech::dbm
Entering Level 5 Node DBM Class DBM Class Leaving Level 5 Node DBM Class
Entering Level 6 Node Method cmd Method cmd Leaving Level 6 Node Method cmd
Entering Level 6 Node Method rawCmd Method rawCmd Leaving Level 6 Node Method rawCmd
Entering Level 6 Node Method release Method release Leaving Level 6 Node Method release
Entering Level 5 Node Examples for the SAP::DBTech::dbm Module Examples for the SAP::DBTech::dbm Module Leaving Level 5 Node Examples for the SAP::DBTech::dbm Module
Entering Level 5 Node Troubleshooting for the Module SAP::DBTech::dbm Troubleshooting for the Module SAP::DBTech::dbm Leaving Level 5 Node Troubleshooting for the Module SAP::DBTech::dbm
Entering Level 6 Node Exception CommunicationError Exception CommunicationError Leaving Level 6 Node Exception CommunicationError
Entering Level 6 Node Exception DBMServError Exception DBMServError Leaving Level 6 Node Exception DBMServError
Entering Level 4 Node SAP::DBTech::loader Module SAP::DBTech::loader Module Leaving Level 4 Node SAP::DBTech::loader Module
Entering Level 5 Node Class Loader Class Loader Leaving Level 5 Node Class Loader
Entering Level 6 Node Method cmd Method cmd Leaving Level 6 Node Method cmd
Entering Level 6 Node Method rawCmd Method rawCmd Leaving Level 6 Node Method rawCmd
Entering Level 6 Node Method sql Method sql Leaving Level 6 Node Method sql
Entering Level 6 Node Method release Method release Leaving Level 6 Node Method release
Entering Level 5 Node Troubleshooting for the Module SAP::DBTech::loader Troubleshooting for the Module SAP::DBTech::loader Leaving Level 5 Node Troubleshooting for the Module SAP::DBTech::loader
Entering Level 6 Node Exception CommunicationError Exception CommunicationError Leaving Level 6 Node Exception CommunicationError
Entering Level 6 Node Exception LoaderError Exception LoaderError Leaving Level 6 Node Exception LoaderError
Entering Level 5 Node Examples for the SAP::DBTech::loader Module Examples for the SAP::DBTech::loader Module Leaving Level 5 Node Examples for the SAP::DBTech::loader Module
Entering Level 3 Node Python Manual Python Manual Leaving Level 3 Node Python Manual
Entering Level 4 Node Configuring the Python Modules Configuring the Python Modules Leaving Level 4 Node Configuring the Python Modules
Entering Level 4 Node sdb.dbm Module sdb.dbm Module Leaving Level 4 Node sdb.dbm Module
Entering Level 5 Node Class DBM Class DBM Leaving Level 5 Node Class DBM
Entering Level 6 Node cmd Method cmd Method Leaving Level 6 Node cmd Method
Entering Level 6 Node Method rawCmd Method rawCmd Leaving Level 6 Node Method rawCmd
Entering Level 6 Node Method release Method release Leaving Level 6 Node Method release
Entering Level 5 Node Error Handling for the sdb.dbm Module Error Handling for the sdb.dbm Module Leaving Level 5 Node Error Handling for the sdb.dbm Module
Entering Level 6 Node Class CommunicationError Class CommunicationError Leaving Level 6 Node Class CommunicationError
Entering Level 6 Node Class DBMServError Class DBMServError Leaving Level 6 Node Class DBMServError
Entering Level 5 Node Examples for the sdb.dbm Module Examples for the sdb.dbm Module Leaving Level 5 Node Examples for the sdb.dbm Module
Entering Level 6 Node Calling and Ending the Database Manager Calling and Ending the Database Manager Leaving Level 6 Node Calling and Ending the Database Manager
Entering Level 6 Node Displaying a list of all registered database instances Displaying a list of all registered database instances Leaving Level 6 Node Displaying a list of all registered database instances
Entering Level 6 Node Handling Error Situations Handling Error Situations Leaving Level 6 Node Handling Error Situations
Entering Level 4 Node sdb.loader Module sdb.loader Module Leaving Level 4 Node sdb.loader Module
Entering Level 5 Node Class Loader Class Loader Leaving Level 5 Node Class Loader
Entering Level 6 Node cmd Method cmd Method Leaving Level 6 Node cmd Method
Entering Level 6 Node Method rawCmd Method rawCmd Leaving Level 6 Node Method rawCmd
Entering Level 6 Node sql Method sql Method Leaving Level 6 Node sql Method
Entering Level 6 Node Method release Method release Leaving Level 6 Node Method release
Entering Level 5 Node Troubleshooting for the sdb.loader Module Troubleshooting for the sdb.loader Module Leaving Level 5 Node Troubleshooting for the sdb.loader Module
Entering Level 6 Node CommunicationError Class CommunicationError Class Leaving Level 6 Node CommunicationError Class
Entering Level 6 Node LoaderError Class LoaderError Class Leaving Level 6 Node LoaderError Class
Entering Level 5 Node Example 1 Example 1 Leaving Level 5 Node Example 1
Entering Level 5 Node Example 2 Example 2 Leaving Level 5 Node Example 2
Entering Level 5 Node Example 3 Example 3 Leaving Level 5 Node Example 3
Entering Level 4 Node sdb.sql Module sdb.sql Module Leaving Level 4 Node sdb.sql Module
Entering Level 5 Node connect Method connect Method Leaving Level 5 Node connect Method
Entering Level 5 Node SapDB_Session Class SapDB_Session Class Leaving Level 5 Node SapDB_Session Class
Entering Level 6 Node Method sql Method sql Leaving Level 6 Node Method sql
Entering Level 6 Node Method sqlX Method sqlX Leaving Level 6 Node Method sqlX
Entering Level 6 Node Method prepare Method prepare Leaving Level 6 Node Method prepare
Entering Level 6 Node Method release Method release Leaving Level 6 Node Method release
Entering Level 6 Node Method commit Method commit Leaving Level 6 Node Method commit
Entering Level 6 Node Method rollback Method rollback Leaving Level 6 Node Method rollback
Entering Level 5 Node SapDB_ResultSet Class SapDB_ResultSet Class Leaving Level 5 Node SapDB_ResultSet Class
Entering Level 6 Node Method next Method next Leaving Level 6 Node Method next
Entering Level 6 Node Method previous Method previous Leaving Level 6 Node Method previous
Entering Level 6 Node Method relative Method relative Leaving Level 6 Node Method relative
Entering Level 6 Node Method absolute Method absolute Leaving Level 6 Node Method absolute
Entering Level 6 Node Method first Method first Leaving Level 6 Node Method first
Entering Level 6 Node Method last Method last Leaving Level 6 Node Method last
Entering Level 6 Node Method current Method current Leaving Level 6 Node Method current
Entering Level 6 Node Method __getitem__ Method __getitem__ Leaving Level 6 Node Method __getitem__
Entering Level 6 Node Method getDescription Method getDescription Leaving Level 6 Node Method getDescription
Entering Level 6 Node Examples for SapDB_ResultSet Examples for SapDB_ResultSet Leaving Level 6 Node Examples for SapDB_ResultSet
Entering Level 5 Node SapDB_Prepared Class SapDB_Prepared Class Leaving Level 5 Node SapDB_Prepared Class
Entering Level 6 Node Method execute Method execute Leaving Level 6 Node Method execute
Entering Level 6 Node Method getDescription Method getDescription Leaving Level 6 Node Method getDescription
Entering Level 5 Node SapDB_Result Class SapDB_Result Class Leaving Level 5 Node SapDB_Result Class
Entering Level 6 Node Method getResultSet Method getResultSet Leaving Level 6 Node Method getResultSet
Entering Level 6 Node Method getOutputParameters Method getOutputParameters Leaving Level 6 Node Method getOutputParameters
Entering Level 6 Node Method getRowsAffected Method getRowsAffected Leaving Level 6 Node Method getRowsAffected
Entering Level 6 Node Method getLastSerial Method getLastSerial Leaving Level 6 Node Method getLastSerial
Entering Level 6 Node Method getFirstSerial Method getFirstSerial Leaving Level 6 Node Method getFirstSerial
Entering Level 5 Node SapDB_LongReader Class SapDB_LongReader Class Leaving Level 5 Node SapDB_LongReader Class
Entering Level 6 Node Method read Method read Leaving Level 6 Node Method read
Entering Level 5 Node Error Handling for the sdb.sql Module Error Handling for the sdb.sql Module Leaving Level 5 Node Error Handling for the sdb.sql Module
Entering Level 6 Node Class CommunicationError Class CommunicationError Leaving Level 6 Node Class CommunicationError
Entering Level 6 Node Class SQLError Class SQLError Leaving Level 6 Node Class SQLError
Entering Level 5 Node Possible SQL Results Possible SQL Results Leaving Level 5 Node Possible SQL Results
Entering Level 5 Node Examples for the sdb.sql Module Examples for the sdb.sql Module Leaving Level 5 Node Examples for the sdb.sql Module
Entering Level 6 Node CONNECT Statement CONNECT Statement Leaving Level 6 Node CONNECT Statement
Entering Level 6 Node Select Statement and Calling the Result Set Step-by-Step Select Statement and Calling the Result Set Step-by-Step Leaving Level 6 Node Select Statement and Calling the Result Set Step-by-Step
Entering Level 6 Node SELECT Statement and Calling the Result Set in a For Loop SELECT Statement and Calling the Result Set in a For Loop Leaving Level 6 Node SELECT Statement and Calling the Result Set in a For Loop
Entering Level 6 Node SELECT Statement and Displaying the Structure of the Result Set SELECT Statement and Displaying the Structure of the Result Set Leaving Level 6 Node SELECT Statement and Displaying the Structure of the Result Set
Entering Level 6 Node Executing an INSERT Statement Multiple Times With Different Para Executing an INSERT Statement Multiple Times With Different Para Leaving Level 6 Node Executing an INSERT Statement Multiple Times With Different Para
Entering Level 6 Node Handling Error Situations Handling Error Situations Leaving Level 6 Node Handling Error Situations
Entering Level 3 Node PHP Manual PHP Manual Leaving Level 3 Node PHP Manual
Entering Level 3 Node WebDAV WebDAV Leaving Level 3 Node WebDAV
Entering Level 4 Node Calling the WebDAV Servlet Calling the WebDAV Servlet Leaving Level 4 Node Calling the WebDAV Servlet
Entering Level 3 Node Backint for MaxDB Backint for MaxDB Leaving Level 3 Node Backint for MaxDB
Entering Level 4 Node Backing Up and Restoring Data with MaxDB Programs Backing Up and Restoring Data with MaxDB Programs Leaving Level 4 Node Backing Up and Restoring Data with MaxDB Programs
Entering Level 4 Node Backing Up and Restoring Data with External Backup Programs Backing Up and Restoring Data with External Backup Programs Leaving Level 4 Node Backing Up and Restoring Data with External Backup Programs
Entering Level 4 Node Functional Description for Backint for Max DB Functional Description for Backint for Max DB Leaving Level 4 Node Functional Description for Backint for Max DB
Entering Level 5 Node Backup Function Backup Function Leaving Level 5 Node Backup Function
Entering Level 5 Node Restore Function Restore Function Leaving Level 5 Node Restore Function
Entering Level 5 Node Inquire Function Inquire Function Leaving Level 5 Node Inquire Function
Entering Level 5 Node Delete Function Delete Function Leaving Level 5 Node Delete Function
Entering Level 4 Node Program Definition for Backint for Max DB Program Definition for Backint for Max DB Leaving Level 4 Node Program Definition for Backint for Max DB
Entering Level 5 Node Calling Backint for MaxDB Calling Backint for MaxDB Leaving Level 5 Node Calling Backint for MaxDB
Entering Level 6 Node Options Options Leaving Level 6 Node Options
Entering Level 6 Node Variables Variables Leaving Level 6 Node Variables
Entering Level 6 Node Backup ID (BID) Backup ID (BID) Leaving Level 6 Node Backup ID (BID)
Entering Level 5 Node Content of the Input File Content of the Input File Leaving Level 5 Node Content of the Input File
Entering Level 5 Node Content of the Output File Content of the Output File Leaving Level 5 Node Content of the Output File
Entering Level 5 Node Return Codes Return Codes Leaving Level 5 Node Return Codes
Entering Level 4 Node Supported Operating Systems and Platforms (Version 7.4) Supported Operating Systems and Platforms (Version 7.4) Leaving Level 4 Node Supported Operating Systems and Platforms (Version 7.4)
Entering Level 4 Node Supported Operating Systems and Platforms (Version 7.3) Supported Operating Systems and Platforms (Version 7.3) Leaving Level 4 Node Supported Operating Systems and Platforms (Version 7.3)
Entering Level 2 Node Development Development Leaving Level 2 Node Development
Entering Level 3 Node Development Environment Development Environment Leaving Level 3 Node Development Environment
Entering Level 4 Node Installing the Development Environment Installing the Development Environment Leaving Level 4 Node Installing the Development Environment
Entering Level 4 Node Installing the Source Code Installing the Source Code Leaving Level 4 Node Installing the Source Code
Entering Level 4 Node Initializing the Development Environment Initializing the Development Environment Leaving Level 4 Node Initializing the Development Environment
Entering Level 5 Node Environment Variables Environment Variables Leaving Level 5 Node Environment Variables
Entering Level 6 Node $ARC_TYPE $ARC_TYPE Leaving Level 6 Node $ARC_TYPE
Entering Level 6 Node $BUILD_PRAEFIX $BUILD_PRAEFIX Leaving Level 6 Node $BUILD_PRAEFIX
Entering Level 6 Node $CORRECTION_LEVEL $CORRECTION_LEVEL Leaving Level 6 Node $CORRECTION_LEVEL
Entering Level 6 Node $DBROOT $DBROOT Leaving Level 6 Node $DBROOT
Entering Level 6 Node $DLL_TYPE $DLL_TYPE Leaving Level 6 Node $DLL_TYPE
Entering Level 6 Node $EDITOR $EDITOR Leaving Level 6 Node $EDITOR
Entering Level 6 Node %INCLUDE% %INCLUDE% Leaving Level 6 Node %INCLUDE%
Entering Level 6 Node $INSTROOT $INSTROOT Leaving Level 6 Node $INSTROOT
Entering Level 6 Node $NOQUIET $NOQUIET Leaving Level 6 Node $NOQUIET
Entering Level 6 Node $OWN $OWN Leaving Level 6 Node $OWN
Entering Level 6 Node $PATH $PATH Leaving Level 6 Node $PATH
Entering Level 6 Node $PERL5LIB $PERL5LIB Leaving Level 6 Node $PERL5LIB
Entering Level 6 Node $PYTHONPATH $PYTHONPATH Leaving Level 6 Node $PYTHONPATH
Entering Level 6 Node $RELVER $RELVER Leaving Level 6 Node $RELVER
Entering Level 6 Node $SHELL $SHELL Leaving Level 6 Node $SHELL
Entering Level 6 Node $TOOL $TOOL Leaving Level 6 Node $TOOL
Entering Level 6 Node $TOOLEXT $TOOLEXT Leaving Level 6 Node $TOOLEXT
Entering Level 6 Node $TOOLOPT $TOOLOPT Leaving Level 6 Node $TOOLOPT
Entering Level 6 Node $TOOLSHELL $TOOLSHELL Leaving Level 6 Node $TOOLSHELL
Entering Level 6 Node $TOOLVARS $TOOLVARS Leaving Level 6 Node $TOOLVARS
Entering Level 6 Node $VMAKE_DEFAULT $VMAKE_DEFAULT Leaving Level 6 Node $VMAKE_DEFAULT
Entering Level 6 Node $VMAKE_OPTION $VMAKE_OPTION Leaving Level 6 Node $VMAKE_OPTION
Entering Level 7 Node General Parameters for $VMAKE_OPTION General Parameters for $VMAKE_OPTION Leaving Level 7 Node General Parameters for $VMAKE_OPTION
Entering Level 7 Node $VMAKE_OPTION Parameters for Searching for Source Code $VMAKE_OPTION Parameters for Searching for Source Code Leaving Level 7 Node $VMAKE_OPTION Parameters for Searching for Source Code
Entering Level 7 Node $VMAKE_OPTION Parameters for Searching for Object Files $VMAKE_OPTION Parameters for Searching for Object Files Leaving Level 7 Node $VMAKE_OPTION Parameters for Searching for Object Files
Entering Level 6 Node $VMAKE_PATH $VMAKE_PATH Leaving Level 6 Node $VMAKE_PATH
Entering Level 6 Node $VMAKE_VERSION $VMAKE_VERSION Leaving Level 6 Node $VMAKE_VERSION
Entering Level 6 Node $WRK $WRK Leaving Level 6 Node $WRK
Entering Level 5 Node Search Hierarchy Search Hierarchy Leaving Level 5 Node Search Hierarchy
Entering Level 5 Node Directory Structure of the Development Environment Directory Structure of the Development Environment Leaving Level 5 Node Directory Structure of the Development Environment
Entering Level 4 Node Changing a MaxDB Program Changing a MaxDB Program Leaving Level 4 Node Changing a MaxDB Program
Entering Level 5 Node Changing a Module File Changing a Module File Leaving Level 5 Node Changing a Module File
Entering Level 6 Node Module File Module File Leaving Level 6 Node Module File
Entering Level 6 Node Include Files Include Files Leaving Level 6 Node Include Files
Entering Level 6 Node Layer Layer Leaving Level 6 Node Layer
Entering Level 5 Node Preparing the MAKE process Preparing the MAKE process Leaving Level 5 Node Preparing the MAKE process
Entering Level 6 Node Creating/Changing Description Files Creating/Changing Description Files Leaving Level 6 Node Creating/Changing Description Files
Entering Level 7 Node Description Files Description Files Leaving Level 7 Node Description Files
Entering Level 8 Node Link Description Link Description Leaving Level 8 Node Link Description
Entering Level 8 Node Compilation Description Compilation Description Leaving Level 8 Node Compilation Description
Entering Level 8 Node Processing List Processing List Leaving Level 8 Node Processing List
Entering Level 7 Node General Grammar for Description Files General Grammar for Description Files Leaving Level 7 Node General Grammar for Description Files
Entering Level 8 Node Grammar for Link Descriptions Grammar for Link Descriptions Leaving Level 8 Node Grammar for Link Descriptions
Entering Level 8 Node Grammar for Compilation Descriptions Grammar for Compilation Descriptions Leaving Level 8 Node Grammar for Compilation Descriptions
Entering Level 8 Node Grammar for Processing Lists Grammar for Processing Lists Leaving Level 8 Node Grammar for Processing Lists
Entering Level 7 Node Options for Description Files Options for Description Files Leaving Level 7 Node Options for Description Files
Entering Level 8 Node Options for Link Descriptions Options for Link Descriptions Leaving Level 8 Node Options for Link Descriptions
Entering Level 8 Node Options for Compilation Descriptions Options for Compilation Descriptions Leaving Level 8 Node Options for Compilation Descriptions
Entering Level 8 Node Options for Processing Lists Options for Processing Lists Leaving Level 8 Node Options for Processing Lists
Entering Level 8 Node ! <command> ! <command> Leaving Level 8 Node ! <command>
Entering Level 8 Node !! <command> !! <command> Leaving Level 8 Node !! <command>
Entering Level 8 Node !? <command> !? <command> Leaving Level 8 Node !? <command>
Entering Level 8 Node ? defaultlayer : <layer> ? defaultlayer : <layer> Leaving Level 8 Node ? defaultlayer : <layer>
Entering Level 8 Node ? defaultlayer : ? defaultlayer : Leaving Level 8 Node ? defaultlayer :
Entering Level 8 Node ? defaultversion : <vmake_version> ? defaultversion : <vmake_version> Leaving Level 8 Node ? defaultversion : <vmake_version>
Entering Level 8 Node ? defaultversion : ? defaultversion : Leaving Level 8 Node ? defaultversion :
Entering Level 8 Node ? distribute : <list> ? distribute : <list> Leaving Level 8 Node ? distribute : <list>
Entering Level 8 Node ? error: <error_message> ? error: <error_message> Leaving Level 8 Node ? error: <error_message>
Entering Level 8 Node ? link with : <list> ? link with : <list> Leaving Level 8 Node ? link with : <list>
Entering Level 8 Node ? linkoption : <list> ? linkoption : <list> Leaving Level 8 Node ? linkoption : <list>
Entering Level 8 Node ? output : <list> ? output : <list> Leaving Level 8 Node ? output : <list>
Entering Level 8 Node ? parentlinkoption : <link_option> ? parentlinkoption : <link_option> Leaving Level 8 Node ? parentlinkoption : <link_option>
Entering Level 8 Node ? propagate : <variable>[=<value>] ? propagate : <variable>[=<value>] Leaving Level 8 Node ? propagate : <variable>[=<value>]
Entering Level 8 Node ? require : <target> ? require : <target> Leaving Level 8 Node ? require : <target>
Entering Level 8 Node ? tooloption : <list> ? tooloption : <list> Leaving Level 8 Node ? tooloption : <list>
Entering Level 8 Node -><output> -><output> Leaving Level 8 Node -><output>
Entering Level 8 Node ascii ascii Leaving Level 8 Node ascii
Entering Level 8 Node binary binary Leaving Level 8 Node binary
Entering Level 8 Node debug|d debug|d Leaving Level 8 Node debug|d
Entering Level 8 Node definition definition Leaving Level 8 Node definition
Entering Level 8 Node demand demand Leaving Level 8 Node demand
Entering Level 8 Node demand{<relative path>} demand{<relative path>} Leaving Level 8 Node demand{<relative path>}
Entering Level 8 Node demand=<list> demand=<list> Leaving Level 8 Node demand=<list>
Entering Level 8 Node demand{<relative path>}=<list> demand{<relative path>}=<list> Leaving Level 8 Node demand{<relative path>}=<list>
Entering Level 8 Node dep=<list> dep=<list> Leaving Level 8 Node dep=<list>
Entering Level 8 Node distrib distrib Leaving Level 8 Node distrib
Entering Level 8 Node exec exec Leaving Level 8 Node exec
Entering Level 8 Node extdep=<list> extdep=<list> Leaving Level 8 Node extdep=<list>
Entering Level 8 Node inc=<list> inc=<list> Leaving Level 8 Node inc=<list>
Entering Level 8 Node interface interface Leaving Level 8 Node interface
Entering Level 8 Node nobind nobind Leaving Level 8 Node nobind
Entering Level 8 Node nocomfile nocomfile Leaving Level 8 Node nocomfile
Entering Level 8 Node nodistrib nodistrib Leaving Level 8 Node nodistrib
Entering Level 8 Node noobjcopy noobjcopy Leaving Level 8 Node noobjcopy
Entering Level 8 Node noshrglob noshrglob Leaving Level 8 Node noshrglob
Entering Level 8 Node noversion noversion Leaving Level 8 Node noversion
Entering Level 8 Node obj=<list> obj=<list> Leaving Level 8 Node obj=<list>
Entering Level 8 Node output=<list> output=<list> Leaving Level 8 Node output=<list>
Entering Level 8 Node parentlinkoption=<link_option> parentlinkoption=<link_option> Leaving Level 8 Node parentlinkoption=<link_option>
Entering Level 8 Node profile|p profile|p Leaving Level 8 Node profile|p
Entering Level 8 Node remake remake Leaving Level 8 Node remake
Entering Level 8 Node shrglob shrglob Leaving Level 8 Node shrglob
Entering Level 8 Node uncond uncond Leaving Level 8 Node uncond
Entering Level 6 Node Adapting the Initialization Files Adapting the Initialization Files Leaving Level 6 Node Adapting the Initialization Files
Entering Level 7 Node Langextinfo Langextinfo Leaving Level 7 Node Langextinfo
Entering Level 7 Node Langinfo Langinfo Leaving Level 7 Node Langinfo
Entering Level 7 Node Extra Extra Leaving Level 7 Node Extra
Entering Level 7 Node Globals.com Globals.com Leaving Level 7 Node Globals.com
Entering Level 7 Node DirectoryMapping DirectoryMapping Leaving Level 7 Node DirectoryMapping
Entering Level 6 Node Specifying Files That Do Not Require Translation Specifying Files That Do Not Require Translation Leaving Level 6 Node Specifying Files That Do Not Require Translation
Entering Level 5 Node icp.pl: Copying Files to the Development Area icp.pl: Copying Files to the Development Area Leaving Level 5 Node icp.pl: Copying Files to the Development Area
Entering Level 5 Node iview.pl: Displaying and Editing Files iview.pl: Displaying and Editing Files Leaving Level 5 Node iview.pl: Displaying and Editing Files
Entering Level 5 Node idiff.pl: Comparing Files idiff.pl: Comparing Files Leaving Level 5 Node idiff.pl: Comparing Files
Entering Level 5 Node ils.pl: Displaying the Versions of a File ils.pl: Displaying the Versions of a File Leaving Level 5 Node ils.pl: Displaying the Versions of a File
Entering Level 5 Node Naming Conventions for Files Naming Conventions for Files Leaving Level 5 Node Naming Conventions for Files
Entering Level 6 Node Naming Conventions for Module Files Naming Conventions for Module Files Leaving Level 6 Node Naming Conventions for Module Files
Entering Level 6 Node Naming Conventions for Description Files Naming Conventions for Description Files Leaving Level 6 Node Naming Conventions for Description Files
Entering Level 4 Node MAKE Operation MAKE Operation Leaving Level 4 Node MAKE Operation
Entering Level 5 Node ims.pl, imf.pl: Starting the MAKE Operation ims.pl, imf.pl: Starting the MAKE Operation Leaving Level 5 Node ims.pl, imf.pl: Starting the MAKE Operation
Entering Level 6 Node Direct VMAKE Call Direct VMAKE Call Leaving Level 6 Node Direct VMAKE Call
Entering Level 6 Node Options for Calling VMAKE Options for Calling VMAKE Leaving Level 6 Node Options for Calling VMAKE
Entering Level 6 Node Activating Debug Mode Activating Debug Mode Leaving Level 6 Node Activating Debug Mode
Entering Level 6 Node VMAKE Versions VMAKE Versions Leaving Level 6 Node VMAKE Versions
Entering Level 5 Node Determining the Files to be Translated Determining the Files to be Translated Leaving Level 5 Node Determining the Files to be Translated
Entering Level 5 Node Translation Process Translation Process Leaving Level 5 Node Translation Process
Entering Level 6 Node Selecting the Translation Tools Selecting the Translation Tools Leaving Level 6 Node Selecting the Translation Tools
Entering Level 6 Node Unpacking the Module Files Unpacking the Module Files Leaving Level 6 Node Unpacking the Module Files
Entering Level 6 Node Translating the Module Files Translating the Module Files Leaving Level 6 Node Translating the Module Files
Entering Level 6 Node Object Files Object Files Leaving Level 6 Node Object Files
Entering Level 6 Node Date Files Date Files Leaving Level 6 Node Date Files
Entering Level 5 Node Link Operation Link Operation Leaving Level 5 Node Link Operation
Entering Level 5 Node VMAKE Tools VMAKE Tools Leaving Level 5 Node VMAKE Tools
Entering Level 6 Node Options for VMAKE Tools Options for VMAKE Tools Leaving Level 6 Node Options for VMAKE Tools
Entering Level 5 Node VMAKE Logs VMAKE Logs Leaving Level 5 Node VMAKE Logs
Entering Level 6 Node ips.pl, ipf.pl: Displaying Logs ips.pl, ipf.pl: Displaying Logs Leaving Level 6 Node ips.pl, ipf.pl: Displaying Logs
Entering Level 5 Node Comparison Between MaxDB VMAKE and a Conventional Make Program Comparison Between MaxDB VMAKE and a Conventional Make Program Leaving Level 5 Node Comparison Between MaxDB VMAKE and a Conventional Make Program
Entering Level 4 Node Example: Translating the File HelloWorld.c Example: Translating the File HelloWorld.c Leaving Level 4 Node Example: Translating the File HelloWorld.c
Entering Level 4 Node Example: Creating the Database Manager CLI 7.4.03 Program Example: Creating the Database Manager CLI 7.4.03 Program Leaving Level 4 Node Example: Creating the Database Manager CLI 7.4.03 Program
Entering Level 5 Node Components of DBMCLI Components of DBMCLI Leaving Level 5 Node Components of DBMCLI
Entering Level 6 Node dbmcli.rc dbmcli.rc Leaving Level 6 Node dbmcli.rc
Entering Level 6 Node vcn12.cpp, vcn13.cpp, vcn14.c vcn12.cpp, vcn13.cpp, vcn14.c Leaving Level 6 Node vcn12.cpp, vcn13.cpp, vcn14.c
Entering Level 7 Node Compilation Descriptions Compilation Descriptions Leaving Level 7 Node Compilation Descriptions
Entering Level 7 Node Example of an Include File Example of an Include File Leaving Level 7 Node Example of an Include File
Entering Level 6 Node cservlib cservlib Leaving Level 6 Node cservlib
Entering Level 6 Node splib splib Leaving Level 6 Node splib
Entering Level 6 Node eoxlib eoxlib Leaving Level 6 Node eoxlib
Entering Level 6 Node sqlusr, enalib, enblib sqlusr, enalib, enblib Leaving Level 6 Node sqlusr, enalib, enblib
Entering Level 6 Node Further Dependencies Further Dependencies Leaving Level 6 Node Further Dependencies
Entering Level 5 Node Creating the DBMCLI Creating the DBMCLI Leaving Level 5 Node Creating the DBMCLI
Entering Level 6 Node Link Description dbmcli.lnk Link Description dbmcli.lnk Leaving Level 6 Node Link Description dbmcli.lnk
Entering Level 5 Node Function Check Function Check Leaving Level 5 Node Function Check
Entering Level 3 Node Web Based Problem Tracking System Web Based Problem Tracking System Leaving Level 3 Node Web Based Problem Tracking System
Entering Level 4 Node System Requirements System Requirements Leaving Level 4 Node System Requirements
Entering Level 4 Node How the Web PTS Works How the Web PTS Works Leaving Level 4 Node How the Web PTS Works
Entering Level 5 Node Simple Search Simple Search Leaving Level 5 Node Simple Search
Entering Level 6 Node Result List of the Simple Search Result List of the Simple Search Leaving Level 6 Node Result List of the Simple Search
Entering Level 5 Node Advanced Search Advanced Search Leaving Level 5 Node Advanced Search
Entering Level 6 Node Result List of the Advanced Search Result List of the Advanced Search Leaving Level 6 Node Result List of the Advanced Search
Entering Level 5 Node My Release Notes My Release Notes Leaving Level 5 Node My Release Notes
Entering Level 6 Node Result List of My Release Notes Result List of My Release Notes Leaving Level 6 Node Result List of My Release Notes
Entering Level 4 Node Terms Terms Leaving Level 4 Node Terms
Entering Level 5 Node Message Data Message Data Leaving Level 5 Node Message Data
Entering Level 6 Node Header Data Header Data Leaving Level 6 Node Header Data
Entering Level 6 Node Settlement Settlement Leaving Level 6 Node Settlement
Entering Level 5 Node Message Texts Message Texts Leaving Level 5 Node Message Texts
Entering Level 2 Node Icons and Typographic Conventions Icons and Typographic Conventions Leaving Level 2 Node Icons and Typographic Conventions


SAP Navigator

 Entering navigation buttons
Entering Click Here To Expand the Entire Table of Contents Button Expand All Leaving Click Here To Expand the Entire Table of Contents Button Entering Click Here To Compress the Entire Table of Contents Button Close All Leaving Click Here To Compress the Entire Table of Contents Button
Entering Click Here To Display the Previous Topic in the Table of Contents Button Back Leaving Click Here To Display the Previous Topic in the Table of Contents Button Entering Click Here To Display the Next Topic in the Table of Contents Button Forward Leaving Click Here To Display the Next Topic in the Table of Contents Button Entering Click Here To Synchronize the Table of Contents with the Displayed Topic Button Synchronize Leaving Click Here To Synchronize the Table of Contents with the Displayed Topic Button
Leaving navigation buttons


SAP liveCache and CCMS Documentation

 Entering content frame

Component documentation SAP liveCache and CCMS Documentation

All documentation on SAP liveCache, and the administration of MaxDB database systems (formerly SAP DB) in the Computing Center Management System CCMS, is relevant for SAP customers only. Therefore, you find these documents exclusively in the SAP Help Portal at http://help.sap.com.


SAP Banner

Entering navigation banner
Entering MaxDB Library Button MaxDB Library Leaving SAP Library Button
SAP Knowledge Warehouse
Leaving navigation banner


SAP Banner

Entering navigation banner
Entering SAP Library Button SAP Library Leaving SAP Library Button Entering Getting Started Button Getting Started Leaving Getting Started Button Entering Release Notes Button Release Notes Leaving Release Notes Button Entering IMG Button IMG Leaving IMG Button Entering Glossary Button Glossary Leaving Glossary Button Entering Find Button Find Leaving Find Button Entering Help on Help Button Help on Help Leaving Help on Help Button
SAP Knowledge Warehouse
Entering Cross-Application Components Button Cross-Application Components Leaving Cross-Application Components Button Entering Accounting Button Accounting Leaving Accounting Button Entering Logistics Button Logistics Leaving Logistics Button Entering Human Resources Button Human Resources Leaving Human Resources Button Entering Basis Button Basis Leaving Basis Button Entering Service Button Service Leaving Service Button
Leaving navigation banner


SAP Banner

Entering navigation banner
SAP Training
SAP Knowledge Warehouse
Leaving navigation banner


SAP

 Entering letter list frame A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Special characters Leaving letter list frame


SAP Library
Release 4.6B, December 2000
SAP Library

Glossary

Getting Started

Release Notes

Implementation Guide
© Copyright 2000 SAP AG
All rights reserved.


Broken Link

 Entering content frame

The Target of the Selected Link Does not Exist

 Leaving content frame