SAP IQ Installation and Configuration Linux en
SAP IQ Installation and Configuration Linux en
SAP IQ Installation and Configuration Linux en
SAP IQ 16.1 SP 05
Document Version: 1.0.0 – 2024-03-22
2 Installation Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 You are Here in the Implementation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Who Should Read This Document?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.3 What is SAP IQ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 By the End of This Document, I Should be Able to.... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6 Preinstallation Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.1 Check for Operating System Patches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Increase the Swap Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10 Postinstallation Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
10.1 (Optional) The Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Creating the Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Starting and Stopping the Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
Removing the Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.2 (Optional) The SAP IQ Utility Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Starting and Stopping the SAP IQ Utility Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91
10.3 Setting Up Your Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Installation Directory Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
How SAP IQ Locates Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Environment Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.4 Licensing After Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Verifying and Authorizing Optional Licensed Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Applying an Unserved License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Applying a Served License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
10.5 Starting and Running an SAP IQ Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.6 Stopping an SAP IQ Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.7 Starting and Stopping the SAP IQ Cockpit Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
10.8 Stopping the SAP IQ Cockpit Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.9 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Using Configuration Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.10 Remove Sample Application Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.11 Starting Interactive SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.12 Verify an SAP IQ Server Is Running. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.13 Verify SAP IQ Server Is Licensed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
In this section:
This guide assumes the evaluator/purchaser has already planned and sized the hardware for your SAP IQ
implementation.
Set up your hardware. The SAP IQ Hardware Sizing Guide provides important hardware sizing information for all
supported platforms. Sizing guidelines include:
See the SAP IQ Hardware Sizing Guide on the SAP Community Network .
Create and manage your production database. Create and manage users.
Related Information
This installation guide is intended for three SAP IQ audiences with different skill sets and knowledge: the
evaluator/purchaser, the installer, and the network administrator.
Audience Description
Evaluator/purchaser The individual who makes the purchasing decision and determines the scale of the imple-
mentation, including simplex versus multiplex, the licensing model, and which licensable
options to include.
The installation workflow in this guide assumes the purchaser/evaluator has already made
these decisions.
Installer The individual who installs and configures SAP IQ server and client.
The installer might be the network administrator, or it might be someone without network
administration privileges and training.
If a task in this guide is not intended for all audiences, the task will state which audience the task applies to.
SAP IQ is a highly optimized analytics server designed specifically to deliver superior performance for mission-
critical business intelligence, analytics and data warehousing solutions.
When you complete this document, you will have an initial installation ready to provision with your production
data and settings.
Related Information
Locate information on what's new and changed in this release, locate sizing information, and find answers to
commonly asked questions.
See Release Notes: What's Changed in SAP IQ 16.1 SP 05 > Support Package 05 for information on what's new,
changed, and removed in the latest SAP IQ 16.1 Support Package, and previous Support Packages.
In this section:
Supporting documentation resources can help you with installation and configuration. Learn how this guide
relates to other commonly-used SAP IQ documentation resources.
When installing or upgrading SAP IQ, you'll need to refer to other documents to understand important changes
in the software, learn how to create a productive database, and learn how to add users to your system. These
documentation resources help you become productive as quickly as possible:
SAP Notes
Latest known issues for this release. Access the central SAP Note for this release of SAP IQ from the What's
New section on the SAP Help Portal.
Information on what's new, changed, and removed in the latest SAP IQ 16.1 Support Package. See Release
Notes: What's Changed in SAP IQ 16.1 SP 05 > Support Package 05.
Additional information about the SySAM product licensing and asset management system used by SAP IQ. The
guide contains instructions for establishing and administering SySAM licenses. See the SySAM Users Guide.
The Getting Started With SAP IQ guide assumes you've completed the tasks in this installation guide and have a
licensed and working SAP IQ installation. Use Getting Started With SAP IQ to create your production database.
SAP IQ Cockpit
Without access to the SAP IQ Cockpit, you cannot use the Create Database wizard to create your initial server.
See SAP IQ Cockpit.
Find SAP IQ help on the SAP Help Portal, and on the Support Portal.
See product documentation on the SAP Help Portal – online documentation you access using a standard Web
browser. You can browse documents online or download them as PDFs. There are links to SAP IQ videos, and
links to the SAP Community Network.
For technical support, visit the Support Portal . From the Support Portal, you can report an incident for
technical assistance, or contact the Support team for non-technical assistance.
For the latest list of supported server operating systems, see 3060790 SAP IQ 16.1 SP 05 Supported
Operating Systems and Versions.
For the latest list of supported network client versions, see 3060790 SAP IQ 16.1 SP 05 Supported Operating
Systems and Versions.
Before you install, you need to choose the type of installation and the components to install. You should also
consider options for database storage, component licensing, and network configuration.
In this section:
Decide which installation type you need. You can install SAP IQ as a server or install only the software
components that allow client connections to an SAP IQ server.
To install SAP IQ server components and the administration tool, install SAP IQ Server Suite. To install the
components required for client connections to an SAP IQ, install the SAP IQ Client Suite. Record your choice in
the planning checklist for future reference.
You can also choose to install certain components from either installation type. See Typical or Custom
Installation? [page 17]
In this section:
Related Information
If you develop applications to access data on an SAP IQ server, and your client application resides on a different
platform from the SAP IQ server, you must install the appropriate SAP IQ client.
Basically, you need an SAP IQ client installed on each machine where client applications reside. When installed
on the SAP IQ server, the SAP IQ server can access SAP IQ on a remote server. For the contents of the SAP IQ
Client Suite, see SAP IQ Client Components [page 18].
These examples will help you choose the right client products for your hardware and O/S platform.
Developing applications on one plat- An SAP IQ client on each platform If you develop client applications on the
form to access SAP IQ server on an- where the client applications reside. Windows platform to access data in an
other platform. SAP IQ server on Linux, install:
Running queries against remote data An SAP IQ client on the platform where If you plan to run queries on your Linux
sources. Queries may combine data you will run queries. In this case, you server but access data stored on both
from two SAP IQ databases on different might install an SAP IQ server and an the Linux server and an HP server, in-
platforms. SAP IQ client on the same machine. Re- stall:
mote data accessed through the client
will be queried as a proxy table.
• SAP IQ client on Linux
Developing a web client application. An SAP IQ client on the application If you have a web client application on
server's machine, not the machine HP that queries the server on Linux, but
where the browser runs. you run the app through a browser on a
Windows system, install:
• SAP IQ client on HP
SAP IQ is supported on virtual machine environments, such as VMWare vSphere, with some restrictions.
• The virtual machine environments must be officially certified and approved by the corresponding operating
system platform vendor.
• The operating system running in the virtual machine is already officially certified by SAP for SAP IQ. If an
issue cannot be reproduced, then the customer may be asked to reproduce the problem running natively
on the certified operating system, without the use of such virtualization systems.
• The extent of support does not cover performance. SAP does not guarantee the performance of SAP IQ
products running on virtual machines.
SAP IQ licenses are valid for both physical and virtual environments. However, please note that dependent
on the contract terms under which you purchased your licences you may not be covered to licence SAP IQ
virtually. If in doubt please contact your SAP account team to check.
SAP IQ uses SySAM for licensing and supports its sub-capacity licensing feature. See the SySAM Users Guide
for more information if you run SAP IQ in a virtualized environment.
Choose the components to install based on how you plan to use SAP IQ.
To create a custom server or client installation, just deselect any default components that you don't want, and
add those optional components that you need. See Typical or Custom Installation? [page 17]
In this section:
Related Information
A typical SAP IQ installation includes all of the software components that you need, but you may add optional
components or remove components to create a custom installation.
For example, if you have numerous servers licensed for SAP products that require SySAM licensing, you might
want to install the SySAM License Server to manage all of the licenses across your system. You must use an
SAP IQ custom installation to install the SySAM License Server, which is an optional component.
SAP IQ Server Components [page 17] and SAP IQ Client Components [page 18] describe all of the default
and optional components. See Served License Deployment Model [page 22] for more information about this
component.
The SAP IQ Server Suite groups components by feature. A typical installation installs those components
marked as default. Components not marked as default are options that you may add to a custom installation.
SAP IQ
SAP IQ installs a high performance relational database management system and data analytics tools.
SAP IQ Server X Installs server software and additional Connectivity Language Mod-
ules to support character sets for Eastern Europe, Turkey, and
Greece.
SAP IQ Web Drivers X Drivers for Perl, Python, and Ruby used to connect to SAP IQ data-
bases from web-based or standalone applications.
SAP IQ ODBC Driver X Installs drivers for the Open Database Connectivity standard; they
are used to connect to SAP IQ databases from ODBC-aware appli-
cations, client tools, ODBC drivers, and Web application develop-
ment tools.
Cockpit Framework
Cockpit Framework installs the framework in which SAP products can install components for managing and
monitoring SAP resources.
SAP IQ Cockpit X SAP IQ Cockpit is a personalized work center for SAP IQ, which
provides SAP IQ SP 05 management capabilities.
SAP jConnect
SAP jConnect for JDBC X SAP jConnect is a Type 4 JDBC driver, which is entirely Java-based.
SAP jConnect is JDBC 4.0-compliant.
SySAM
SySAM License Server Installs FLEXnet Licensing utilities to support your licensing model.
The SySAM License Server provides the ability to create a central
license server from which multiple installed SAP products can re-
trieve licenses.
SySAM License Utilities X The SySAM License Utilities are a set of programs that provide
license administration, reporting and diagnostic information. It is
recommended that these utilities be installed on every machine
that an SAP product is installed on.
Drivers for PHP are not included in SAP IQ installation package. See http://php.net for more information.
Client components are grouped by feature. Items marked as default are installed in a typical installation.
Optional items can be installed in a custom installation.
SAP IQ
SAP IQ Installs graphical and command-line utilities used to connect to an SAP IQ Server, Web application
development tools, and ODBC drivers.
SAP IQ Web Drivers X Drivers for Perl, Python, and Ruby used to connect to SAP IQ
databases from web-based or standalone applications.
SAP IQ ODBC Driver X Installs drivers for the Open Database Connectivity standard; they
are used to connect to SAP IQ databases from ODBC-aware appli-
cations, client tools, ODBC drivers, and Web application develop-
ment tools.
Drivers for PHP are not included in SAP IQ installation package. See http://php.net for more information.
SAP jConnect
SAP jConnect for JDBC X SAP jConnect is a Type 4 JDBC driver, which is entirely Java-
based. SAP jConnect is JDBC 4.0-compliant.
SAP IQ requires a product license for each product edition except the Evaluation Edition. You also need
separate licenses for any optional features available for your edition.
You can manage licenses using the network license server (served licenses), or manage licenses individually
yourself (unserved licenses). See License Deployment [page 21].
Whether you install a licensed or evaluation edition, you have 90-day access to all features and options. To
use an option beyond the 90-day evaluation period, you must purchase and install an appropriate license.
The SySAM licensing mechanism lets your system administrator enable and monitor the site's use of SAP
products.
Because using an unlicensed option on a licensed server can cause the server to shut down when the initial
grace period expires, the DBA must explicitly authorize access to an optionally licensed feature. SAP IQ will
not try to check out an optional license by default. Unless the DBA grants access to an option, the option is
unavailable.
Note
SAP IQ periodically checks the number of processors it can use and attempts to check out additional
licenses for any increase. SAP IQ shuts down after 90 days if additional licenses are not made available
within this period.
After installation, you can view and change the license management configuration and enable or disable
optional licenses. See Verifying and Authorizing Optional Licensed Components [page 106] for information
about authorizing optional features and other issues related to license management configuration.
In this section:
Related Information
The Evaluation Edition does not require a license. The Evaluation Edition is an unlicensed server, which provides
full access to all features and options available in the Enterprise Edition. To run an unlicensed database beyond
a 30-day evaluation period, however, you must purchase and install an appropriate license.
SAP IQ Enterprise Edition requires a CPU license and supports several licensing options.
CPU IQ_CORE Restricts the number of cores (not CPUs) that a server can use.
VLDB MO IQ_VLDBMGMT Allows you to create multiple tablespaces and additional dbspaces beyond
the defaults:
Each VLDB license allows for 1 TB of storage. You will need to purchase one
license for each additional TB of storage in the main store.
If you are not licensed for the IQ_VLDBMGMT option, SAP IQ returns a No
such feature exists error when you try to create more than one
table partition or user dbspace.
ASO IQ_SECURITY Allows you to use column encryption, ECC Kerberos and FIPS. The number of
ASO licenses must match the number of cores.
MPXO IQ_MPXNODE Allows you to start secondary multiplex nodes (readers/writers). The num-
ber of nodes must always be less than the number of cores, as each multiplex
server must have at least one core.
IDBA-PSO IQ_UDF Allows you to define and run high-performance scalar and aggregate user-
defined functions.
IQ_IDA Allows you to build, deploy and run your own C/C++ V4 User-Defined Func-
tions (UDF).
The IQ_IDA license will function as both the InDatabase Analytics Option and
Partner Solutions license.
UDA IQ_UDA Allows you to use the IQ Text Search functionality, which lets SAP IQ search
unstructured and semi-structured data. An IQ_UDA also includes an IQ_LOB
license. This license applies to TEXT indexes.
• The served license model – licenses are deployed to one or more SySAM license servers. Using a license
server simplifies and centralizes license administration if you run SAP IQ on several machines, as doing so
provides more control over software assets.
• The unserved license model – you generate and download a separate license for each machine where the
SAP IQ server runs.
The license server is a lightweight application that serves licenses to products running on any operating
system.
When you choose the served license deployment model, licenses are deployed to one or more SySAM license
servers.
A license server can run on a low-end machine or a machine with spare cycles. For example, a license server
running on a Solaris UltraSparc-60 serving 100 different licenses to 200 product instances, may use 50 MB of
memory, 5 minutes of CPU time per week, and 100 MB of disk space per year.
After you install the required license servers and generate served licenses, install your products. You can
configure the products to obtain licenses from one or more license servers.
Note
You cannot start the license server until there is at least one served license saved to the licenses
directory on the license server host machine.
Under an unserved model, licenses are installed locally and always available.
Obtain licenses and save them individually on the machines where SAP IQ will run. You will be responsible for
updating licenses when required.
Compare the characteristics between the served and unserved license models to determine which setup works
best for your environment.
Unserved Served
Licenses are used only on the machine for which the license Licenses can be distributed from a network license server to
was generated. SAP IQ servers running on any machine within the network.
Obtain licenses and save them individually on the machines Obtain licenses and save all of them on the license server
where SAP IQ will run. host machine.
When new licenses are required for SAP IQ updates, you When new licenses are required for SAP IQ updates, you
update and deploy each license for each machine where the
update all licenses for a specific license server in a single
SAP IQ update will run.
step.
Licenses are installed locally and always available. Requires a functioning license server and network. If either
of these fails, you install an alternate license server or fix the
problem before the SAP IQ grace period expires.
If a machine where SAP IQ is running fails, you regenerate all If a machine where SAP IQ is running fails, you move the
of its licenses and deploy those licenses to the replacement product to a new machine, where it acquires licenses from
machine. the running license server.
License files are distributed across each machine running License files are centrally located and managed.
SAP IQ, and therefore are difficult to manage and control.
Unserved Standalone Seat (SS) licenses do not allow you to You can use SAP IQ via Remote Desktop Connection or other
use SAP IQ via Remote Desktop Connection or other termi- Terminal Services clients, irrespective of the type of license
nal services clients. in use.
Even when a SySAM-enabled product is disconnected from its license server, SySAM allows you to borrow
licenses for your product to work offline.
You can use the licensed product offline until the borrowed licenses expire.
When borrowed licenses expire, you reconnect to the network license server and borrow them again for the
product to work offline. If you do not reborrow licenses before your currently borrowed licenses expire, the
product runs only for a runtime grace period, then ceases to function.
Note
Typically, the maximum duration for which you can borrow a license is 90 days.
SAP SySAM related products check out licenses on start-up, and perform periodic heartbeat checks to verify
that licenses remain available. If a license is unavailable, the product determines whether it can be awarded a
grace period.
The grace period starts from the time a license was last in use and persists for 90 days. At the end of the
grace period, the product performs an orderly shutdown, if running, or fails to start up. If the license (or a
replacement license) becomes available, the cycle continues with the heartbeat, noting the last use of the
license.
In this section:
Tolerance for temporary licensing failure is usually sufficient. However, in certain circumstances, you may
choose to use “three-license-server redundancy.”
For example:
• A grace period is not provided for the license type Floating License (FL).
• Standby copy systems rarely qualify for a grace period because they are unlikely to have been used within
the last 90 days.
• Company policy dictates the use of redundancy.
A product using per-processor licensing checks out a license quantity equal to the number of processors it
can use. If there are not enough licenses, it applies a runtime grace period. A runtime grace period is also
applied if the number of processors increases and the product is unable to check out additional licenses. The
product shuts down if additional licenses are not made available within the runtime grace period. Decreasing
the available number of processors while it is running does not reduce the required license quantity. You must
restart the product on the correct number of processors.
Learn about some typical license server deployment scenarios and suggestions for a SySAM setup that best
serves each scenario. You can mix and match the suggested configurations with other variations, to best suit
your needs.
In this section:
Multiple Sites with Security Considerations and Remote Users [page 28]
This deployment scenario has multiple sites, each with multiple SAP products, with a license server
at each site. This removes the dependency on network availability and latency, and can provide load
balancing.
The easiest setup for this environment is to use unserved licenses, which have a simple initial setup and require
little, if any, ongoing monitoring.
This deployment scenario uses an unserved license deployment model that works best in:
• Very small environments using only a few license files that require little management. If you have more
than 10 hosts, it is probably better to move to a served license deployment model, since a served license
allows you to update all licenses in one step.
• Hosts that are isolated (or need to be isolated) from one network to another; for example, secure networks,
and so on.
• Secure environments, where communication between hosts is limited or restricted; for example, all ports
are blocked, or specific ports are not allowed to be opened on a host.
• Occasionally connected systems, such as laptops or handheld devices.
The "Small Unserved License Configuration" figure illustrates a simple unserved license architecture with two
hosts: ASTRO and ELROY. Each license file is installed locally on the same machine that runs the SySAM
2-enabled products that use that specific license file. The license is used only on the machine on which
it is installed. In each license file representation, the license file HOSTID matches the unique license host
identification for the machine on which the associated licensed product is installed.
To get this information, run lmutil hostid from the $SYBASE/SYSAM-2_0/bin directory, on each machine
for which you want to determine the host ID.
When you log in to the SPDC or SAP Support Portal to generate licenses, enter the correct host ID for the
machine where the product will run.
• The unserved license is valid only on the machine for which it was generated. The license is node-locked to
the host where your SySAM 2-enabled product is installed, and the license activates products only on that
host. You cannot copy the license file to another machine and use it to run another instance of a product.
• The unserved license deployment model does not use a license server. When you start a product, it looks
for a local license file.
• You must manage unserved licenses, regardless of the architecture in which they are implemented. Most
licenses have a version that usually coincides with the end of your annual support agreement with SAP.
To download and apply product updates and patches, when you renew your product support, update your
SySAM licenses to reflect that fact. Renewing support and updating the corresponding license files on a
few hosts is not difficult, but trying to update 100 or 1,000 hosts would be a formidable task.
This deployment scenario assumes you have one site, running multiple products, that requires asset
management capabilities.
Typically, a served license with one license server that serves all SAP licenses works most efficiently in such
an environment. The overhead of maintaining the license server is compensated by the asset management
functionality and a reduction in ongoing license maintenance because of the license server.
The "Single-Site Served License Configuration" figure shows one license server that is set up to grant SySAM
licenses to all SAP products in use. Each instance of a product contacts the license server to acquire a license.
You can set up the license server on a separate host machine, but because the license server uses few
resources, it can typically be hosted on an existing machine.
The "Multiple Sites and License Servers" figure illustrates an organization with major sites in New York, London,
and Tokyo. Each site uses multiple instances of multiple SAP products. A license server is installed at each site
and individual product instances acquire licenses from the license server at that site.
You can configure the products to find remote license servers if the required license cannot be found on the
site license server, or if the site license server is not running. To share a limited number of floating licenses
across all sites while using the site license server for other licenses, set up those floating licenses on the license
server where floating licenses are likely to be used frequently. At the other sites, you can set up license search
paths. The redundancy provided by this configuration is limited to the number of unused licenses, including
any overdraft licenses that remain on each license server.
You can also consider alternate configurations. For example, if the network communication between two sites
is extremely reliable with minimal latency, you can share a license server between two sites. Smaller remote
sites can share a license server with a larger site that provides the most reliable network connection, even
though the larger site may not be the closest site geographically.
This setup is an extension to the multiple site case explained above. It also addresses additional considerations
including security within your network, remote users, and DMZs. This setup uses a mix of license models and
The "Complex, Multiple-Site Installations" figure depicts a multiple-site deployment with multiple product
setup with additional security requirements. In this example:
This example uses a single license server for Headquarters, which serves the development, production, and
remote users’ needs. While the license server is shared for development and production needs, available
licenses can be demarcated based on intended deployment.
• The production subnet security policies are relaxed to allow connections to the license server host and
port.
• The VPN policies allow a connection to license server host and ports.
Note
Use a fixed port for the lmgrd license manager and SAP vendor daemon in such situations. Firewall and
VPN policies must accommodate both lmgrd and SAP port numbers. This means that SERVER lines and
VENDOR lines in all license files must specify the port numbers chosen for the license manager and SAP
daemon processes. For example, a license server running on machine server_1 with the lmgrd license
manager daemon, listening on port 27001 and the SAP vendor daemon listening on port 27100 should use
a license file headed with the following two lines:
Unserved licenses are set up on the DMZ to serve licenses to product instances using the Web. This reduces
the need to set up another license server or open up additional traffic through the firewall.
SAP recommends that you use a separate license server for your disaster recovery site. This ensures
availability of the license server in case of a major catastrophe at the primary site.
If your disaster recovery setup includes cold-standby servers, set up the license servers in a three-server
redundant cluster. This reduces the possibility of a license server being unavailable when a cold-standby server
is attempting to come online. Such redundancy for license servers is typically not needed unless you are using
cold-standby systems.
Each secondary or remote site can have its own license server.
License deployment model X X Decide whether to use a served or unserved license deploy-
ment model. Typically, this is a company-wide decision that
is made only once. Therefore, this is one of the most impor-
tant things to determine before license generation.
Product machine host ID X Determine the host ID of the machine, or machine partition
where the product will run.
License server – download and X Download the standalone license server software and install
install the SySAM license server before you generate the product’s
licenses, and before you install the product.
License server host ID X Determine the host ID of the machine where the license
server will run.
License server host name X Determine the host name of the machine where the license
server will run.
License server TCP/IP port X Determine the port numbers on which the license server will
numbers listen for license requests.
In this section:
Identify the host ID of the machine where the licenses will be deployed.
• For served licenses, specify the host ID of the machine where the license server will run.
• For unserved licenses, specify the physical host ID of the machine where the product will run.
If you are running a product with per-CPU or per-CHIP licensing that supports SySAM sub-capacity, and you
want to run the product in a virtualized environment, use the sysamcap utility to enter the host ID for the
virtual machine, partition, or resource-set.
SPDC or SMP remembers the host information so that you can select the same license server when generating
additional licenses.
In this section:
Finding Host IDs for Machines with Multiple Network Adapters [page 33]
On some platforms, the host ID is derived from the network adapter address.
Use the lmutil utility or the appropriate operating system command to find your host ID.
lmutil lmhostid
Each host ID type has valid formats that will be checked when generating a license. Make sure the value
entered matches these valid formats.
Ethernet addresses are 12-character hex values consisting of digits 0 through 9 and characters A through F.
They may be entered in any of the following formats:
• 12AB34CD56EF
• 12-AB-34-CD-56-EF
• 3.12:AB:34:CD:56:EF
For some platforms, the host ID can also be entered in decimal formats; in this case, prefix the host ID with the
"#" sign. For example, #1039716963
The Disk Serial Number is always entered with a "DISK_SERIAL_NUM=" prefix. For example,
DISK_SERIAL_NUM=3e2e17fd
On some platforms, the host ID is derived from the network adapter address.
Context
If the machine where your product is installed or where the license server is hosted has multiple network
adapters, running lmutil lmhostid returns one host ID for each network adapter, and returns output similar
to this:
If you cannot determine the host ID using the lmutil lmhostid output, use the native operating system
commands to get additional details.
SySAM license server listens on two TCP/IP ports for incoming license requests. Therefore, firewall or VPN
policies require a set-up to allow access to both ports.
The SySAM license server consists of two processes: the license manager daemon (lmgrd) and the vendor
daemon (SYBASE).
Set the ports by specifying their port numbers in the license files on the SySAM license server. For example,
to force lmgrd to listen on port 27010 and the SYBASE vendor daemon to listen on port 27011, the license file
header should have:
When generating licenses at SPDC, specify the license server port to fix the port for lmgrd. Edit the license file
to specify the SYBASE vendor daemon port.
When generating licenses at SMP, specify both ports. The port for lmgrd is specified as License Server Port
1, and the SYBASE vendor daemon port as License Server Port 2. For three-server-redundant configurations,
you can only specify the SYBASE vendor daemon port for the primary license server; same value is used for the
secondary and tertiary license servers.
Note
You can specify any unused port number between 0 and 64000. On UNIX, choose a port number greater
than 1024, as most port numbers less than 1024 are privileged port numbers. Do not specify a number in
the range 27000 to 27009 for License Server Port 2, as ports in this range are used by the lmgrd process
when no port is specified for License Server Port 1.
SAP IQ is sold under different license types that control where you can use it. License types include in
production, standby, or development and test environments.
The license type determines the quantity of licenses required, such as whether a license is required for each
machine; or for each CPU, or CPU chip; or per terabyte of storage.
For example, SAP IQ purchased under the CPU License (CP) type requires one license per CPU on the machine,
partition, or resource set where it will run. SAP IQ purchased under the Server License (SR) type requires a
single license for the machine, partition, or resource set.
Make sure you select the correct license type when you generate your SySAM license file, since your account
may have the same product licensed under multiple license types.
When you generate licenses, each license type is presented on the License Information screen, such as:
In this section:
You can mix license types. For example, you can order SAP IQ under the Server License (SR) license type and
order an optional feature (such as IQ_VLDBMGMT) under the CPU License (CP) type.
Optional features are licensed only with the base product of the same product edition. For example, if you order
SAP IQ, you cannot use an Evaluation Edition optional feature license with the Enterprise Edition base product.
In addition, the entitled use of the license types must be compatible; for example, both types should allow use
in a production environment.
Context
When you purchase SySAM–enabled SAP products, such as SAP IQ, you must generate, download, and deploy
product licenses. You will need a license whether you use the served or unserved deployment model.
• To generate your unserved license, you need the host ID and host name of the SAP IQ server.
• To generate your served license, you need the host ID and host name of the SySAM license server.
• Served licenses require a license server. If you do not plan to use an existing license server, you must install
one before you install SAP IQ.
Procedure
1. Start your browser, and log in to the SAP Service Marketplace at https://support.sap.com/licensekey .
2. Follow the online instructions.
3. Save your license to a temporary location on the local file system. You must save the license file with
a .lic extension.
For SAP IQ dbspaces in production, use a fault-tolerant file system implemented by a high-performance,
redundant disk array (for example, RAID 5). For single-server systems, you can use a local file system, but
In this section:
Related Information
You can create a database or dbspace on a raw device or a file system file.
Disk partitions are typically accessed in two modes: file system mode (for example through the UFS file
system) or raw mode. Raw mode does unbuffered I/O, generally making a data transfer to or from the device
with every read or write system call. UFS is the default UNIX file system, and is a buffered I/O system, which
collects data in a buffer until it can transfer an entire buffer at a time.
SAP IQ uses the path name you specify to determine whether the partition is a raw partition or a file system file.
Raw partitions can be any size.
When you allocate file system files for dbspaces (System, IQ main, or IQ temporary), do not place the files on
a file system that is shared over a local area network. Doing so can lead to poor I/O performance and other
problems, including overloading the local area network. Any storage type can be used for SAP IQ so long as it is
configured in a way that SAP IQ supports (raw devices on any platform, local file systems for databases on any
platform, NFS on Linux, and GPFS on Linux) and follows proper sizing guidelines.
To avoid conflicts, restrict the management of dbspaces to a single database administrator on a single
connection.
Related Information
Disk Striping
Internal Striping
Random and Sequential File Access
Transaction and Message Logs
Installing SAP SQL Anywhere and SAP IQ on different machines avoids potential start-up problems.
Install SAP SQL Anywhere and SAP IQ on different host machines. When you install both products on the same
machine, the environment variables for the product installed last overwrite those of the product installed first,
causing start-up problems for the first product.
Do you plan to take advantage of SAP IQ distributed query processing? Distributed query processing can
benefit from an optional high-speed interconnect. Use scalable interconnect technology to connect multiplex
nodes.
• A high-speed network interconnect providing a local network that connects all multiplex nodes. Use an
interconnect bandwidth of 1 GB or higher or the highest bandwidth, lowest latency interconnect available.
• Two physically separate network interfaces for each multiplex node:
• A public network for multiplex interconnection traffic and client traffic.
• A private network for multiplex interconnect traffic only, excluding external client traffic. Currently,
multiplex interconnects support only the TCP/IP standard.
These two networks improve security, fault-tolerance, and performance.
• A switch that enables high-speed communication between nodes.
• Network cards that reside on different fabrics so that the multiplex survives network failure. Separate the
public and private networks physically.
• Private interconnect fabrics that contain only links to machines participating in the multiplex. Private
interconnect for all multiplex nodes should connect to the same switch, which connects to no other public
switches or routers.
• Redundant network interface cards added to private or public networks if desired. The private and public
connection information allows for multiple IP addresses on each.
In this section:
Related Information
Network Clients and ODBC development kits are available on the SAP IQ product support page.
SAP IQ Network Client 16.1 SP 05 includes the 32-bit ODBC driver component in the Windows 64-bit client in
order to support legacy 32-bit applications. This provides 32-bit connectivity support to 64-bit Windows. For
other platforms, use the SAP IQ 16.0 32-bit ODBC drivers instead.
See the Technical Release Information on the SAP IQ 16.1 Product Availability Matrix Page .
These SAP products are certified with this version of SAP IQ:
These SAP products are certified to work as back ends in CIS functionality with this version of SAP IQ:
As you plan your installation, record your decisions on the planning checklist. Refer to the checklist when you
respond to installation prompts.
Do you have the SAP administrator user Create the SAP IQ Account [page 45]
name and password? You need this in-
formation to log on to the machine to
run the installation.
Do you plan to use SySAM license License Deployment [page 21] and SAP
server? IQ Server Components [page 17]
Do you need the SAP IQ client? Do I Need the SAP IQ Client? [page 15]
If installing SAP IQ, are the default ports Check Port Availability for SAP IQ Cock-
available? If the default ports are in use, pit [page 41]
identify substitute ports to be specified
during the installation.
Based on your answers above, which in- Typical or Custom Installation? [page
stallation type should you use? 17]
Where do you plan to install the SAP Storage Options [page 35] and Network
IQ? What is the absolute path to the Options [page 37]
location?
Related Information
Complete these tasks before starting the installation process. These are operating system-level tasks to be
completed by the network administrator.
In this section:
Check with your vendor and apply the latest operating system patches. Do not use a patch that is earlier than
the version suggested for your operating system.
The recommended minimum swap space is 1 GB. Certain operations may cause the memory usage to grow
dynamically. Changing the way SAP IQ uses buffers can dramatically change the way it uses memory.
Depending on the load, swap requirements may exceed space allotted. Insufficient swap space may result in
the system supporting fewer users, and large processes that cannot acquire sufficient swap space may be
prematurely killed by the operating system.
See your operating system documentation for information about extending swap space.
Before proceeding, if you are planning to install SAP IQ Cockpit, verify the availability of the following ports . If
already in use, identify alternate port numbers to be specified during installation.
Make sure your network devices can communicate before you install SAP IQ.
SAP IQ uses networking software whenever the client and server components are installed on different
systems. Use the ping command to and from another computer to verify that the server where you plan
to install SAP IQ can use TCP/IP to communicate with other devices on your network.
In this section:
HugePages
Allocating large amounts of memory to HugePages can significantly degrade SAP IQ performance. If the
kernel allocates more than just a few MB of memory to HugePages, remove the HugePages options from /etc/
sysctl.conf and restore the kernel to the default configuration.
Transparent HugePages
Context
cat /proc/sys/kernel/sem
To adjust these values, and save them for future server restarts, edit the /etc/sysctl.conf file. For example,
to increase the maximum number of semaphore identifiers to 4096, add the following line:
Make sure you leave one space before and after equals sign.
To make a change that lasts only until the next restart, use:
• libXp-1.0.0-8.1.el5
• libXt-1.0.2-3.1.fc6
• libXtst-1.0.1-3.1
• libXmu-1.0.2-5
• libXext-1.0.1-2.1
• libSM-1.0.1-3.1
• libICE-1.0.1-2.1
• libX11-1.0.3-9.el5
Asynchronous input/output (AIO) applications, which use the native AIO interfaces require the libaio
package. AIO provides an interface that submits multiple I/O operations and other processing requests in a
single system call, and an interface that collects completed I/O operations associated with a given completion
group.
Red Hat Linux includes a unixodbc package that can cause name conflicts with components provided with SAP
IQ. To avoid name conflicts, rename the files.
The following table lists the original file names and the suggested file names to rename them to.
/usr/lib/isql /usr/lib/isql.org
/usr/lib/ /usr/lib/libodbc.orig.so
libodbc.so
/usr/lib/ /usr/lib/libodbc.orig.so.1
libodbc.so.1
SAP IQ depends on some redistributable libraries included with IBM XL C/C++ V10.0 and higher. Update
procedures depend on the current version of your compiler.
Download and install the IBM XL C/C++ Runtime Environment from the IBM Support Portal at: http://
www-01.ibm.com/support/docview.wss?uid=swg24029023 .
1. Download and install the IBM XL C/C++ Compiler Update from the IBM Support Portal at: https://
www-304.ibm.com/support/docview.wss?uid=swg24030264 .
2. Download and install the IBM XL C/C++ Runtime Environment from the IBM Support Portal at: http://
www-01.ibm.com/support/docview.wss?uid=swg24029023 .
Note
SAP IQ will fail to start on all Linux on Power Systems unless the IBM LV C/C++ redistributable libraries are
installed:
Create an SAP IQ account to provide consistent ownership and privileges for all installation, upgrade, and
administration tasks.
Create the SAP IQ user on every machine you plan to install SAP IQ server, SAP IQ client, or the SySAM license
server on. The SAP IQ user can be a normal nonadministration user and does not require root access. Log in to
machines as this user to install or administer SAP IQ.
If you have already installed other SAP software, the SAP IQ user may already exist. If so, verify that you can log
in to the machine using this account. If there is no SAP IQ account on your system, see your operating system
documentation for instructions for creating new user accounts.
SAP IQ installation and update packages are available on the SAP Software Download Center.
Context
To access the SAP IQ installation files, go to the SAP Software Download Center and select Software
Downloads.
Procedure
1. Select SUPPORT PACKAGES & PATCHES By Alphabetical Index (A-Z) I SYBASE IQ SYBASE
IQ 16.1
2. Choose the component to download.
Tip
Next Steps
Uncompress the download image on the same machine where you plan to install SAP IQ. Do not copy an
uncompressed installation archive to a secondary machine to perform the installation.
Each archive contains a single folder with the installation files. Rename these folders to make them easier to
identify. For example, rename the folder with SAP IQ server installation files to server.
Once unpacked and renamed, verify that the SAP IQ account has full privileges (read, write, execute) to
all archive folders. Modify privileges as needed. Missing privileges on any of the folders may result in an
incomplete installation.
The SAP IQ Server Suite installation media includes the SySAM license server.
The SySAM license server is required for a served license deployment model.
In this section:
Set Windows 2012 R2 Compatibility Mode for SAP IQ Installer [page 47]
Configure the compatibility mode on the SAP IQ installer to prevent issues when running.
Configure the compatibility mode on the SAP IQ installer to prevent issues when running.
Context
This configuration is required for installations using either console or GUI mode.
1. On the Windows server, change to the server directory within the SAP IQ installing package.
2. Right-click setup.exe and select Properties.
3. On the Compatibility tab, check Run this program in compatibility mode for: and select Windows 7
from the dropdown.
Use this option to install the SySAM license server using a graphical user interface (GUI). The GUI installer is
wizard-driven and supports all product editions and installation types.
Prerequisites
Procedure
1. Change to the setup directory where you downloaded and unpacked your SAP IQ software.
2. Start the installer:
Next Steps
For your next task, go to Apply or Update Licenses on the SySAM License Server [page 51].
Choose a console installation if you prefer a non-GUI interface. Installing SySAM License Manger in console
mode is similar to installing in GUI mode, except that you run the installer from the command line, and enter
text to select the installation options.
Prerequisites
Context
Note
To return to the previous prompt from within the console installer, type back at any time.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer and follow the instructions on the screen:
./setup.bin -i console
3. When prompted, specify a parent installation directory. Do not install SySAM license server into a
destination directory or path that contains spaces. The console installer does not warn you if you try to
install to an invalid path or if the parent installation directory or path has changed since the last installation
on the machine, and you are about to replace the existing environment variables. If installing the SySAM
license server and SAP IQ server on the same machine, do not install to a common parent directory.
4. Select Custom as the installation type.
5. Type 1,7,10,12 to deselect all selected options, and then type 11 to select SySAM License Server only.
6. Select Evaluate for the license type.
7. Complete and accept the terms of the licensing agreement.
8. Review the installation summary and adjust as needed.
9. Begin the installation.
For your next task, go to Apply or Update Licenses on the SySAM License Server [page 51].
Related Information
You start and stop the license server from a console or command line.
Prerequisites
Procedure
Action Syntax
Note
The SySAM License Server Installer installs both IPv4-only and IPv4/IPv6 dual-stack license server
binaries during installation and configures use of IPv4-only binaries.
Use the sysam configure [IPv6 | IPv4] to configure the appropriate version of the license server. For
example, sysam configure IPv6 will configure use of the IPv4/IPv6 dual stack binaries. For more
information, see the SySAM Users Guide published with SAP IQ documentation.
Copy your served licenses to the license directory on the SySAM license server, and update the license server.
Prerequisites
Procedure
Caution
The SySAM license server and the SAP IQ server both have a SYSAM-2_0/licenses subfolder
structure. If you installed both servers on the same machine, be sure to navigate to the SYSAM-2_0/
licenses folder of the SySAM license server, not of the SAP IQ server.
Note
Stopping and starting the SySAM license server also forces the server to update the licenses.
bin
licenses
locales
• unicode – localized message files for the sysamcap and cpuinfo utilities
log
The licensing utility program, lmutil, includes options for managing licensing activities.
In this section:
Context
Procedure
lmutil -help
Note
In addition, the sysam script, also located in the bin directory, provides a wrapper for the most
frequently used FLEXnet utilities. To display the help text, which provides complete instructions, enter:
sysam help
SAP IQ server installation media supports GUI, console, and unattended (silent) installs. You can use the
installation media to install a new SAP IQ server and selected components or to add additional components to
an existing installation.
Download SAP IQ server software from the SAP Software Download Center. See Download Installation Files
[page 45].
In this section:
Use this option to install your server software using a graphical user interface (GUI). The GUI installer is
wizard-driven and supports all product editions and installation types.
Prerequisites
Procedure
1. Change to the setup directory where you downloaded and unpacked your SAP IQ software.
2. Start the installer:
For a new server installation, specify a new parent install directory. Do not install to an SAP IQ directory
from a previous installation.
If installing the SySAM license server and SAP IQ server on the same machine, do not install to a common
parent directory.
If adding components to an existing SAP IQ server, specify the existing parent installation directory.
Specifying a different parent directory overwrites existing environment variables and may cause
unexpected behavior.
The GUI installer warns you if you try to install to an invalid path or if the parent install directory or path has
changed since the last installation on the machine, and you are about to replace the existing environment
variables.
4. Do one of:
For Action
New installations Select Typical to install all default components. Select Custom to select
and deselect individual components to install.
Adding components to an existing instal- Select Custom and select only the additional components to install. De-
lation selecting components already installed does not uninstall them, but can
significantly speed up the installation process by not reinstalling existing
features along with new features. To remove installed feature, see Uninstal-
ling SAP IQ [page 128].
5. Indicate whether you want to license SAP IQ now or evaluate the software. You can add your license later if
preferred. See Licensing After Installation [page 105].
6. Complete and accept the terms of the licensing agreement.
7. If licensing now:
a. Specify one of:
To Action
Use specify license keys Change to the location of the unserved license file and
select it.
Use previously deployed license server Specify the host name of the license server. Use the ma-
chine name or the IP address.
Continue installation without a license key If you are unable to enter a valid license key or connect to
a license server, select this option to continue the installa-
tion.
SySAM e-mail alerts do not contain HELO tokens, which some SMTP mail servers require to process
messages correctly. If your SMTP server requires a HELO token, append the email.helo.fqdn
property to the SySAM property file. The property value should be the fully qualified domain name,
such as email.helo.fqdn=sap.com.
The SYSAM properties file is located in the $Sybase/IQ-16_1/Sysam directory and is named
<servername>.properties, where <servername> is the name of your server.
Tip
b. Indicate if you want to start the IQ cockpit server now. You can start it later if preferred.
Related Information
Choose a console installation if you prefer a non-GUI interface. Installing server components in console mode
is similar to installing in GUI mode, except that you run the installer from the command line, and enter text to
select the installation options.
Prerequisites
Context
As the installer runs, refer to your planning checklist for answers to the various prompts. The prompts
displayed may vary, depending on the components selected for installation.
Note
To return to the previous prompt from within the console installer, type back at any time.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer and follow the instructions on the screen:
./setup.bin -i console
3. When prompted, specify a parent installation directory. Do not install SAP IQ into the root or a destination
directory or path that contains spaces.
If installing the SySAM license server and SAP IQ server on the same machine, do not install to a common
parent directory.
If adding components to an existing SAP IQ server, specify the existing parent installation directory.
Specifying a different parent directory overwrites existing environment variables and may cause
unexpected behavior.
The console installer does not warn you if you try to install to an invalid path or if the parent installation
directory or path has changed since the last installation on the machine, and you are about to replace the
existing environment variables.
4. Choose one of these installation options:
Option Description
New instal- Select Typical to install all default components. Select Custom to select and deselect individual compo-
lations nents to install.
For "Custom" installations, type the number of the feature to be selected or deselected. The number
acts as a switch to the current setting of a feature, though the display does not update.
Note
Specifying a parent product automatically applies the switch to any child component associated
with that feature. For example, typing 1 is equivalent to typing 2,4,5,6. However, if you typed
1,2,4,5,6, the 1 would deselect SAP IQ and all its children, then 2,4,5,6 would reselect each specified
child feature. The net result would be that all children within SAP IQ would be installed.
Adding Select Custom and select only the additional components to install. Deselecting components already
components installed does not uninstall them, but can significantly speed up the installation process by not reinstal-
to an exist- ling existing features along with new features. To remove installed feature, see Uninstalling SAP IQ [page
ing installa- 128].
tion
5. Indicate whether you want to license SAP IQ now or evaluate the software. You can add your license later if
preferred. See Licensing After Installation [page 105].
6. Complete and accept the terms of the licensing agreement.
7. If licensing now:
a. Specify one of:
To Action
Use specify license keys Change to the location of the unserved license file and
select it.
Use previously deployed license server Specify the host name of the license server. Use the ma-
chine name or the IP address.
Continue installation without a license key If you are unable to enter a valid license key or connect to
a license server, select this option to continue the installa-
tion.
SySAM e-mail alerts do not contain HELO tokens, which some SMTP mail servers require to process
messages correctly. If your SMTP server requires a HELO token, append the email.helo.fqdn
property to the SySAM property file. The property value should be the fully qualified domain name,
such as email.helo.fqdn=sap.com.
The SYSAM properties file is located in the $Sybase/IQ-16_1/Sysam directory and is named
<servername>.properties, where <servername> is the name of your server.
8. Review the installation summary and adjust as needed. Ensure that expected features are being installed.
9. Begin the installation.
10. If installing SAP IQ Cockpit:
a. Accept the default ports or change as needed.
Tip
b. Indicate if you want to start the IQ cockpit server now. You can start it later if preferred.
Related Information
Unattended or silent installations are typically used to update multiple systems. Except for the absence of the
GUI screens, all actions of InstallAnywhere are the same, and the result of a server installation in silent mode is
exactly the same as one done in either GUI or console mode.
In this section:
You create a response file by recording your responses while running a server installation. You can create the
file using either GUI or console mode.
Prerequisites
Context
The response file is not created until the current installation completes. Your responses to the screen prompts,
not your actual keystrokes, are recorded in the file. Give careful thought to your responses, as they will be used
in every installation using the response file.
If you are using an unserved license model, you should select an evaluation license when creating a response
file. You can apply the unserved license after running the silent installation. However, if you choose to license
when creating the response file, the unserved license file specified in the response file must be available to the
installer. If the file is not found during installation, the silent installation fails with a licensing error message.
If you are using a served license model, ensure that the SySAM License Manager is configured and running
before you select a license server when creating a response file.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer, where <responseFileName> includes the absolute path and file name of the response
file. If no path is specified, the file is created in the current folder. Though optional, you should add the file
extension .properties to any custom response file you create to help identify it.
Mode Syntax
Tip
• Keep in mind that your responses to each prompt are being saved to the file and will be used
for each unattended installation. While it is possible to edit the response file before using it, this
should be kept to a minimum to prevent unexpected errors in the file from spelling errors or invalid
responses, which could cause the installation to fail or not install as intended.
• It is not recommended that you license SAP IQ with a license file when creating a response file. The
license file name and location would be recorded in the response file. For an unattended installation
to successfully license the SAP IQ server using this response file, the license file would need to
have the same name and exist in the specified location on the machine before the installation
begins.
Results
Related Information
The system uses the responses in the file to perform the server installation.
Prerequisites
Context
You can use the default response file, installer.properties or a custom response file. Be careful: If you
edit the information in the response file and it becomes invalid, the silent installation might fail. To override the
default installation options, use the -f argument to point to a custom response file.
The cursor disappears when the silent installation begins, and reappears when complete. Press Ctrl + c at
any time to cancel a silent installation.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer using the appropriate syntax for the license type specified in the response file.
where:
Argument Description
-f <responseFileName> Optional argument that includes the absolute path and file name of
the response file. If you omit this argument, the installer defaults to
installer.properties or other .properties file in the same
installation directory.
-DAGREE_TO_SAP_LICENSE=true Required argument that indicates you accept Sybase end-user license
agreement.
If the response file references an unserved license that cannot be found, the silent installation fails with an error
message.
If the response file references a SySAM license server that is not running, the installation completes, but the
SAP IQ server is configured to use an evaluation license. Start the license server, then stop and restart the SAP
IQ server to apply the served license.
Related Information
A server installation installs the SAP IQ server and selected components into a user-defined parent directory
on the host machine. SAP IQ then uses environment variables, which are set by running a shell script after
installation to point to the different installation directories.
Context
See Environment Variables [page 95] for information on modifying environment variables.
Procedure
source ./IQ-16_1.csh
source ./IQ-16_1.sh
Directory Variables
$SYBASE User-defined parent instal- Directory that contains the core SAP IQ server product directory
lation directory. as well as the directories for selected components.
$IQDIR16 Product installation direc- Directory that contains the core SAP IQ server product directo-
tory IQ-16_1, a subdirec- ries.
tory of the parent installa-
tion directory.
The user-defined installation directory ($SYBASE) contains the files, scripts, and other objects required to
support the server.
Directory Contents
charsets Character sets available for compatibility with Adaptive Server Enterprise.
collate Collation sequences available for compatibility with Adaptive Server Enterprise.
IQ-16_1 Subdirectories, scripts, and property files required to run the server.
jutils-3_0 Version 3.0 Java-based utilities, including Ribo, a Tabular Data Streams utility.
shared Objects and libraries shared by other components, including the Java Runtime Environ-
ment (JRE).
Sybase_Install_Registr Server registry file that holds information related to the installed products. Do not mod-
y ify.
SYSAM-2_0 SySAM licenses and utilities. This directory contains three subdirectories: bin,
licenses, and log.
IQ-16_1 ($IQDIR16) is a subdirectory of the user-defined installation directory ($SYBASE) that contains the
files, scripts, and other objects required to run the server.
Directory Contents
shared Objects and libraries shared by other components, including the Java Runtime Environ-
ment (JRE).
Related Information
The installer writes a general log to the $SYBASE directory that records all installation activity and individual
logs for each installed component. If an installation problem occurs, start with the IQ_Suite.log, then refer
to the component log for specific details.
The installer also creates a set of corresponding .out files for each component .log file. These files capture
different component installation activities. If the installer runs normally, these files may remain empty.
All installation log files are found in the log directory within the SAP IQ parent installation directory.
Note
Do not confuse this log directory with the logfiles directory in the $IQDIR16 directory, which contains SAP
IQ log files not related to installation.
SAP IQ client installation media supports GUI, console, and unattended (silent) installs. You can use the
installation media to install a new SAP IQ client and selected components or to add additional components to
an existing installation.
Remember
Download SAP IQ client software from the SAP Software Download Center. See Download Installation Files
[page 45].
In this section:
Set Windows 2012 R2 Compatibility Mode for SAP IQ Installer [page 69]
Configure the compatibility mode on the SAP IQ installer to prevent issues when running.
Running the Client and Server on the Same System [page 69]
Your SAP IQ server can connect to a remote SAP IQ server. In this scenario, the SAP IQ server becomes
a client of the remote SAP IQ server, and requires an SAP IQ client.
Configure the compatibility mode on the SAP IQ installer to prevent issues when running.
Context
This configuration is required for installations using either console or GUI mode.
Procedure
1. On the Windows server, change to the server directory within the SAP IQ installing package.
2. Right-click setup.exe and select Properties.
3. On the Compatibility tab, check Run this program in compatibility mode for: and select Windows 7
from the dropdown.
Your SAP IQ server can connect to a remote SAP IQ server. In this scenario, the SAP IQ server becomes a client
of the remote SAP IQ server, and requires an SAP IQ client.
SAP IQ uses a shared memory segment and several semaphores for communication between the client and
server on the same machine. Shared memory is the default communications mechanism when the client and
server are on the same system. Shared memory is configured automatically, and starts automatically.
Use this option to set up your client software in a graphical user interface (GUI) environment. The GUI installer
is wizard-driven and supports all product editions and installation types.
Prerequisites
Procedure
1. Change to the setup directory where you downloaded and unpacked your SAP IQ software.
2. Start the installer:
For new installations, you must specify a new parent install directory. Do not install to an SAP IQ directory
leftover from a previous installation.
If adding components to an existing SAP IQ server, specify the existing parent installation directory.
Specifying a different parent directory overwrites existing environment variables and may cause
unexpected behavior.
The GUI installer warns you if you try to install to an invalid path or if the parent install directory or path has
changed since the last installation on the machine, and you are about to replace the existing environment
variables.
4. Do one of:
For Action
New Installations Select Typical to install all default components. Select Custom to select
and deselect individual components to install.
Adding components to an existing instal- Select Custom and select only the additional components to install. De-
lation selecting components already installed does not uninstall them, but can
significantly speed up the installation process by not reinstalling existing
features along with new features. To remove installed feature, see Uninstal-
ling SAP IQ [page 128].
Related Information
Choose a command-line installation if you prefer a non-windowing interface or for developing custom
installation scripts. Installing the client in console mode is similar to installing in GUI mode, except that you run
the installer from the command line, and enter text to select the installation options.
Prerequisites
Context
Note
• If you are installing the SAP IQ client on a machine with SAP IQ server already installed, you must
perform the installation using the SAP IQ server installer, not the SAP IQ client installer. See Installing
SAP IQ Server Software [page 54].
• To return to the previous prompt from within the console installer, type back at any time.
Procedure
1. Change to the setup directory where you downloaded and unpacked your SAP IQ software.
2. Start the installer and follow the instructions on the screen:
./setup.bin -i console
For new installations, you must specify a new parent install directory. Do not install to an SAP IQ directory
leftover from a previous installation.
If adding components to an existing SAP IQ server, specify the existing parent installation directory.
Specifying a different parent directory overwrites existing environment variables and may cause
unexpected behavior.
The console installer does not warn you if you try to install to an invalid path or if the parent installation
directory or path has changed since the last installation on the machine, and you are about to replace the
existing environment variables.
4. Choose one of these installation options:
Option Description
New installa- Select Typical to install all default components. Select Custom to select and deselect individual
tions components to install.
For "Custom" installations, type the number of the feature to be selected or deselected. The number
acts as a switch to the current setting of a feature, though the display does not update.
For example, to install the client only without drivers, type 1,2. 1 deselects SAP IQ and all its children. 2
then reselects the IQ client only.
Note
Specifying a parent product automatically applies the switch to any child components associated
with that feature. For example, typing 1 is equivalent to typing 2,3,4. However, if you typed 1,2,4,
the 1 would deselect SAP IQ and all its children, then 2,3,4 would reselect each specified child
feature. The net result would be that all children within SAP IQ would be installed.
Adding com- Select Custom and select only the additional components to install. Deselecting components already
ponents to an installed does not uninstall them, but can significantly speed up the installation process by not
existing in- reinstalling existing features along with new features. To remove installed feature, see Uninstalling
stallation SAP IQ [page 128].
Related Information
Unattended or silent installations are typically used to update multiple systems. Except for the absence of the
GUI screens, all actions of InstallAnywhere are the same, and the result of a client installation in silent mode is
exactly the same as one done in GUI mode with the same responses.
In this section:
You create a response file by recording your responses while running a client installation. You can create the file
using either GUI or console mode.
Prerequisites
Context
The response file is not created until the current installation completes. Your responses to the screen prompts,
not your actual keystrokes, are recorded in the file. Give careful thought to your responses, as they will be used
in every installation using the response file.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer, where <responseFileName> includes the absolute path and file name of the response
file. If no path is specified, the file is created in the current folder. Though optional, you should add the file
extension .properties to any custom response file you create to help identify it.
Results
Related Information
The system uses the responses in the file to perform the client installation.
Prerequisites
Context
You can use the default response file, installer.properties or a custom response file. Be careful: If you
edit the information in the response file and it becomes invalid, the silent installation might fail. To override the
default installation options, use the -f argument to point to a custom response file.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer using the appropriate syntax for the license type specified in the response file.
where:
Argument Description
-f <responseFileName> Optional argument that includes the absolute path and file name of
the response file. If you omit this argument, the installer defaults to
installer.properties or other .properties file in the same
installation directory.
-DAGREE_TO_SAP_LICENSE=true Required argument that indicates you accept Sybase end-user license
agreement.
Related Information
A client installation installs the SAP IQ client and selected components into a user-defined parent directory
on the host machine. SAP IQ then uses environment variables, which are set by running a shell script after
installation to point to the different installation directories.
Context
See Environment Variables [page 95] for information on modifying environment variables.
Note
You don't need to set client environment variables if the server and client are installed on the same host.
Procedure
source ./IQ-16_1.csh
source ./IQ-16_1.sh
Directory Variables
$SYBASE User-defined parent instal- Directory that contains the core SAP IQ client product directory
lation directory as well as the directories for selected components.
$IQDIR16 Product installation direc- Directory that contains the core SAP IQ client product directo-
tory IQ-16_1, a subdirec- ries.
tory of the parent installa-
tion directory.
The user-defined directory ($SYBASE) contains the files, scripts, and other objects required to support the
client.
Directory Contents
IQ-16_1 SAP IQ
client components.
jutils-3_0 Version 3.0 Java-based utilities, including Ribo, a Tabular Data Streams utility.
IQ-16_1 ($IQDIR16) is a subdirectory of the user-defined installation directory ($SYBASE) that contains the
files, scripts, and other objects required to run the client.
Directory Contents
bin<platform> Utilities you use to start and manage your server. <platform> value is 64 or 32, depend-
ing on your installation.
lib<platform> Various library files. <platform> value is 64 or 32, depending on your installation.
Related Information
The installer writes a general log to the $SYBASE directory that records all installation activity and individual
logs for each installed component. If an installation problem occurs, start with the IQ_Client_Suite.log,
then refer to the component log for specific details.
The installer also creates a set of corresponding .out files for each component .log file. These files capture
different component installation activities. If the installer runs normally, these files may remain empty.
All installation log files are found in the log directory within the SAP IQ parent installation directory.
Note
Do not confuse this log directory with the logfiles directory in the $IQDIR16 directory, which contains SAP
IQ log files not related to installation.
In this section:
Open Database Connectivity (ODBC) is a standard API that allows a single application to access a variety of
data sources through ODBC–compliant drivers.
In this section:
ODBC drivers manufactured by different vendors may vary widely in the functions they provide. SAP IQ
supports ODBC 3.5.2.
Level 1 conformance All level 1 features, except for asynchronous execution of ODBC functions.
SAP IQ does support multiple threads sharing a single connection. The re-
quests from the different threads are serialized by SAP IQ.
• Three-part names of tables and views. This is not applicable for SAP IQ.
• Asynchronous execution of ODBC functions for specified individual state-
ments.
• Ability to time out login requests and queries.
Note
• Although you can use new ODBC 3.5.x features such as descriptors in your ODBC applications, ODBC
2.x applications will continue to work with SAP IQ.
Server and client installations include ODBC drivers. Platform-specific drivers are available from the SAP
Product Download Center and SAP Service Marketplace.
Application Linking
If you are creating an ODBC application, you can link directly to libdbodbc16.so for non–threaded
applications and libdbodbc16_r.so for threaded applications. References to ODBC functions are resolved at
run-time.
UNIX 64-bit applications, including many third-party tools, can use 64-bit ODBC drivers to connect to 64-bit
SAP IQ servers. 32-bit applications can use 32-bit ODBC drivers to connect to 64-bit IQ servers. (32-bit
applications cannot use 64-bit ODBC drivers to connect to 64-bit IQ servers.)
The SAP IQ Client software supplied with all platforms contains an ODBC driver for connecting from Windows-
based ODBC applications. To connect via ODBC from 32-bit UNIX client applications, download and install the
32-bit ODBC driver kit. Check the EBF/Update information for the appropriate driver.
There are several ways to use ODBC to connect to UNIX or Linux-based query tools.
Tools that do not require extensive driver manager services can use symbolic links to connect directly to the
driver. Tools that require a driver manager may ship with a driver manager.
For information and recommendations about compatible driver managers available for specific applications,
see the documentation for the application.
You can use files as data sources instead of databases. File data sources are stored as files with the
extension .dsn.
On UNIX-like operating systems, ODBC data sources are stored in a system information file. Although this file is
named .odbc.ini by default, it can have any name.
A system information file can include any connection parameter. This sample DSN connects to the demo
database:
SAP IQ searches the following locations, in order, for the system information file:
Note
SAP IQ clients ignore these environment variables when searching for the system information file:
• <$ODBC_HOME>
• <$ODBC_INI>
To use a data source entry to connect to your database, open a terminal, and use dbisql with the data source
entry name in a connection string. For example:
% dbisql –c "dsn=sample_dsn"
Any database started from a connection string is, by default, stopped when there are no more connections
to it, and any database that is loaded from a connection string is unloaded as soon as there are no more
connections to it when the Autostop connection parameter is set to yes.
To connect without using .odbc.ini, open a terminal, and use dbisql all connection parameters. For
example:
% dbisql –c "UID=DBA;PWD=<password>;AutoStop=no;
ENG=<engine name>;DBF=$IQDIR16/demo/iqdemo.db"
This example is shown on multiple lines, however, you must enter the entire command at the command prompt
on one line.
Additional Information
To connect to a 32-bit application without using a data source, use dbisql to connect from the command line.
dbisql -c "UID=DBA;PWD=<password>;AUTOSTOP=no;
ENG=<engine_name>;DBF=$SYBASE\IQ-16_1/demo/iqdemo.db"
Java Database Connectivity (JDBC) is a Java application programming interface (API) that provides
programmatic access to SAP IQ. jConnect is an SAP utility that provides high-performance native access
to all SAP products as a standard installation option.
The SQL Anywhere JDBC driver is the default driver for Interactive SQL.
SAP IQ includes an OLE DB provider as an alternative to ODBC. OLE DB is a data access model from Microsoft
that uses the Component Object Model (COM) interfaces. Unlike ODBC, OLE DB does not assume that the data
source uses a SQL query processor. Although OLE DB requires a Windows client, you can use OLE DB to access
Windows and UNIX servers.
SAP IQ supports Dynamic (dynamic scroll), Static (insensitive) and Forward only (no–scroll) cursors, but does
not support Keyset (scroll) cursors. In SAP IQ the isolation level is always 3, no matter what you specify.
Additional Information
Clients require a server object in the interfaces file to access server properties and methods. Use the SAP
IQ Directory Services Editor (dsedit) to create the interfaces file entries. These instructions apply to sever
installations only.
Prerequisites
• You must be the owner of the SAP IQ home directory ($SYBASE\IQ-16_1) to run dsedit
• Make a copy of the interfaces file before you make any changes
Procedure
Properly configured UNIX servers run under the TCP/IP protocol, which enables non–UNIX clients to
communicate with the server.
For SAP IQ to run properly, the protocol stack on the client and server computers must be compatible at each
layer. Many vendors supply TCP/IP protocol stacks and associated software. SAP IQ communications have
been explicitly verified with these TCP/IP implementations:
There are several entries into the TCP/IP protocol stack. SAP IQ employs the User Datagram Protocol (UDP).
While it is called a transport protocol here and elsewhere, UDP provides little more than a user interface to the
network layer IP. In particular, UDP is not a guaranteed transmission protocol.
Although the default packet size for TCP/IP is 1460 bytes, a larger packet size may improve query response
time, especially for queries that transfer a large amount of data between a client and a server process. You can
set the maximum packet size using the database server command lines or CommBufferSize (CBSIZE) in the
client connection string. This option may be used with the start_iq command.
Set the CommLinks connection parameters in your application's connection string to connect across a firewall.
There are restrictions on connections when the client application is on one side of a firewall and the server is
on the other. Firewall software filters network packets according to network port. Also, it is common to disallow
UDP packets from crossing the firewall.
• Set the ClientPort parameter to a range of allowed values for the client application to use. You can then
configure your firewall to allow these packets across. You can use the short form CPort.
• Set the HOST parameter to the host name on which the database server is running. You can use the short
form IP.
• Specify the port your database server is using in the ServerPort parameter if it is not using the default
port of 2638. You can use the short form Port.
• Set the DoBroadcast=NONE parameter to prevent UDP from being used when connecting to the server.
CEng=myeng;Links=tcpip(ClientPort=5050–
5060;Host=myhost;Port=2020;DoBroadcast=NONE)
Additional Information
Once your server and client software is installed, the postinstallation tasks help you verify if it is correctly
configured, licensed, and running.
In this section:
The SAP IQ demo database (iqdemo.db) is a database that contains sample data about a fictional company
that sells athletic clothing.
Many of the examples throughout the documentation use the demo database as a data source. It is installed
as part of the SAP IQ Server installation and resides on the server. You can also use the demo database to test
your installation.
For a new SAP IQ installation, to successfully log on to the SAP IQ Cockpit requires that at least one server
be running. Without access to the SAP IQ Cockpit, you cannot use the Create Database wizard to create your
initial server. The SAP IQ demo database can be used as the initial server.
Note
In this section:
Prerequisites
$IQDIR16/demo
2. Type:
Note
On SUSE Linux Enterprise Server (SLES), you need to install ksh before you can run mkiqdemo.sh.
3. Follow the screen prompts to create the database. Minimum password length is 6 characters.
Note
You can adjust the minimum password length using the -mpl optional command-line argument.
Example:
Results
The demo database is created, but not started. See Starting and Stopping the Demo Database [page 89]. It's
called iqdemo.db and resides in the %IQDIR16%/demo directory. See Finding Client Utilities and Files [page
76].
Prerequisites
1. From a console, change to the directory where you created the demo database.
$IQDIR16/demo
stop_iq
4. If multiple databases are running, type the number corresponding to the demo database. If only the demo
database is running, type Y to stop it.
Once you have created a production database on the SAP IQ server, you may choose to remove the demo
database. Removal is optional and has no performance impact on your production system if not removed.
In the $SYBASE\IQ-16_1/demo directory, delete all files beginning with iqdemo. Also delete the demodata
folder.
The utility server is a phantom database with no physical representation. It has no database file, and therefore
it cannot contain data.
For a new SAP IQ installation, to successfully log on to the SAP IQ Cockpit requires that at least one server
be running. Without access to the SAP IQ Cockpit, you cannot use the Create Database wizard to create your
initial server. The SAP IQ utility server can be used as the initial server.
The utility server has no default password. It uses a temporary password, which you define during startup. The
password is valid only for the duration the utility server is running. A new password must be defined each time
the utility server is started.
When logged in to the utility server in the SAP IQ Cockpit console, you can use the Create Database wizard to
your first database.
In this section:
The SAP IQ utility server must be running before you can create the initial SAP IQ server and should be stopped
immediately after creation is complete.
Prerequisites
Procedure
$SYBASE\IQ-16_1/bin64/cockpitutildb.sh
stop_iq
4. If multiple databases are running, type the number corresponding to the utility database. If only the utility
database is running, type Y to stop it.
These topics describe the installation and operating system settings used by SAP IQ.
Depending on the operating system, these settings may be stored as environment variables, initialization file
entries, or registry entries.
In this section:
When you install SAP IQ, several directories may be created. This section describes the directory structure.
The directories created depend on which options you choose during installation and which directories already
exist in your SAP IQ directory (the parent directory defined by ).
By default, SAP IQ software is installed in a unique subdirectory under the SAP IQ parent directory. This
subdirectory is called the installation directory. Other tools provided with SAP IQ have unique subdirectories
under the SAP IQ parent directory. This section describes only the subdirectory structure for SAP IQ.
By default, the SAP IQ installation directory is IQ-16_1. The location of IQ-16_1 varies, depending on where
you install SAP IQ. The IQ-16_1 directory is also referred to by the environment variable $IQDIR16.
Holds the tools required to build the iqdemo database. The iqdemo database files are iqdemo.db,
iqdemo.iq, iqdemo.iqmsg, and iqdemo.iqtmp. Use ./mkiqdemo.sh to create the iqdemo database.
The iqdemo database can be used to demonstrate problems to Technical Support.
Demo data subdirectory ($SYBASE/IQ-16_1/demo/adata)
Holds some scripts used in examples and when creating catalog objects like stored procedures. Do not edit
these scripts. If you edit, delete, or move these scripts, the server will not operate properly.
Samples directories ($SYBASE/IQ-16_1/samples)
The samples directory contains SQL samples and user-defined function (UDF) samples. The $SYBASE/
IQ-16_1/samples/sqlanywhere directory contains directories of SQL samples. The sqlanywhere/c
directory holds C++ examples that illustrate using ESQL (embedded SQL) and C with SAP SQL Anywhere.
Because SAP SQL Anywhere and SAP IQ share common code, you can modify these examples for use with
SAP IQ. The /samples/udf directory holds sample C++ scalar and aggregate UDFs.
Additional directories
Additional directories hold executables, libraries, help files, and so on. Subdirectories within IQ-16_1
containing these files include /bin64, /lib64, /logfiles, /res, and /tix.
Understanding how SAP IQ finds these files is important to ensure that you use the correct files. The types of
files include but are not limited to:
Libraries
These may include product libraries or system libraries. File name extensions include.so.nnn or .so.
These files are required to run SAP IQ.
If an incorrect DLL is found, a version mismatch error may occur. For example, library files might be found
in $IQDIR16/lib64 or $IQDIR16/OCS-16_0/lib3p64.
An empty directory, $IQDIR16/usrlib%IQDIR16%, lets you supersede default libraries with custom
libraries and patches, because start_iq includes usrlib before regular library directories. SAP IQ uses
both SAP Adaptive Server Enterprise and SAP SQL Anywhere libraries. If either of these products have
already been installed on your system, note the directory where they are installed to avoid confusion.
Interface files
Store the data and metadata. For example: iqdemo.db, iqdemo.iq, iqdemo.iqmsg, iqdemo.iqtmp.
Log files
Store information about the current session on the server and connected database. For example, a server
log might be named $SYBASE\IQ-16_1/logfiles/yourservername.0006.srvlog. The database log
(for example, $SYBASE\IQ-16_1/demo/iqdemo.log) is created when you connect to the database. For
more information about these files, see SAP IQ Administration: Database and SAP IQ Utility Reference.
Product scripts
Are sample files that show how to create, populate, and upgrade databases.
User files
Include flat files used with the LOAD command and SQL scripts used with tools such as Interactive SQL.
Temporary files
Created by to store temporary information for operations like performing sorts for queries.
Some file names are specified in SQL statements and must be located at runtime. Examples of SQL statements
that use file names include the following:
INSTALL statement
A file name is needed for this statement and similar statements that can create files.
In this section:
In many SQL statements such as LOAD TABLE or CREATE DATABASE, the file name is interpreted as relative to
the current working directory of the database server; that is, where the server was started.
Also, when a database server is started and a database file name (DBF parameter) is supplied, the path is
interpreted as relative to the directory in which the server was started.
SAP IQ programs, including the database server and administration utilities, carry out extensive searches for
required files, such as DLLs or shared libraries.
In these cases, SAP IQ programs look for files in the following order:
The directory in which the program executable is held. Also, directories with the following paths relative to
the program executable directory:
When a program is started, it has a current working directory (the directory from which it is started). This
directory is searched for required files.
Location registry entry
On a Windows installation, SAP IQ adds a LOCATION registry entry. The indicated directory is searched,
followed by the following:
This includes directories where common operating system files are held, such as the Windows directory
and the Windows\system directory on Windows.
For Java files, directories listed in the CLASSPATH environment variable are searched to locate files.
PATH directories
Directories in the system path and the user’s path are searched to locate files.
LIBRARY PATH directories
Directories listed in the LIBPATH environment variable are searched for shared libraries.
In this section:
On UNIX platforms, running environment source files sets the required environment variables. However, if you
must set optional variables or change defaults, use this procedure.
Procedure
echo $<variable-name>
For example, to see the setting for the $SYBASE variable, type:
echo $SYBASE
Which returns:
2. In one of your startup files (.cshrc, .shrc, or .login), add a line that sets the variable.
In some shells (such as sh, bash, ksh) the line is:
<VARIABLE>=<value>;export <VARIABLE>
Context
See Environment Variables [page 95] for information on modifying environment variables.
Procedure
source ./IQ-16_1.csh
source ./IQ-16_1.sh
This variable specifies the location of the Java Runtime Environment used by SAP IQ Cockpit.
If not set, SAP IQ Cockpit startup checks for the location of the Java VM in the SAP_JRE8 environment
variables.
Settings
COCKPIT_JAVA_HOME = $SYBASE/shared/SAPJRE<version>
Operating System
Required.
<Charset> is a character set name. For example, setting IQCHARSET=cp1252 sets the default character set to
cp1252.
The first of the following values set determines the default character set.
Setting
IQCHARSET=<charset>
IQDIR16 identifies the location of the SAP IQ directory and is the location for other directories and files under
that directory.
• $SYBASE/IQ-16_1/logfiles is the default location for the server log and backup and restore log (the
backup history file). You can override this default by setting the IQLOGDIR16 environment variable.
Setting
IQDIR16 = $SYBASE/IQ-16_1
Operating System
Required. Set by the environment source file or the installation program. This default setting can be changed
on Windows.
<Language_code> is the two-letter combination representing a language. For example, setting IQLANG=ZH
sets the default language to Chinese.
The first of the following values set determines the default language.
Setting
IQLANG=<language_code>
Operating System
In this section:
Valid language label values and their equivalent ISO 639 language codes. Set the two-letter ISO_639 language
code in the IQ_LANG environment variable.
The IQLOGDIR16 environment variable defines the location of various log files. IQLOGDIR16 is not set by the
installation program.
• The server log is in the file servername.nnnn.srvlog (where nnnn is the number of times the server has
been started) in the directory specified by IQLOGDIR16.
If IQLOGDIR16 is not set to a valid, write-enabled directory, then most utilities, including start_iq, use the
default location $IQDIR16/logfiles for all server logs.
Setting
IQLOGDIR16 = <path>
Optional.
The IQTMP16 environment variable is not set by the installation program. IQTMP16 is used by SAP IQ to
indicate a directory where temporary files are kept.
The IQTMP16 environment variable should point to a local directory for those using NFS (network file system),
which permits the IQTMP16 directory to purge directories and files that are no longer needed as client
connections are closed. Each client connection creates several directories and files in a temporary directory.
These are needed only for the duration of the connection. The directory must have write permissions for all
users who connect to the server.
Note
The temporary files whose location is defined by IQTMP16 are files used by the client and server.
This variable does not control the default location of your IQ temporary store. The CREATE DATABASE
statement controls the default location of your IQ temporary store.
Caution
If you do not explicitly set IQTMP16, IQTMP16 is set to a subdirectory in the tmp directory.
If more than one database server is running on a machine, each server and associated local client needs
a separate temporary directory to avoid conflicts. When you do not specify a port or engine number for
connection, SAP IQ uses shared memory connectivity instead of network connectivity.
• Create a temporary directory dedicated to each server. Make sure that each local client uses the
same temporary directory as its server by setting the IQTMP16 environment variable explicitly in both
environments.
• Create a data source name in the .odbc.ini file (on UNIX) for each server and provide detailed
connection information.
• Use connection strings that specify explicit parameters instead of relying on defaults.
• Confirm connections by issuing:
Setting
IQTMP16 = <temp_directory>
Used if the location of the Java VM is not set in the SAP_JRE8 environment variables.
On UNIX, run the SYBASE.csh (C shell) or SYBASE.sh (Bourne or Korn shell) environment source file
to find and start the correct JRE for the SAP IQ engine. The Java VM location specified in JAVA_HOME
takes precedence over the location returned by SYBASE.csh or SYBASE.sh. If neither JAVA_HOME nor the
SYBASE.csh or SYBASE.sh scripts locate the Java VM, SAP IQ will not load a Java VM.
Settings
JAVA_HOME = $SYBASE/shared/JRE<version>
Operating System
LIBPATH or LD_LIBRARY_PATH specifies the directories where SAP IQ shared libraries are located.
Set the library path variable by running the environment source file.
Settings
LD_LIBRARY_PATH = <installation_path/lib>
PATH is an operating system required variable that includes the directories where SAP IQ executables are
located.
Setting
PATH = <installation_path>
Operating System
SQLCONNECT specifies connection parameters that are used by several of the database administration utilities,
such as Interactive SQL, dbinfo, and dbstop, when connecting to a database server.
The SQLCONNECT environment variable is optional, and is not set by the installation program.
This string is a list of parameter settings, of the form parameter=<value>, delimited by semicolons.
This string is a list of parameter settings, of the form parameter=<value>, delimited by semicolons.
If using parameter=<value> syntax, enclose the environment variable value in quotation marks, to stop the
shell from interpreting the semicolon character as a command delimiter:
SQLCONNECT="param1=<value1>;param2=<value2>"
Note
Specifying connection parameters in SQLCONNECT rather than on the command line offers greater security
on UNIX systems. It prevents users from being able to display your password with ps -ef. This is
especially useful if you run Interactive SQL or other utilities in quiet mode. Note that specifying connection
parameters in SQLCONNECT rather than on the command line is more secure, but is not entirely secure.
Because the password is in plain text, it is possible for hostile action to extract it from the environment
Settings
Operating System
Optional.
SYBASE identifies the location of SAP database applications, such as SAP Open Server.
You must set the SYBASE variable before you can perform many tasks on the SAP IQ server or client.
Setting
SYBASE = <path>
Operating System
This variable specifies the location of the Java Runtime Environment used by SAP IQ Cockpit.
On startup, SAP IQ Cockpit checks COCKPIT_JAVA_HOME for Java version definition. If COCKPIT_JAVA_HOME
is undefined, SAP IQ Cockpit checks for installed JREs in this order:
• SAP_JRE8_64
SAP IQ Cockpit then sets COCKPIT_JAVA_HOME to the first value it finds in this list.
Setting
On UNIX, the JRE environment variable is automatically set by sourcing the IQ.sh (Bourne/Korn shell) or
IQ.csh (C shell) file.
COCKPIT_JAVA_HOME=$SYBASE/shared/SAPJRE-8_(minor_version)_64BIT
or:
COCKPIT_JAVA_HOME=$SYBASE/shared/SAPJRE-8_(minor_version)_32BIT
All product editions except the Evaluation Edition require a license. Optional features are sold and licensed
separately.
Whether you install a licensed or evaluation edition, you have 30-day access to all features and options. To
use an option beyond the 90-day evaluation period, you must purchase and apply an appropriate served or
unserved license.
Using an unlicensed option on a licensed server can throw the server into grace mode, which can cause the
server to shut down when the grace period expires. The DBA or other equivalent user must explicitly authorize
access to an optionally licensed feature. A server will not attempt to check out an optional license by default.
Unless the DBA grants access to an option, the option will not be available.
In this section:
Your license controls the optional components licensed on an SAP IQ server. After applying the license, use the
sp_iqlmconfig to allow or disallow the feature.
To verify your licensed components, connect to the server, start Interactive SQL (dbisql), and run
sp_iqlmconfig without parameters to return a set of properties and values that indicate the state of your
licenses:
Property Value
-----------------------------------------------------
Edition EE
License Type DT
Application Type IQ
IQ_CORE License Count in use 2 (CPU core based)
Optional license in use : IQ_UDA No
Optional license in use : IQ_LOB No
Optional license in use: IQ_SECURITY No
Optional license in use: IQ_MPXNODE No
Optional license in use: IQ_VLDBMGMT No
IQ_VLDBMGMT License Count in use 0
Optional license in use: IQ_UDF No
Optional license in use: IQ_IDA No
Optional license in use: IQ_URIDA No
Optional license in use: IQ_TS_FSF No
Email Severity NONE
SMTP Host smtp
SMTP Port 25
Email Sender
Email Recipients
Run sp_iqlmconfig with the allow or disallow parameter to enable or disable an optional license. The ALL
keyword enables or disables all optional licenses, except IQ_VLDBMGT:
Use the IQ_VLDBMGT and <quantity> parameters to change the number of available IQ_VLDBMGT licenses:
See the sp_iqlmconfig stored procedure in SAP IQ SQL Reference for information about authorizing optional
features and other issues related to license management configuration.
All license server status and error messages are written to the SYBASE.log in the log directory. To diagnose
issues with a license server, check the $SYBASE/SYSAM-2_0/log/SYBASE.log file. You can use iqdemo.db
to perform this task.
A line that begins with “Checked out license...” indicates a successful license configuration. If you see a
Sysam: FLEXnet Licensing error: message, check with your SAP representative to resolve the issue.
See Managing the License Server Debug Log and Troubleshooting SySAM Errors in the SySAM Users Guide.
You can update an SAP IQ server from an evaluation license to an unserved license.
Context
If an unserved license is not applied before the evaluation period ends, the server shuts down and cannot be
started until a valid license is applied. If an unserved license is incorrectly applied during the evaluation period,
the server continues to function in evaluation mode. After application, always verify the unserved license is
being used.
Procedure
Related Information
You can update an SAP IQ server from an evaluation license to a served license.
Prerequisites
If a served license is not applied before the evaluation period ends, the server shuts down and cannot be
started until a valid license is applied. If a served license is incorrectly applied during the evaluation period,
the server continues to function in evaluation mode. After application, always verify the served license is being
used.
Procedure
If the server is not using the served licenses, make sure the served license is applied to the SySAM license
server. See Apply or Update Licenses on the SySAM License Server [page 51].
Related Information
Use the start_iq startup utility to start your server. start_iq is a command line utility that runs on all
platforms and ensures that all required parameters are set correctly.
To use start_iq to start a server or database, change to a directory where you have write privileges, and use
this command format:
• <server-options> – include the database server name and other options that control the behavior of
the server, for all databases that are running on that server
• <database-file > – is the file name of the catalog store. You can omit this option, or enter one or more
database file names on the command line.
Each database is loaded and available for applications. If the starting directory contains the database file,
you do not need to specify the path; otherwise, you must specify the path. You do not need to specify
the .db file extension.
• <database-options> – control certain aspects of each database file you start.
start_iq uses a default configuration file ($IQDIR16) to set the default start-up parameters.
–ti 4400 Client timeout set to 72 hours. Prevents users with long queries from being logged off
over a long weekend.
To override the default start-up parameters, store your options in a configuration file. To start a server with a
configuration file:
This command starts the database and sets parameters named in the (optional) configuration (.cfg) file.
On the start_iq command line, the last option you specify takes precedence, so to override your
configuration file, list any options you want to change after the configuration file name. For example:
A configuration file for the demo database (iqdemo.cfg) is located in the $IQDIR16/demo directory as an
example.
The directory where the server is started becomes the default directory for all server files created by SAP IQ.
If you run the start_iq utility from $IQDIR16/bin64, the script changes the directory to “./..” to avoid
creating database files in the /bin directory.
The <nnnn> variable in the file name indicates the number of times the server has been started. For example,
localhost.0004.srvlog localhost_iqdemo.0006.srvlog.
Note
If SAP SQL Anywhere is installed on the same subnet as SAP IQ, the server must have a unique name. Both
SAP SQL Anywhere and SAP IQ servers default to the port 2638.
Use a new port number for each server. Set each new port number in the $IQDIR16/scripts/
default.cfg file. Change the following line in each IQ database configuration file (for example,
$IQDIR16/demo/iqdemo.cfg) to update the port number:
–x tcpip{port=2638}
SERVER OPERATOR system privilege is the default permission level required to stop a server, but you can use
the -gk startup option to change the default to ALL or NONE. Setting the permission level to ALL lets all users
stop the server; setting the permission level to NONE means that no one can stop the server. In a production
environment, only the Server Operator should be allowed to stop the database server.
Do not shut down a server while it is still connected to one or more clients. If you try this, you get a warning that
any uncommitted transactions will be lost. Disconnect or close all the clients and try again.
Command Description
stop_iq Shuts down a server completely without regard for users, connections or load process status.
The syntax is:
stop_iq [ <options> ]
Where:
• <options> – additional options let you stop a server, even if there are active connec-
tions.
• <server-name> – specify <server-name>, as well as any connection parameters you
specified when you started the server.
STOP ENGINE STOP ENGINE is a SQL statement that stops a database server. The syntax is as follows,
where UNCONDITIONALLY stops a database server, even if there are client connections to
the server:
Method Action
Interactive SQL Run the stop engine command to stop a named database server.
To use stop_iq in a cron or at job, specify the full path name to the stop_iq executable and the appropriate
–stop option:
Setting –stop one shuts down a single server, when exactly one running server was started by the user ID that
starts the cron or at job. This prevents accidentally shutting down the wrong server if several are running.
Setting –stop all shuts down all servers that were started by the user ID that starts the cron or at job.
Additional Information
SAP IQ Cockpit is a Web-based tool for managing and monitoring SAP IQ servers. The SAP IQ Cockpit agent
must be running to log on to the SAP IQ Cockpit. Run the cockpit command to start SAP IQ Cockpit agent.
Context
cockpit.sh
Results
Messages on the progress of the launch appear in a command window. When SAP IQ Cockpit runs, the
command window becomes the SAP IQ Cockpit console; you can issue commands to get status information
for SAP IQ Cockpit and its ports, plug-ins, and services.
Stop the SAP IQ Cockpit agent. Once stopped, you can no longer use the SAP IQ Cockpit.
Context
cockpit.sh -stop
If the console containing the cockpit prompt has been closed, from a new console, type:
$SYBASE/COCKPIT-4/bin/cockpit.sh -stop
10.9 Configuration
This section outlines basic configuration concepts and procedures of an SAP IQ server.
In this section:
To start a server or database with a configuration file, change to a directory where you have write privileges,
and use the following command format:
If a startup parameter is passed from the command line and the same parameter exists in the .cfg file, the
value in the command line overrides the value in .cfg file.
Configuration files can contain line breaks, and can include any set of options, including the @data option. Use
a number sign (#) to designate lines as comments. An ampersand (&) character that appears by itself at the
end of a line indicates that the previous token is continued on the next line. See the SAP IQ Utility Reference for
a complete list of startup parameters.
When you start a server and do not include any command line parameters or specify a configuration file,
SAP IQ retrieves the start-up parameters from a default configuration file, default.cfg, in the $IQDIR16/
scripts directory. The default.cfg file is also the source of parameters for the Service Manager and
multiplex configurations. You can maintain consistency by editing parameters in default.cfg.
To increase the amount of virtual memory, change the parameters in default.cfg. To reduce the virtual
memory that other programs use, add swap space to machines or reduce SAP IQ memory demands (cache
sizes, thread count, stack size, etc.).
You can use the dbfhide (File Hiding) utility to encrypt your configuration files. If you specify log file
parameters (-o <logfile>) in encrypted files, the log is not available to the start_iq utility. You may want
to add parameters that do not require encryption on the command line or in a separate configuration file. For
example:
or
Before you deploy your server in a production environment, remove the sample client applications.
The SAP IQ Server Suite installation may include directories that contain sample client applications, which
are included for training purposes only. Remove these sample directories before you deploy your server in a
production environment:
• $IQDIR16/samples
• $IQDIR16/sdk
Interactive SQL is a utility that ships with SAP IQ and lets you execute SQL statements, build scripts, and
display database data. It is a component of the SAP IQ client software.
Prerequisites
The Interactive SQL component is installed. See Installing SAP IQ Client Software [page 68].
Context
To use Interactive SQL to connect to a database, it must be running. Enter the connection parameters to
the database. Interactive SQL does not accept @filename parameters. Exit codes are 0 (success) or nonzero
(failure).
If the options specified do not include user ID and password, the Connect window opens, allowing you to enter
the required information.
Procedure
2. On the Connect dialog, enter the parameters for the database and click Connect.
See the SAP IQ Interactive SQL Guide for more information on using Interactive SQL.
Related Information
Procedure
Results
Locate the name of the server in the resulting list. If the server is listed, it is running.
After you license an SAP IQ sever, verify that the license was accepted.
Prerequisites
The license file is checked when you start the SAP IQ server. Ensure the server has been restarted at least once
since the license was applied.
1. On the SAP IQ server, navigate to the data directory for the server. For example, for the initial database,
navigate to
$SYBASE\IQ-16_1/demo
Results
If the server is successfully licensed, using either a served or unserved license, the message Using licenses
from:... appears.
If the server is using an evaluation license, the message Checked out graced license... appears.
If a valid license cannot be found, the message Cannot find license file. appears. Verify:
Now that you have completed the installation and postinstallation tasks, you are ready to create your
production database.
Prerequisites
• The initial database is running. See Starting and Stopping the Demo Database [page 89].
Note
Alternately, you can start the utility database (utility.db) instead of the initial database.
Procedure
1. Review the guide. It provides the general flow of post-installation tasks you perform to get started with SAP
IQ.
2. Create your simplex or multiplex production database using either Interactive SQL or SAP IQ Cockpit.
3. Create users or implement LDAP.
4. Create groups and assign privileges and users.
5. • Create the production database
• Create tables in your database
• Create indexes for your tables
• Load data into your tables
6. Review the <database>.cfg configuration file and adjust as needed.
7. Tune your database for optimal performance.
If you don't find your issue in the troubleshooting topics, see SAP Note 2551563 for a list of known issues.
In this section:
Do Not Install SAP IQ into the Same Directory as Other Products [page 123]
Do not install SAP IQ 16.1 into the same directory as other SAP IQ products.
Installing New System Tables Requires ALTER DATABASE UPGRADE PROCEDURE ON [page 127]
To install new system tables, you must run ALTER DATABASE UPGRADE PROCEDURE ON on existing
databases after installing SAP IQ 16.1.
Solution
The installer also writes individual logs for components included as part of the install to the $SYBASE directory.
Check the other troubleshooting topics in this section for topics matching the issues reported in the install log.
In this section:
Installer Returns Error "No Filesystem Could Mount Root" on Red Hat [page 120]
The installer returns a "No filesystem could mount root" error when you attempt to install on IBM P6
and P7 machines.
The installer returns a "No filesystem could mount root" error when you attempt to install on IBM P6 and P7
machines.
Solution
Follow the steps on http://www.ibm.com/developerworks/forums/thread.jspa?threadID=357314 and re-
install.
The installer returns an error when the installation media has been automatically mounted.
Solution
[CR #684311 and #686818] When installing in GUI mode, the installer generates an exception and fails.
This occurs when you start the SAP IQ installer in GUI mode without first installing the 32-bit compatibility
libraries.
Solution
Red Hat Enterprise Linux 6 requires these 32-bit compatibility libraries to support Java-based applications in
SAP IQ, including the SAP IQ installer:
• libXext-devel.i686
• libXtst-devel.i686
In this section:
[CR #771401] The installer returns the error: gzip: "Not Found".
The message displays because the installer cannot find the path to the gzip file.
You must install gzip and reference it in the path for the installer. The installer expects to find gzip in
the /usr/bin directory.
On some machines, gzip is located in the /usr/contrib/bin/ directory. If this is the case, update the path
and run the installer.
[CR #665300] A network resource causes the installer to stop responding and returns a syntax error. The df
command also stops responding.
The error message is: syntax error near unexpected token 'fi'.
Solution
1. Identify the network file system (NFS) mounts that may have problems:
umount -l <path>
3. Repeat the above steps until there are no more NFS mounts that have stopped responding.
Note
The umount command requires root permission. If umount unmounts the NFS, you may have to restart
your machine.
12.3 Licensing
You run the installer, but the installer does not prompt for any license file information.
This occurs when you launch the installer using a relative path.
To resolve this issue, launch the installer from the directory where it is located, or launch the installer using an
absolute path.
Do not install SAP IQ 16.1 into the same directory as other SAP IQ products.
Installing SAP IQ 16.1 into the same directory with older SAP products may render some or all of these products
unusable.
Related Information
Status: ERROR
Solution
When executing a utility, the SAP IQ server returns an error stating <variable_name> is not found in the
environment.
This error message appears when you have not sourced the environment variables.
Solution
Change to the SAP IQ parent installation directory and execute one of the following:
[CR #690606] On Red Hat 6.x, the default setting for "max user processes" is too low to start SAP IQ.
Red Hat 6.x introduced a change that affects the number of threads that the SAP IQ engine can start. By
default, Red Hat 5.x set the limit dynamically based on the machine configuration (for example, an 8-core
system would set the limit at 256693). In Red Hat 6.x, this limit is hard-coded to 1024 regardless of system
size. This change particularly affects systems with high CPU per core counts and systems where the same user
account starts multiple SAP IQ servers.
Solution 1
1. Calculate the number of threads needed. For each server started by any single user, use the following
formula to calculate the number of threads SAP IQ allocates:
• For an 8-core system with 100 users, the <numThreads> is 543 threads per server.
• For a 64-core system with 100 users, the <numThreads> is 3343 threads per server.
The formula also works for systems with fewer CPUs, for example, on 2-core systems.
2. To set hard and soft limits, add the following lines to /etc/security/limits.conf:
You can increase the soft limit, but the hard limit is the threshold for the value unless raised by a privileged
user limit. To set limits for all users instead of the sybase user, replace sybase with *, for example:
3. Set the process number limit in the shell script of the user who starts servers. For example, for the tcsh or
C (csh) shell:
ulimit –u 7712
Solution 2
1. Return to Red Hat 5.x behavior by commenting out the following line in the file /etc/security/
limits.d/90-nproc.conf:
For detailed information about upgrading SAP IQ, see Upgrade to SAP IQ 16.1 SP 05 [page 130].
[CR #750748] The SYBASE variable identifies the location of the common parent directory shared by SAP
applications like SAP ASE and SAP Open Client.
Failure to shut down all products that use $SYBASE may generate signal 11 (SIGSEGV) errors when you
upgrade SAP IQ.
Solution
Shut down all SAP applications, restart the SAP IQ server, and retry the upgrade.
[CR #702052] On multiplex, drop all logical servers named AUTO, COORDINATOR, ALL or DEFAULT.
If you do not drop these objects and try to run an ALTER DATABASE UPGRADE in SAP IQ 16.1, the upgrade fails
and the server returns a message that indicates that a database upgrade is not possible when these objects are
in use.
Recovery Information
To recover from a failed upgrade, shut down the 16.1 server, open the database with SAP IQ 15.x, and drop all LD
and all JOIN indexes as well as any named logical servers before proceeding with the migration.
Issues with certain block numbers may cause corruption in upgraded databases. For more information, see
SAP Note 2034975 .
Issues you should know when you install SAP IQ with other SAP products.
[CR #736702] InstallAnywhere uses a temporary registry file (.com.zerog.registry.xml) to track software
installations. InstallAnywhere normally deletes this file, but in some cases, the registry may become corrupt
and cause the installer or uninstaller to hang.
Solution
If this occurs, force quit InstallAnywhere, rename .com.zerog.registry.xml, and re-run the installation or
uninstallation.
Error Message for SySAM When Installing SAP IQ on Replication Agent 15.2
[CR #688694] Installing SAP IQ 15.4 and higher versions after Replication Agent 15.2, creates errors in
$SYBASE/log/sysam_server.log and $SYBASE/log/sysam_util.log.
Solution
Before you install SAP IQ, change the license file permissions in the $SYBASE/SYSAM-2_0/bin directory.
To install new system tables, you must run ALTER DATABASE UPGRADE PROCEDURE ON on existing
databases after installing SAP IQ 16.1.
In this section:
To uninstall SAP IQ, run the uninstaller from a console or terminal. Instructions apply to IQ server and client
software installed on the same host.
Prerequisites
Context
The uninstall process removes features installed by InstallAnywhere, using any mode. It does not remove files
and folders created after the installation. These files and folders must be manually removed.
Procedure
$SYBASE/sybuninstall/IQSuite
Procedure
$SYBASE/sybuninstall/IQSuite
Context
An unattended uninstall can only be run from the command line. The silent uninstaller displays
no status messages. User files are not deleted by default. To delete user files, include the
-DUNINSTALL_DELETE_DATA_FILES=true flag to the uninstall command.
Procedure
$SYBASE/sybuninstall/IQSuite
This support package includes updates to features currently installed on your system.
SAP IQ 16.1 SP 05 is a complete installation package. A previous release of the software is not a prerequisite for
this support package. See the cover letter included as part of this release for a list of enhancements. The cover
letter is found in the server folder on the installation media.
Note
SAP IQ 16.1 SP 01 increased the minimum password length from three to six characters. After performing
a database upgrade, existing passwords from a pre-SAP IQ 16.1 SP 01 database continue to work, even if
they do not meet the new minimum password length. The new minimum password length is enforced when
modifying existing or creating new passwords. Users are strongly encouraged to change nonconforming
passwords to benefit from this security change.
In this section:
Your upgrade path to SAP IQ 16.1 SP 05 depends on your current version of SAP IQ.
In this section:
In this section:
If you are using SySAM license server, and are updating from SAP IQ 16.0 SP 10 or earlier, you must upgrade
your SySAM license server to at least version 2.4 before updating SAP IQ.
Context
SAP IQ 16.1 SP 05 requires SySAM license server 2.4. Use of an older license server with SAP IQ may result in
startup failure, with the error: FlexNet Licensing error:-5,414.
To verify the current version of your SySAM license server, perform the following.
Procedure
./sysam version
Results
The output indicates the versions of the SySAM License Server and FlexNet Licensing. If the SySAM License
Server version is older than 2.4, you must upgrade the SySAM License Server before upgrading to SAP IQ 16.1
SP 05. The SySAM License server requires FlexNet Licensing version 11.14.0.0. Upgrading the SySAM License
server also upgrades the FlexNet Licensing version to the required minimum version. See SySAM Users Guide
for details on updating.
SAP IQ installation and update packages are available on the SAP Software Download Center.
Context
To access the SAP IQ installation files, go to the SAP Software Download Center and select Software
Downloads.
1. Select SUPPORT PACKAGES & PATCHES By Alphabetical Index (A-Z) I SYBASE IQ SYBASE
IQ 16.1
2. Choose the component to download.
Tip
Next Steps
Uncompress the download image on the same machine where you plan to install SAP IQ. Do not copy an
uncompressed installation archive to a secondary machine to perform the installation.
Each archive contains a single folder with the installation files. Rename these folders to make them easier to
identify. For example, rename the folder with SAP IQ server installation files to server.
Once unpacked and renamed, verify that the SAP IQ account has full privileges (read, write, execute) to
all archive folders. Modify privileges as needed. Missing privileges on any of the folders may result in an
incomplete installation.
Some steps differ for simplex and multiplex servers. See the cover letter for release-specific instructions.
Procedure
1. Back up your current installation, and save copies of any changes you made to default login and post-login
scripts. Make sure the backups are readable.
2. Check with your operating system vendor for information about the latest operating system patches.
Use the recommended operating system patch. Do not use a patch that is earlier than the version
suggested for your operating system.
3. In Interactive SQL, run sp_iqcheckoptions on each database, and capture the output.
Option Description
Procedure
1. Use the appropriate utility to extract the support package to a directory on the file system.
2. Install the support package. Do not install to the same directory as other SAP Products. On multiplex
servers, install the support package on each node separately.
3. Change to the SAP IQ parent installation directory and execute one of the following:
• For the tcsh or C (csh) shell, enter:
source ./IQ.csh
source ./IQ.sh
./start_iq -v2
The results should match the version string in the cover letter.
6. Restart the server or multiplex.
Context
Note
SAP IQ 16.1 SP 01 increased the minimum password length from three to six characters. After performing
a database upgrade, existing passwords from a pre-SAP IQ 16.1 SP 01 database continue to work, even if
they do not meet the new minimum password length. The new minimum password length is enforced when
modifying existing or creating new passwords. Users are strongly encouraged to change nonconforming
passwords to benefit from this security change.
Procedure
Option Description
SAP IQ server In the configuration file, set the -iqro 1 startup flags, then start the SAP IQ server.
Multiplex In the configuration file, set the -iqmpx_sn 1 and -iqro 1 startup flags, then start the coordina-
tor on the SAP IQ multiplex.
ALTER DATABASE UPGRADE PROCEDURE ON instantiates all binaries and schema changes. To roll back to
a previous version, you must restore from backup.
4. Run sp_iqcheckdb ('allocation database') to verify that there are no errors.
5. Do one of the following:
Option Description
SAP IQ server Shut down and restart the server normally (without the -iqro 1 startup flags).
Multiplex Shut down and restart the coordinator normally (without the -iqmpx_sn 1 and -iqro 1 startup
flags). Synchronize and restart all multiplex secondary servers.
In this section:
Migrating a database from SAP IQ 16.0 SP 08 or later to SAP IQ 16.1 SP 05 automatically disables point-in-
time recovery. To re-enable point-in-time recovery, complete all steps in this procedure, including a FULL,
INCREMENTAL, or INCREMENTAL SINCE FULL backup.
Procedure
2. Identify the directory where you want to open the new point-in-time recovery logs:
The <new-directory-specification> must point to an existing directory, and a different location than
the existing logs. For multiplex servers, this directory must reside on a shared file system and be writable
by all multiplex nodes. ALTER DBSPACE assumes that any string terminated by a slash (Windows) or
backslash (UNIX) in the <new-directory-specification> is a directory name. A terminating string
without a slash or backslash is prefixed to the log name.
3. Perform a full data backup:
SAP IQ 16.1 SP 03 introduces the feature zone maps to potentially improve query performance.
To take advantage of this feature after upgrading to SAP IQ 16.1 SP 05 requires you to rebuild some FP indexes.
In this section:
In this section:
If you are using SySAM license server, and are updating from SAP IQ 16.0 SP 10 or earlier, you must upgrade
your SySAM license server to at least version 2.4 before updating SAP IQ.
Context
SAP IQ 16.1 SP 05 requires SySAM license server 2.4. Use of an older license server with SAP IQ may result in
startup failure, with the error: FlexNet Licensing error:-5,414.
To verify the current version of your SySAM license server, perform the following.
Procedure
./sysam version
Results
The output indicates the versions of the SySAM License Server and FlexNet Licensing. If the SySAM License
Server version is older than 2.4, you must upgrade the SySAM License Server before upgrading to SAP IQ 16.1
SP 05. The SySAM License server requires FlexNet Licensing version 11.14.0.0. Upgrading the SySAM License
server also upgrades the FlexNet Licensing version to the required minimum version. See SySAM Users Guide
for details on updating.
SAP IQ installation and update packages are available on the SAP Software Download Center.
Context
To access the SAP IQ installation files, go to the SAP Software Download Center and select Software
Downloads.
1. Select SUPPORT PACKAGES & PATCHES By Alphabetical Index (A-Z) I SYBASE IQ SYBASE
IQ 16.1
2. Choose the component to download.
Tip
Next Steps
Uncompress the download image on the same machine where you plan to install SAP IQ. Do not copy an
uncompressed installation archive to a secondary machine to perform the installation.
Each archive contains a single folder with the installation files. Rename these folders to make them easier to
identify. For example, rename the folder with SAP IQ server installation files to server.
Once unpacked and renamed, verify that the SAP IQ account has full privileges (read, write, execute) to
all archive folders. Modify privileges as needed. Missing privileges on any of the folders may result in an
incomplete installation.
This support package includes changes to the system tables and database schema. Objects no longer
supported by SAP IQ 16.1 must be removed or modified before a database upgrade.
Prerequisites
In SAP IQ 16.1, continuous NBit dictionary compression replaces FP(1), FP(2), and FP(3) byte dictionary
compression. Flat FP indexes require more storage space than in earlier releases due to different architecture.
Plan for increased storage space requirements.
1. Use the DISCONNECT statement to disconnect all users from the 15.x server.
2. Drop all JOIN and all LD indexes from the 15.x database.
3. Update DATE columns that contain a time portion.
There is a known issue that affects any partition defined on a DATE column that contains a time portion:
• Use ALTER TABLE MERGE to combine the partition with the next partition.
• Use ALTER TABLE SPLIT to divide the resulting partition into a definition with the same criteria, but
no time portion.
4. Drop and re-create all SAP IQ 15.2 TEXT indexes that have not already been dropped and re-created as part
of a version 15.2 ESD upgrade.
TEXT indexes created in SAP IQ 15.2 are incompatible with later versions of SAP IQ.
5. Shut down the SAP IQ 15.x server or multiplex.
If the server stops responding during shutdown, do not proceed to the next step. Restart the database and
shut it down again. Proceed to the next task only on a clean shutdown.
Some steps differ for simplex and multiplex servers. See the cover letter for release-specific instructions.
Procedure
1. Download the support package from the SAP Software Download Center .
2. Back up your current installation, and save copies of any changes you made to default login and post-login
scripts. Make sure the backups are readable.
3. Check with your operating system vendor for information about the latest operating system patches.
Use the recommended operating system patch. Do not use a patch that is earlier than the version
suggested for your operating system.
4. In Interactive SQL, run sp_iqcheckoptions on each database, and capture the output.
sp_iqcheckoptions generates a list of current database values and options. Use these values to restore
your database settings after you upgrade.
5. Validate your license against each database to ensure that your license maintenance support is in (or near)
compliance.
A server without a maintenance contract for more than a year will not run. Validating your licenses ensures
that your database functions correctly after you install the SP. See the SySAM Users Guide for validation
procedures.
6. Uninstall SAP IQ.
Procedure
1. Use the appropriate utility to extract the support package to a directory on the file system.
2. Install the support package. Do not install to the same directory as other SAP Products. On multiplex
servers, install the support package on each node separately.
3. Change to the SAP IQ parent installation directory and execute one of the following:
• For the tcsh or C (csh) shell, enter:
source ./IQ.csh
source ./IQ.sh
./start_iq -v2
The results should match the version string in the cover letter.
6. Restart the server or multiplex.
Context
Note
SAP IQ 16.1 SP 01 increased the minimum password length from three to six characters. After performing
a database upgrade, existing passwords from a pre- SAP IQ 16.1 SP 01 database continue to work, even if
they do not meet the new minimum password length. The new minimum password length is enforced when
modifying existing or creating new passwords. Users are strongly encouraged to change nonconforming
passwords to benefit from this security change.
Option Description
SAP IQ server In the configuration file, set the -gm 1 and -iqro 1 startup flags, then start the SAP IQ server.
Multiplex In the configuration file, set the -iqmpx_sn 1, -gm 1, and -iqro 1 startup flags, then start the
coordinator on the SAP IQ multiplex.
ALTER DATABASE UPGRADE PROCEDURE ON instantiates all binaries and schema changes. To roll back to
a previous version, you must restore from backup.
5. Run sp_iqcheckdb ('allocation database') to verify that there are no errors.
6. Do one of the following:
Option Description
SAP IQ server Shut down and restart the server normally (without the -gm 1 and -iqro 1 startup flags).
Multiplex Shut down and restart the coordinator normally (without the -iqmpx_sn 1, -gm 1, and -iqro 1
startup flags). Synchronize and restart all multiplex secondary servers.
In this section:
SAP IQ 16.1 SP 03 introduces the feature zone maps to potentially improve query performance.
To take advantage of this feature after upgrading to SAP IQ 16.1 SP 05 requires you to rebuild some FP indexes.
For details, see "Zone Maps" in the SAP IQ Performance and Tuning Guide.
SAP IQ 16.1 databases upgraded from 15.x are initially set to run in 15.x compatibility mode. You must explicitly
change several compatibility settings to complete the upgrade to 16.1.
Indexes
• Continuous NBit dictionary compression replaces FP(1), FP(2), and FP(3) byte dictionary compression.
FP(1), FP(2), and FP(3) indexes roll over to NBit(8), NBit(16), and NBit(24), respectively. All data types
except LOB (both character and binary) and BIT data types may be NBit columns.
If FP_NBIT_IQ15_COMPATIBILITY is OFF, IQ UNIQUE determines whether the column loads as Flat FP or
NBit.
• New tiered HG index structure decouples load performance from HG index size. In 15.x, load throughput
could degrade as the amount of data in an HG index increased. As the index grew, loading the same
amount of data could take more time. The new tiered structure decouples load performance from the HG
index size to increase throughput.
The CREATE_HG_WITH_EXACT_DISTINCTS option determines whether newly created HG indexes are
tiered or non-tiered. If this option is ON, all new HG indexes are non-tiered. To take advantage of the new
structure, set this option to OFF. Use sp_iqrebuildindex to convert non-tiered HG indexes to tiered HG,
and vice versa.
Column Constraints
In SAP IQ 16.1, IQ UNIQUE explicitly defines the expected cardinality of a column and determines whether the
column loads as Flat FP or NBit. Columns retain their IQ UNIQUE value during a 15.x to 16.1 database upgrade.
Setting IQ UNIQUE to 0 loads the column as Flat FP. Columns without an IQ UNIQUE constraint or columns
with an IQ UNIQUE <n> value that is less than the limit defined by the FP_NBIT_AUTOSIZE_LIMIT option is not
necessary. Auto-size functionality automatically sizes all low or medium cardinality columns as NBit. Use IQ
UNIQUE in cases if you want to load the column as Flat FP or if you want to load as NBit and the number of
distinct values exceeds the auto-size limits.
Option Description
FP_NBIT_IQ15_COMPATIB Provides tokenized FP support similar to that available in 15.x. This option is ON by de-
ILITY fault in all 16.1 databases upgraded from 15.x and OFF in all newly created 16.1 databases.
CREATE_HG_WITH_EXACT_ Determines whether new HG indexes explicitly created with a CREATE INDEX com-
DISTINCTS mand, or implicitly creating or altering a table with a PRIMARY KEY or a FOREIGN KEY
declaration, are tiered or non-tiered. This option is ON in 16.1 databases upgraded from
15.x and all newly created 16.1 databases. If this option is ON, all new HG indexes are
non-tiered. To take advantage of the new tiered HG index structure, set this option to
OFF.
CREATE_HG_AND_FORCE_P Governs 16.1 delete behavior for tiered HG indexes. This option determines whether SAP
HYSICAL_DELETE IQ performs a physical delete immediately or defers the delete to a point later in the load.
REVERT_TO_V15_OPTIMIZ Forces the query optimizer to mimic SAP IQ 15.x behavior. REVERT_TO_V15_OPTIMIZER
ER is ON by default in all 16.1 databases upgraded from 15.x. REVERT_TO_V15_OPTIMIZER
is OFF by default in all newly created SAP IQ 16.1 databases.
If you plan to use SAP IQ 16.1 hash partitioning features, set the REVERT_TO_V15_OPTI-
MIZER to OFF.
Startup Options
Some load operations may require more memory than the 2 GB default provides. If memory requirements
exceed the default, use the -iqlm startup option to increase the memory that SAP IQ can dynamically request
from the OS. Set -iqlm as a switch as part of the command or configuration file that starts the server.
Generally, large memory requirements represent one third of the total available physical memory allocated to
SAP IQ. To ensure adequate memory for the main and temporary IQ stores, set the -iqlm, -iqtc, and -iqmc
startup parameters so that each parameter receives one third of all available physical memory allocated to SAP
IQ.
In most cases, you should allocate 80% of total physical memory to SAP IQ to prevent SAP IQ processes from
being swapped out. Adjust actual memory allocation to accommodate other processes running on the same
system. For example, on a machine with 32 cores and 128 GB of total available physical memory, you would
Object Names
An SAP IQ 15.x database could contain tables, columns, and other objects named row. In SAP IQ 16.1, row is a
reserved word and cannot be used as an object name.
To use a reserved word as an object name, enclosed the object name in brackets (regardless of the
QUOTED_IDENTIFIER setting) or double quotes (if QUOTED_IDENTIFIER='ON' [default]):
// QUOTED_IDENTIFIER ON | OFF
select * from [row];
alter table row2 rename [row] to col_row;
// QUOTED_IDENTIFIER='ON'
select "row" from row2;
alter table "row" rename rownew;
Stored Procedures
Use these stored procedures to review and change column constraints and indexes.
sp_iqcolumnmetadata Returns index metadata for all columns in one or more tables.
sp_iqindexmetadata Returns details about column indexes, including the index types (Flat FP, NBit, HG, and
tiered HG), distinct counts, IQ UNIQUE value, and NBit dictionary size.
sp_iqrebuildindex Rebuilds FP indexes (Flat FP as NBit, or NBit as Flat FP) and HG indexes (single HG as
tiered HG, or tiered HG as single HG). Before you can insert or update new data, you
must rebuild all columns greater than 255 bytes wide.
The index_clause can reset IQ UNIQUE <n> to an explicit value from 0 (to recast
an NBit column to Flat FP) up to the limits defined in the FP_NBIT_AUTOSIZE_LIMIT
and FP_NBIT_LOOKUP_MB options.
The estimated cardinality for NBit columns with an IQ UNIQUE value below or equal to
the FP_NBIT_AUTOSIZE_LIMIT is stored as 0 regardless of the FP_NBIT_IQ15_COM-
PATIBILITY setting. This affects the value returned from sp_iqindexmetadata.
sp_iqindexrebuildwideda Identifies wide columns that you must rebuild before they are available for read/write
ta activities. sp_iqindexrebuildwidedata also generates a list of statements
that you can use to rebuild the columns.
This applies to CHAR, VARCHAR, BINARY, and VARBINARY columns wider than 255
characters, as well as all Long Varchar and Long Binary columns.
Related Information
sp_iqcheckdb Procedure
sp_iqcolumnmetadata Procedure
sp_iqindexmetadata Procedure
sp_iqrebuildindex Procedure
sp_iqrebuildindexwide Procedure
Download Installation Files [page 45]
There are several significant conceptual changes between 15.4.x and 16.x with respect to system procedures,
logical servers and the security model. Review these changes before using SAP IQ16.1SP 05.
In this section:
Enhanced role-based security changes the way privileged system procedures run.
In this section:
Note
This behavior change applies to SAP IQ privileged system procedures only, and not to user-defined stored
procedures.
In the SYSTEM PROCEDURE DEFINER model, when you grant a user explicit EXECUTE object-level privilege on
a system procedure, any privileges required to run any authorized tasks associated with the system procedure
are automatically inherited from the owner (definer of the system procedure).
In the SYSTEM PROCEDURE INVOKER model, the EXECUTE object-level privilege for each system procedure
is granted to the PUBLIC role. Since, by default, every user is a member of the PUBLIC role, every user
automatically inherits the required EXECUTE object-level privilege. Any additional system privileges needed to
run the system procedure are not inherited; you must now directly or indirectly grant them to the user.
This behavior change might create a loss of functionality on custom stored procedures and applications that
explicitly grant EXECUTE object-level privilege on system procedures. For this reason, the default upgrade
process for pre- 16.x database uses a combination of the two models. Privileged system procedures that
existed in IQ versions earlier than 16.x continue to run using the SYSTEM PROCEDURE DEFINER model, while
any privileged system procedures introduced in 16.x or later use the SYSTEM PROCEDURE INVOKER model.
You can override the default upgrade behavior so that all privileged system procedures for all versions use
only the SYSTEM PROCEDURE INVOKER model if the potential loss of functionality is not a concern. If you are
unsure of potential loss of functionality, upgrade your database to use the default behavior, then investigate.
If you determine that it is not an issue, and you want all system procedures to run using the SYSTEM
PROCEDURE INVOKER model, use the ALTER DATABASE statement to change the default security model.
When you override the default upgrade behavior, the EXECUTE object-level privilege to run privileged system
procedures is revoked from all users and roles and granted to the PUBLIC role.
To specify a security model, use the CREATE DATABASE statement, ALTER DATABASE UPGRADE statement,
or the Initialization utility (iqinit).
Once a database is upgraded to SAP IQ 16.1 , the default upgrade behavior for any subsequent upgrades (for
example to 16.1 SP 02, SP 03, and so on) is to continue to use the current security model.
There is a small subset of pre- 16.x privileged system procedures that has always run with the privileges of
the user running the procedure, rather than the owner of the procedure. In addition to EXECUTE object-level
When running privileged system procedures using the SYSTEM PROCEDURE DEFINER model, the DBO
system role is typically the owner of the procedures. By default, the dbo system role is granted the
SYS_AUTH_DBA_ROLE compatibility role. This ensures that the role is indirectly granted all privileges
necessary to execute system procedures. Migrating the SYS_AUTH_DBA_ROLE compatibility role can result
in the dbo system role losing the ability to execute privileged system procedures. See Implications of Migrating
Compatibility Roles [page 197] for details.
For these privileged system procedures, if the database is configured to use SYSTEM PROCEDURE DEFINER,
you only need EXECUTE object-level privilege on the procedure to run it. If the database is configured to use
SYSTEM PROCEDURE INVOKER, you also need the individual system privileges required by each procedure.
Refer to SAP IQ SQL Reference for the system privileges required to run each system procedure.
• sp_iqdbsize • sp_iqmpxincheartbeatinfo
These pre-16.x privileged system procedures run with the privileges of the user who is running the procedure,
not the owner of the procedure, regardless of the security model setting. Therefore, in addition to the EXECUTE
object-level privilege on the system procedure, which is, by default, granted through membership in PUBLIC
role, you must also be granted the additional system privileges required by the system procedure. See the SAP
IQ SQL Reference for the system privileges required to run each system procedure.
• sa_describe_shapefile
• sa_get_user_status
• sa_locks
• sa_performance_diagnostics
When you upgrade a database, there is a set of privileged system procedures for which you must regrant the
EXECUTE privilege if the upgraded database continues to use the SYSTEM PROCEDURE DEFINER security
model.
The system procedures for which you must regrant the privilege are:
• sa_audit_string
• sa_checkpoint_execute
• sa_disable_auditing_type
• sa_disk_free_space
• sa_enable_auditing_type
• sa_external_library_unload
• sa_flush_cache
• sa_list_external_library
• sa_server_option
• sa_procedure_profile
• sa_procedure_profile_summary
• sa_table_page_usage
• sa_validate
select IF ((HEXTOINT(substring(db_property('Capabilities'),
1,length(db_property('Capabilities'))-20)) & 8) = 8)
THEN 1
ELSE 0
END IF
A value of 1 indicates the database is using the SYSTEM PROCEDURE INVOKER model. A value of 0 indicates
that the database is using the SYSTEM PROCEDURE DEFINER.
The MANAGE ANY OBJECT PRIVILEGE system privilege is required to grant the EXECUTE object-level privilege.
GRANT EXECUTE
ON [ <owner>.] { <procedure-name> | <user-defined-function-name> }
TO <userID> [, …]
Related Information
Upgrading a multiplex database creates an appropriate logical server for each server-specific login policy. Login
policies are updated to use a logical server configuration that provides access to the same set of multiplex
servers as prior to upgrade.
If a login policy does not allow access to any node (such as when the base setting of LOCKED is ON and there are
no multiplex server-level overrides), the login policy is set to a system-defined logical server, NONE, instead of
creating a new logical server. NONE indicates that the login policy does not allow access to any multiplex server.
If a login policy has no explicit setting for the LOCKED option, either at the base level or via a multiplex
server-level override, no logical server is created for that policy. Such a login policy inherits the logical server
assignment of the root login policy.
• Membership configuration of a logical server provides access to the same multiplex nodes as the
corresponding 15.x login policy. If the login policy allowed access to the current coordinator server, a logical
membership of the coordinator is also added to the logical server.
• Logical server names are derived from login policy names. If the login policy name is fewer than 126
characters, the logical server follows this naming convention: LS_<login policy name>. For example,
for a login policy named mpx_grp1, a logical server LS_mpx_grp1 is created and assigned to that login
policy.
If the login policy name exceeds 125 characters, a logical server is created with the same name as of the
login policy, that is, without adding an LS_ prefix.
• During the upgrade, some login policy option settings or multiplex server-level overrides are reset or
removed. In the root login policy, LOCKED and MAX_CONNECTIONS overrides are reset to default values
('OFF' and 10, respectively).
Settings for LOCKED and MAX_CONNECTIONS are removed from user-defined login policies. Multiplex
server-level overrides are removed from all login policies.
• To retain preupgrade behavior for existing applications, the LOGIN_REDIRECTION login policy option is
added to the root logical server policy with its value set to off.
In this section:
SAP IQ 16.x introduces a role-based security model. Earlier versions used authorities, permissions, object-level
permissions, and groups. The role-based security model uses roles, system privileges, object-level privileges,
and user-extended roles.
Note
You can use an SAP IQ 16.x server with an IQ database from an earlier version (pre- 16.x). When you do, full
backward compatibility is provided for that database, and its security model is not changed.
In pre- 16.x, authorities are database-level permissions. For example, a user with BACKUP authority can
back up the database. Some authorities bundle object-level permissions. For example, a user with PROFILE
authority can perform application profiling and database tracing tasks, which involve using system procedures
that are not otherwise available for use. You cannot create new authorities, alter the permissions they
comprised, or drop them. You can grant administrative rights (WITH GRANT), but cannot limit the grant to
administrator rights only.
In 16.x, roles replace authorities, with the added benefit that you can create new roles, alter the system
privileges granted, and drop them. Roles and privileges provide a more granular control when granting system
privileges to users. You can also grant roles to users with administrative rights only. A user can then grant and
revoke the role, but cannot exercise the underlying privileges.
In pre- 16.x, permissions allowed you to create, modify, query, use, or delete database objects such as tables,
views, and users.
In 16.x, system privileges replace permissions in functionality. Every privileged operation that you can perform
on a database object now has a grantable system privilege. You can grant system privileges individually to
users or to a role.
In 16.x, the meaning of permissions has changed. In pre- 16.x versions, a permission meant a grantable
capability. Now, permission means the result of an evaluation of whether an operation can be performed. For
example, you have permission to alter the table if you are the owner or you have the ALTER ANY TABLE system
privilege.
In pre- 16.x, groups were a collection of one or more users whose authorities and permissions were determined
at the group level. A user was granted group status, and then other users were granted membership in that
group.
In 16.x, the group paradigm is achieved using user-extended roles. If you have a user with a set of privileges that
you want to grant to other users, you extend the user to become a user-extended role, and then grant that role
to other users.
Upgrading a pre- 16.x database automatically converts your existing authority, permission, and group hierarchy
into an equivalent role, privilege, and user-extended role hierarchy. Every pre- 16.x authority has a compatibility
role. These roles are easily identifiable because their names start with SYS_AUTH. Compatibility roles contain
the system privileges required to perform the same operations as the corresponding previous authority.
To take full advantage of the control and granularity of privileges available with role-based security, SAP
recommends that, after migration, you review the compatibility role grants of each user and adjust
membership and system privilege grants as necessary.
When you upgrade to 16.1, users who are granted authorities in the earlier version are automatically granted
an equivalent compatibility role. If users could previously administer the authority, they can administer the
compatibility role in 16.0.
The naming convention for each compatibility role retains the original authority name, but is prefaced
with "SYS_AUTH_" and suffixed with "_ROLE". For example, the authority BACKUP becomes the role
SYS_AUTH_BACKUP_ROLE, authority RESOURCE becomes role SYS_AUTH_RESOURCES_ROLE, and so on.
You cannot modify compatibility roles. However, you can migrate them to a user-defined role, and then modify
them. When you migrate a compatibility role to a user-defined role, all users who are granted the compatibility
role are granted the new user-defined role. Once each underlying system privilege is granted to at least one
other role, you can drop the compatibility role. To restore compatibility roles, use the CREATE ROLE statement.
SQL statements are backward compatibility to support applications that grant or revoke authorities. However,
the old syntax is deprecated and SAP recommends that you changed your applications to use the new SQL
syntax for roles.
This table shows each authority and its equivalent compatibility role.
BACKUP SYS_AUTH_BACKUP_ROL Allows a user to back up databases and transaction logs with
E archive or image backups by using the BACKUP DATABASE
statement or dbbackup utility.
PROFILE SYS_AUTH_PRO- Allows a user to perform profiling, tracing, and diagnostic oper-
FILE_ROLE ations.
READCLIENTFILE SYS_AUTH_READCLIENT- Allows a user to read files on the client computer, for example
FILE_ROLE when loading data from a file on a client computer.
REMOTE DBA SYS_RUN_REPLICA- Allows a SQL Remote user to perform replication activities by
TION_ROLE system role using the dbremote and dbmisync utilities. It does not,
however, allow administration of replication.
SYS_REPLICATION_AD-
MIN_ROLE system role The SYS_REPLICATION_ADMIN_ROLE system role is provided
for replication administration.
RESOURCE SYS_AUTH_RE- Allows a user to create database objects, such as tables, views,
SOURCE_ROLE stored procedures, and triggers.
VALIDATE SYS_AUTH_VALI- Allows a user to perform database, table, index, and checksum
DATE_ROLE validation by using the VALIDATE statement or dbvalid
utility.
WRITECLIENTFILE SYS_AUTH_WRITE- Allows a user to write to files on a client computer, for example,
CLIENTFILE_ROLE when using the UNLOAD TABLE statement to write data to a
client computer.
In an authority-based security model, there was no way to limit the grant if a user did not need all of
the permissions vested in an authority. This resulted in users often being granted more permissions than
necessary, a potential security concern. The role-based security model addresses this concern by allowing
system privileges to be granted at a granular level.
Since the migration process ensures that all existing privileges are preserved at the user and group level,
SAP recommends that, after migration, you review the compatibility role grants for each user and adjust
membership as necessary.
SAP IQ versions earlier than 16.x used object-level permissions such as ALTER and SELECT for tables and
views. These permissions are now called object-level privileges.
When you upgrade your database, users granted permissions are automatically granted the equivalent object-
level privileges.
In addition to object-level privileges, there are now grantable system privileges for every authorized operation.
When you upgrade an IQ database earlier than 16.0, each group is converted to an equivalent user-extended
role of the same name. Members of the original group are automatically granted the new role and all of
its underlying system privileges. Authorities and object-level permissions granted to the original group are
converted to equivalent compatibility roles and system privileges and are granted to the user-extended role.
dbo This role owns many system stored procedures, views, and tables.
diagnostics This role owns the diagnostic tables and views, and can perform operations on them.
PUBLIC This role has SELECT permission on the system tables. Any new user ID is automatically
granted the PUBLIC role.
SYS This role owns the system tables and views (IQ catalog) for the database, and can
perform operations on them.
SYS_SPATIAL_ADMIN_ROLE This role allows users to create, alter, or drop spatial objects.
In SAP IQ versions earlier than 16.x, the DBA user was often considered a super-user by virtue of being granted
the DBA authority. The DBA user continues to exist in 16.x, however, the concept has changed.
In SAP IQ versions earlier than 16.x, you created a super-user by granting a user DBA authority. Users with
DBA authority can perform any privileged task in the system. When you upgrade your database to 16.x, any
users granted DBA authority are granted the equivalent SYS_AUTH_DBA_ROLE compatibility role and become
a super-user. After migration, the super-user itself must be managed to preserve its super-user abilities.
When you create a new role without specify an administrator, users with the MANAGE ROLES system privilege
(global administrators) can administer the role. Since MANAGE ROLES is one of the system privileges granted
to the SYS_AUTH_DBA_ROLE compatibility role, super-users can administer new roles.
However, if you create a new role and assign administrators, administration is then limited to only those
administrators; global administrators, and thus super-users, cannot administer the role. You must explicitly
assign the super-user as an administrator of the role.
You can migrate the SYS_AUTH_DBA_ROLE compatibility role to a user-defined role, and eventually drop it.
Since the ability of the super-user to perform any privileged task is dependent on the SYS_AUTH_DBA_ROLE
compatibility role, before you drop the SYS_AUTH_DBA_ROLE compatibility role, you must grant the super-
user membership in the new user-defined role or grant each of the underlying system privileges directly or
indirectly to the super-user.
The GRANT syntax for authorities, permissions, and groups is supported, but deprecated. If you have
applications that use the pre- 16.x GRANT statement syntax, modify them to use the new syntax for roles
and privileges.
In SAP IQ versions earlier than 16.x, DBA, REMOTE DBA, RESOURCE, and VALIDATE authorities were not
inheritable. When you upgrade your database to 16.x, the WITH NO SYSTEM PRIVILEGE INHERITANCE clause
ensures that inheritance behavior remains consistent with earlier releases.
Users granted DBA and REMOTE DBA authorities could grant them to others. In 16.x, the WITH ADMIN clause
is introduced to ensure that administration rights behavior remains consistent with previous releases.
No change
GRANT CONNECT TO <username>
[ IDENTIFIED BY <pwd> ]
No change; however, you can also set the new PUBLIC op-
GRANT PUBLISH TO tion, db_publisher:
<grantee>
SET OPTION
PUBLIC.db_publisher=<grantee_id>
No change
GRANT <permission> [, …]
ON [ <owner>.]<object-name>
TO <grantee> [, …]
[ WITH GRANT OPTION ]
<permission> ::=
ALL [ PRIVILEGES ]
| ALTER
| DELETE
| INSERT
| REFERENCES [ ( <column-name>,
… ) ]
| SELECT [ ( <column-name>, … ) ]
| UPDATE [ ( <column-name>, … ) ]
No change
GRANT EXECUTE ON [ <owner>. ]
{ <procedure-name> | <user-defined-
function> }
TO <grantee> [, …]
No change
GRANT INTEGRATED LOGIN
TO <user-profile-name> [, …]
AS USER <user>
No change
GRANT KERBEROS LOGIN
TO <client-Kerberos-principal> [, …]
AS USER <user>
No change
GRANT CREATE
ON <dbspacename> [, …]
TO <grantee> [, …]
The REVOKE syntax for authorities, permissions, and groups is supported but deprecated. If you have
applications that use the pre- 16.x REVOKE statement syntax, modify them to use the new syntax for roles
and privileges.
No change; however, you can also set the new PUBLIC op-
REVOKE PUBLISH FROM <grantee> tion, db_publisher:
permission ::=
ALL [ PRIVILEGES ]
| ALTER
| DELETE
| INSERT
| REFERENCES [ ( <column-name>,
… ) ]
| SELECT [ ( <column-name>, … ) ]
| UPDATE [ ( <column-name>, … ) ]
No change
REVOKE EXECUTE ON [ <owner>.]
{ <procedure-name> | <user-defined-
function> }
FROM <grantee> [, … ]
No change
REVOKE INTEGRATED LOGIN
FROM <user>
No change
REVOKE KERBEROS LOGIN
FROM <user> [, … ]
AS USER <user>
No change
REVOKE CREATE ON <dbspacename> [, … ]
FROM <grantee> [, … ]
The REMOTE DBA authority is replaced by the SYS_RUN_REPLICATION_ROLE system role. This role allows
user to administer replication.
The GRANT REMOTE DBA statement syntax is still supported but deprecated. Change your applications to
grant this new role.
In SAP IQ versions earlier than 16.0, when you granted the DBA, REMOTE DBA, BACKUP, RESOURCE, and
VALIDATE authorities to a group, the underlying permissions were not inherited by members of the group.
To retain the non-inheritance behavior of these roles after upgrading, include the WITH NO SYSTEM PRIVILEGE
INHERITANCE clause in the GRANT ROLE statement, if you have applications that you are changing to use the
new GRANT syntax, and want to preserve the non-inheritance behavior.
Note
The WITH NO SYSTEM PRIVILEGE INHERITANCE clause is supported only with these specific roles; any
other use results in an error.
For example, you grant User1 the ALTER ANY OBJECT system privilege. You extend User1 to become a role
and grant User1 to User2. You want to grant the SYS_AUTH_DBA_ROLE role to User1, but you do not want
User2 to inherit the system privileges vested to SYS_AUTH_DBA_ROLE. Execute:
In 16.x, the PUBLISH authority is replaced by the PUBLIC.db_publisher database option. You change the
publisher by changing the database option.
In IQ versions earlier than 16.x, the database publisher was controlled by using the GRANT PUBLISH and
REVOKE PUBLISH statements. You determine the current publisher by querying the CURRENT PUBLISHER
special value. The GRANT PUBLISH and REVOKE PUBLISH syntax is still supported, but deprecated.
You can also still query the CURRENT PUBLISHER to determine the current publisher.
The SET ANY SYSTEM OPTION system privilege is required to set PUBLIC.db_publisher.
Compatibility roles exist for backward compatibility with versions of SAP IQ earlier than 16.0 that support
authority-based security.
You can grant, revoke, and under specific conditions, delete compatibility roles. You cannot modify any of
the underlying system privileges. However, you can migrate compatibility roles to user-defined roles, and
then modify the underlying system privileges. When you migrate a compatibility role, all grantees of the
compatibility role are automatically granted the user-defined role.
Use the compatibility roles SYS_AUTH_SA_ROLE and SYS_AUTH_SSO_ROLE to administer and grant all
individual system privileges in a new database. The union of the system privileges of these two roles is granted
to the compatibility role SYS_AUTH_DBA_ROLE. By default, SYS_AUTH_DBA_ROLE is granted to the DBA user
with administrative privileges. Thus, all system privileges are initially granted to the DBA user.
You can grant users to, and revoke users from, compatibility roles.
In this section:
Granting a compatibility role is semantically equivalent to granting each of its underlying system privileges and
roles.
In this section:
Allows users to perform authorized tasks pertaining to data and system administration responsibilities.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
In this section:
• ACCESS SERVER LS
• ALTER ANY INDEX
• ALTER ANY MATERIALIZED VIEW
• ALTER ANY OBJECT
• ALTER ANY PROCEDURE
• ALTER ANY SEQUENCE
• ALTER ANY TEXT CONFIGURATION
• ALTER ANY TABLE
• ALTER ANY TRIGGER
• ALTER ANY VIEW
• ALTER DATABASE
• ALTER DATATYPE
• BACKUP DATABASE
• CHECKPOINT
• COMMENT ANY OBJECT
• CREATE ANY INDEX
• CREATE ANY MATERIALIZED VIEW
• CREATE ANY MUTEX SEMAPHORE
• CREATE ANY OBJECT
• CREATE ANY PROCEDURE
• CREATE ANY SEQUENCE
• CREATE ANY TABLE
• CREATE ANY TEXT CONFIGURATION
• CREATE ANY TRIGGER
• CREATE ANY VIEW
• CREATE DATABASE VARIABLE
• CREATE DATATYPE
• CREATE EXTERNAL REFERENCE
• CREATE MATERIALIZED VIEW
• CREATE MESSAGE
• CREATE PROCEDURE
• CREATE PROXY TABLE
• CREATE TABLE
• CREATE TEXT CONFIGURATION
• CREATE VIEW
• DEBUG ANY PROCEDURE
• DELETE ANY TABLE
• DROP ANY INDEX
Allows users to perform authorized tasks pertaining to security and access control responsibilities.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
In this section:
Each system privilege is granted with full administrative rights only unless noted.
Prerequisites
Context
This role indirectly grants all compatibility roles, and some system roles, to a user. It is the union of the
underlying system privileges of each of these roles that makes the SYS_AUTH_DBA_ROLE role the "super" role.
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
When migrating from SAP IQ 15.4 and earlier, the concept of inheritance of the underlying system privileges
of this system role represents a change in behavior in SAP IQ 16.0 or later. For SAP IQ 15.4 and earlier
behavior, use the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
The WITH ADMIN ONLY OPTION clause is invalid when using the WITH NO SYSTEM PRIVILEGE INHERITANCE
clause. The WITH NO ADMIN OPTION clause is valid, but not required, as it is semantically equivalent to the
WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
Procedure
In this section:
• SYS_AUTH_SA_ROLE
• SYS_AUTH_SSO_ROLE
• SYS_AUTH_RESOURCE_ROLE
• SYS_AUTH_BACKUP_ROLE
• SYS_AUTH_VALIDATE_ROLE
• SYS_AUTH_READFILE_ROLE
• SYS_AUTH_PROFILE_ROLE
• SYS_AUTH_READCLIENTFILE_ROLE
• SYS_AUTH_WRITECLIENTFILE_ROLE
• SYS_AUTH_WRITEFILE_ROLE
• SYS_AUTH_USER_ADMIN_ROLE
• SYS_AUTH_SPACE_ADMIN_ROLE
• SYS_AUTH_MULTIPLEX_ADMIN_ROLE
• SYS_AUTH_OPERATOR_ROLE
• SYS_AUTH_PERMS_ADMIN_ROLE
• SYS_SPATIAL_ADMIN_ROLE
• diagnostics
• rs_systabgroup
• SYS
• DBO
• PUBLIC
Through the granting of all compatibility roles and select system roles, system privileges are indirectly
granted to the SYS_AUTH_DBA_ROLE role. The underlying system privileges of the SYS_AUTH_SA_ROLE and
SYS_AUTH_SSO_ROLE roles are indirectly granted with full administrative rights. All other compatibility roles
and system roles are indirectly granted with administrative rights only.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Note
When migrating from SAP IQ 15.4 and earlier, the concept of inheritance of the underlying system privileges
of this system role represents a change in behavior in SAP IQ 16.0 or later. For SAP IQ 15.4 and earlier
behavior, use the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
The WITH ADMIN ONLY OPTION and WITH ADMIN OPTION clauses are invalid when using the WITH NO
SYSTEM PRIVILEGE INHERITANCE clause. The WITH NO ADMIN OPTION clause is valid, but not required, as it
is semantically equivalent to the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
Procedure
Example
This example grants the SYS_AUTH_BACKUP_ROLE to Mary with administrative rights and inheritance of the
underlying system privileges of the role.
This example grants the SYS_AUTH_BACKUP_ROLE to Joe with neither administrative rights nor inheritance
of the roles underlying system privileges.
In this section:
14.3.4.3.3.11.1.5 Granting
SYS_AUTH_MULTIPLEX_ADMIN_ROLE
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
In this section:
The ACCESS SERVER LS and MANAGE MULTIPLEX system privileges are granted with the no administrative
rights.
Allows users to checkpoint databases, drop connections (including those for users with
SYS_AUTH_DBA_ROLE), back up databases, and monitor the system.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Note
When migrating from SAP IQ 15.4 and earlier, the concept of inheritance of the underlying system privileges
of this system role represents a change in behavior in SAP IQ 16.0 or later. For SAP IQ 15.4 and earlier
behavior, use the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
Procedure
Example
This example grants the SYS_AUTH_OPERATOR_ROLE to Mary with administrative rights and inheritance of
the underlying system privileges of the role:
This example grants the SYS_AUTH_OPERATOR_ROLE to Joe with neither administrative rights or inheritance
of the underlying system privileges of the role:
In this section:
• ACCESS SERVER LS
• BACKUP DATABASE
• CHECKPOINT
• DROP CONNECTION
• MONITOR
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
Example
This example grants the SYS_AUTH_PERMS_ADMIN_ROLE to Mary, with only administrative rights:
In this section:
• SYS_AUTH_BACKUP_ROLE
• SYS_AUTH_OPERATOR_ROLE
• SYS_AUTH_USER_ADMIN_ROLE
• SYS_AUTH_SPACE_ADMIN_ROLE
• SYS_AUTH_MULTIPLEX_ADMIN_ROLE
• SYS_AUTH_RESOURCE_ROLE
• SYS_AUTH_VALIDATE_ROLE
• SYS_AUTH_PROFILE_ROLE
• SYS_AUTH_READFILE_ROLE
• SYS_AUTH_READCLIENTFILE_ROLE
• SYS_AUTH_WRITEFILE_ROLE
• SYS_AUTH_WRITECLIENTFILE_ROLE
• CHANGE PASSWORD
• MANAGE ANY OBJECT PRIVILEGES
• MANAGE ROLES
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted
with administrative rights only, you can manage the role, but not use its underlying system privileges. Finally,
when granted with no administrative rights, you can only use its underlying system privileges. By default, the
SYS_AUTH_PROFILE_ROLE is granted the diagnostics system role with no administrative rights.
Procedure
Example
In this section:
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Example
In this section:
14.3.4.3.3.11.1.10 Granting
SYS_AUTH_READCLIENTFILE_ROLE
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
This example grants the SYS_AUTH_READCLIENTFILE_ROLE to Mary, with only administrative rights:
In this section:
The READ CLIENT FILE system privilege is granted with no administrative rights.
Allows users to create new database objects, such as tables, views, indexes, or procedures.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Note
When migrating from SAP IQ 15.4 and earlier, the concept of inheritance of the underlying system privileges
of this system role represents a change in behavior in SAP IQ 16.0 or later. For SAP IQ 15.4 and earlier
behavior, use the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
The WITH ADMIN ONLY OPTION and WITH ADMIN OPTION clauses are invalid when using the WITH NO
SYSTEM PRIVILEGE INHERITANCE clause. The WITH NO ADMIN OPTION clause is valid, but not required, as it
is semantically equivalent to the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
Example
This example grants the SYS_AUTH_RESOURCE_ROLE to Mary with administrative rights and inheritance of
the underlying system privileges of the role:
This example grants the SYS_AUTH_RESOURCE_ROLE to Joe with neither administrative rights nor
inheritance of the roles underlying system privileges:
In this section:
• CREATE TABLE
• CREATE PROXY TABLE
• CREATE VIEW
• CREATE MATERIALIZED VIEW
• CREATE PROCEDURE
• CREATE DATATYPE
• CREATE MESSAGE
• CREATE TEXT CONFIGURATION
• CREATE ANY SEQUENCE
• CREATE ANY TRIGGER
• ALTER ANY TRIGGER
• CREATE ANY OBJECT
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
Example
In this section:
The ACCESS SERVER LS and MANAGE ANY DBSPACE system privileges are granted with no administrative
rights.
Allows users to manage external logins, login policies, and other users.
Prerequisites
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
To grant the SYS_AUTH_USER ADMIN_ROLE role, execute one of the following statements:
Example
In this section:
The MANAGE ANY LOGIN POLICY and MANAGE ANY USER system privileges are granted with no
administrative rights.
Allows users to validate or check tables, materialized views, indexes, or databases in the system store. The
objects can be owned by any user.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Note
When migrating from SAP IQ 15.4 and earlier, the concept of inheritance of the underlying system privileges
of this system role represents a change in behavior in SAP IQ 16.0 or later. For SAP IQ 15.4 and earlier
behavior, use the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
The WITH ADMIN ONLY OPTION and WITH ADMIN OPTION clauses are invalid when using the WITH NO
SYSTEM PRIVILEGE INHERITANCE clause. The WITH NO ADMIN OPTION clause is valid, but not required, as it
is semantically equivalent to the WITH NO SYSTEM PRIVILEGE INHERITANCE clause.
Procedure
Example
This example grants the SYS_AUTH_VALIDATE_ROLE to Mary with administrative rights and inheritance of the
underlying system privileges of the role:
This example grants the SYS_AUTH_VALIDATE_ROLE to Joe with neither administrative rights nor inheritance
of the roles underlying system privileges:
In this section:
The VALIDATE ANY OBJECT system privilege is granted with no administrative rights.
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
In this section:
14.3.4.3.3.11.1.16 Granting
SYS_AUTH_WRITECLIENTFILE_ROLE
Prerequisites
Context
You can grant this role with or without administrative rights. When granted with administrative rights, you can
manage (grant and revoke) the role, as well as use any of the underlying system privileges. When granted with
administrative rights only, you can manage the role, but not use its underlying system privileges. Finally, when
granted with no administrative rights, you can only use its underlying system privileges.
Procedure
Example
This example grants the SYS_AUTH_WRITECLIENTFILE_ROLE to Mary, with only administrative rights:
In this section:
The SWRITE CLIENT FILE system privilege is granted with no administrative rights.
Prerequisites
Prerequisites
Administrative privilege over the role being migrated, and the MANAGE ROLES system privilege.
Context
Compatibility roles are immutable, but you can migrate them in their entirety to a new user-defined role.
Once migrated, the compatibility role is automatically dropped. This process is systematically equivalent to
individually granting each underlying system privilege to a user-defined role, then manually dropping the
compatibility role.
During migration:
You cannot use ALTER ROLE to individually migrate the SYS_AUTH_SA_ROLE and SYS_AUTH_SSO_ROLE
compatibility roles. These two compatibility roles are automatically migrated when SYS_AUTH_DBA_ROLE is
migrated.
The name of the new role cannot already exist, or begin with the prefix SYS_ and end with the suffix _ROLE
when migrating a compatibility role.
MIGRATE TO <new_role_name>
Example
This statement migrates the SYS_AUTH_OPERATOR_ROLE role to the new role Custom_Operator_role.
In both examples, all users, underlying system privileges, and roles granted to the original roles
are automatically migrated to the new roles, then SYS_AUTH_DBA_ROLE, SYS_AUTH_SA_ROLE,
SYS_AUTH_SSO_ROLE and SYS_AUTH_OPERATOR_ROLE are dropped.
All compatibility roles, with the exception of SYS_AUTH_SA_ROLE and SYS_AUTH_SSO_ROLE can be dropped.
SYS_AUTH_SA_ROLE and SYS_AUTH_SSO_ROLE are automatically dropped when SYS_AUTH_DBA_ROLE is
dropped.
Prerequisites
The WITH REVOKE clause is only required when dropping a compatibility role that is currently granted to users
or roles. You can re-create any dropped compatibility role. See Re-creating a Compatibility Role [page 196].
Procedure
Compatibility role not currently granted to any user or role. DROP ROLE <role_name>*
Compatibility role currently granted to users or roles. DROP ROLE <role_name>* WITH REVOKE
Related Information
Prerequisites
Context
When you re-create any compatibility role other than SYS_AUTH_DBA_ROLE, administrative privileges on the
re-created compatibility role are automatically granted to SYS_AUTH_DBA_ROLE, as long as it still exists.
Procedure
Some system roles are indirectly granted the system privileges necessary to execute privileged tasks through
membership in compatibility roles.
You cannot revoke the underlying system privileges of a compatibility role; you must first migrate it to a
user-defined role. Only then can you revoke individual underlying system privileges from the new role and grant
them to other user-defined roles per the organization's security requirements. This enforces separation of
duties.
You can migrate compatibility roles automatically or manually. The method of migration can impact the ability
of a system role or the DBO system role to continue performing authorized tasks.
Regardless of the migration method used, once a compatibility role or the SYS_AUTH_DBA_ROLE role is
dropped, if you revoke a system privilege from the new user-defined role and grant it to another user-defined
role, you must do one of the following to ensure that system roles especially the dbo system role, retains
all the system privileges required to execute the applicable privileged tasks or multiplex management stored
procedures:
• Grant each system privilege revoked from the migrated user-defined role directly to the applicable system
roles or dbo role; or
• Grant membership in the user-defined role to which the system privileges are granted to the applicable
system roles or dbo system role.
The system roles that are members of compatibility roles, and might potentially be impacted by migration
include:
dbo SYS_AUTH_DBA_ROLE
SYS_AUTH_RESOURCE_ROLE
SYS_RUN_REPLICATION_ROLE SYS_AUTH_DBA_ROLE
The ALTER ROLE statement creates a new user-defined role, automatically grants all underlying system
privileges of the compatibility role to the new user-defined role, makes each member of the compatibility role a
member of the new user-defined role, then drops the compatibility role.
Automatic migration assumes that the destination user-defined role does not already exist and that all system
privileges are migrated to the same new user-defined role.
Manual Migration
Use the CREATE ROLE statement to create a new user-defined role. Use the GRANT statement to grant each
underlying system privilege to one or more users or roles. Use the DROP statement to drop the compatibility
role once all underlying system privileges are granted to at least one other user or role.
Members of the migrated compatibility role are not automatically granted membership in the new user-defined
role. As a result, members of some system roles may no longer be able to perform the expected privileged
tasks once the compatibility role is dropped. You must grant membership in the new user-defined role to the
affected system roles or directly grant the required system privileges to affected members.
Grant and revoke syntax for role-based security differs significantly from authority-based security. However,
SAP IQ 16.1 is fully backward compatible with authority-based syntax.
SAP IQ 16.1 provides well-documented mappings and stored procedures to assist in transition. All stored
procedures, functions, and queries created in pre- 16.0 databases will continue to run after upgrading.
The sp_auth_sys_role_info stored procedure generates a report, which maps each authority to a
corresponding system role name.
A separate row is generated for each authority. No privilege is required to execute the procedure.
When using SAP IQ 16.x to connect to a 15.x database, only authority-based syntax is valid. Using role-based
syntax returns errors. For example, GRANT ROLE returns an error message; GRANT MEMBERSHIP IN GROUP
does not.
Beyond this limitation, there should be no change in functionality and no noticeable change in performance
using SAP IQ 16.x with a 15.x database.
Updating an SAP IQ 12.7 catalog requires a database file migration, not a simple database upgrade. Migration
tools bundled with SAP IQ can recreate the legacy database schema and database options.
In this section:
Procedure
1. Upgrade to SAP IQ 12.7 ESD #5. All migration paths assume that you are migrating from SAP IQ 12.7 ESD
#5 as a minimum.
2. Regenerate any sort-key values. SAP IQ 12.7 SORTKEY function uses a different sort-key value than SAP IQ
15 and later.
3. Review the collation. SAP IQ no longer supports custom collations. Custom collations are preserved in
database rebuilds only if you rebuild the database in a single step. Use a collation included with SAP IQ 15.0
or later.
4. Back up your current installation and save copies of any changes you made to default login and post
login scripts. Create your backups on removable media, like tape, DVD, or CD. Make sure the backups are
readable.
5. Review and understand the database migration utilities. Use iqunload to re-create the schema for your
database or migrate your 12.7 database. iqlsunload utility is available to move 12.7 local stores for 12.7
multiplex servers.
6. Use DROP TABLE statements to drop all global temporary tables before you run the iqunload utility. You
can recreate the global temporary tables after migration.
7. Drop all servers of type asejdbc before you run the iqunload utility.
The asejdbc server class is deprecated. Servers of type asejdbc must be dropped prior to running
iqunload. 12.7 databases with remote server definitions based on the asejdbc driver will not have these
definitions migrated to by the iqunload tool and will not give an error at the beginning of an unload saying
that you need to drop any asejdbc servers (if there are any present).
8. Resolve potential migration errors. SAP IQ no longer supports some 12.7 features and objects. Update
these objects before you migrate the database.
9. Use sp_iqcheckdb to verify that your 12.7 database is clean and error free.
For information on sp_iqcheckdb output, see Administration: Backup, Restore, and Data Recovery >
System Recovery and Database Repair.
In this section:
A command line utility for SAP IQ 12.7 database migration to re-create the legacy catalog on the new database
catalog in the current installation.
iqunload does not change SAP IQ data and temp dbspaces. The utility preserves all legacy database options
and applies them to the new database. SAP IQ ignores any legacy options that no longer apply to the current
version of the software.
Note
If you are reloading a 12.7 database, remove any square brackets or back quotes in identifiers; otherwise,
the reload fails.
Syntax
iqunload [ <options> ]
Parameters
-ap size
(Optional) sets the page size for the new catalog store.
-au
(Required) supplies database connection parameters. You must specify DBF=<database file name>
for migration. The file path is either absolute or relative to the server startup directory.
-dc
Optional for simplex migration; required for multiplex migration. Use -ms_filename to specify a file name
for the new empty IQ_SYSTEM_MAIN store created during the migration.
If not specified, the default new main store is a file system file called new_main_store.iq.
(Optional) specifies the size of the new IQ_SYSTEM_MAIN reserve, in MB. If unspecified, defaults to zero.
-ms_size
(Optional) specifies the size of the new IQ_SYSTEM_MAIN store, in MB, based on the database size. The
minimum, assuming a default page size, is 200 MB. If you specify an –ms_size value smaller than the
computed value, SAP IQ uses the computed value; otherwise the specified value is used.
-n
Required for schema unload only. Unloads the schema definition only. The -n parameter requires 12.7 ESD
#5 or later.
(Optional) specifies startup switches for the new server that is the migration target. For a complete list of
server startup switches, see start_iq Database Server Startup Utility in the SAP IQ Utility Reference.
-o file_name
(Optional) outputs listed tables only. Can specify OwnerName.TableName or TableName alone.
-ul
(Optional) replaces existing reload schema SQL script with new output without confirmation.
Examples
iqunload –au –c
"UID=DBA;PWD=<password>;DBF=/mydevice/test_dir/test2.db"
• Unloads a legacy database schema and renames the generated SQL script to test2_reload.sql:
iqunload –n -c
"UID=DBA;PWD=<password>;DBF=/test_dir/test2/test2.db;
ENG=myserver_test2" –r "/test_dir/unload_dir/test2_reload.sql"
iqunload –au –c
"UID=DBA;PWD=<password>;DBF=test3.db;
START=–ch 128M –iqmc 50" –new_startline "–ch 256M –iqtc 400"
Do not include -iqnotemp <XYZ> in the new start line; this causes migration to fail. As part of the
migration process, temp files are added to IQ_SYSTEM_TEMP. If you start the server with the -iqnotemp
option, iqunload cannot add these temp files
• Migrates the legacy database, asiqdemo.db, using a raw device for the IQ_SYSTEM_MAIN store:
iqunload –au –c
"UID=DBA;PWD=<password>;DBF=asiqdemo.db" –ms_filename "/dev/rdsk/c4t0d0s3"
Usage
iqunload -n -c "UID=DBA;PWD=<password>;ENG=my_engine;DBN=my_dbname"
Schema unload mode re-creates the schema, but does not migrate data. To migrate data, extract the legacy
data and load the new database.
Migration Mode
iqunload requires an -au argument to start in migration mode. iqunload migration mode interfaces with the
12.7 support engine (iqunlspt) and the current database server (iqsrv17):
General Usage
• Insufficient cache memory causes migration errors. iqunload uses default values for various cache sizes
(catalog cache, main buffer cache, temp cache). If the legacy database requires higher cache values, use
the –ch and -cl options as part of the START connection parameter to increase the cache size.
• During database migration, the server creates a message file (*.iqmsg.R) as it reloads the generated
schema. This file is normally deleted as part of a cleanup operation for successful migrations. If the
migration fails during the reload stage, cleanup does not occur, and *.iqmsg.R remains in the unload
directory. *.iqmsg.R may contain information that can help solve your migration problems.
• iqunload writes some temporary files to the $IQTMP16 (for UNIX) or %IQTMP16% (for Windows)
directory, which must be a valid directory name.
Permissions
DBA authority
Related Information
In current multiplex configurations, multiple nodes can write to the main store, which eliminates the need for
local stores. iqlsunload is a command line utility that you can use to unload a 12.7 local store. iqlsunload is
used only in 12.7 ESD #5 multiplex migrations.
iqlsunload is bundled with all versions of SAP IQ starting with 12.7 ESD #5.
Syntax
Parameters
Example
This example unloads local stores from a database called mpxtest2, extracting any table data to the
directory /mydevice/test_dir/unload_dir:
Usage
• Run iqlsunload from the $IQDIR16/lsunload directory to pick up updated libraries before resolving
any IQ 12.7 libraries.
Unloaded Objects
Running iqlsunload with an -al argument unloads these persistent objects:
• Base tables
• Global temporary tables
• Indexes
• Domains (user-defined data types)
• Constraints (column check constraint, table constraint, primary key, foreign key, unique, default, IQ unique,
not null)
• Views
• Stored procedures and functions
• Messages
• Remote servers and external logins
• Events
• If you extract table schema and data only, the legacy database collation must match the collation of the
current database collation.
• If you do not qualify table names with owner names, iqlsunload extracts table data from all tables with
that table name.
Output Files
iqlsunload generates these output files:
• reload_schema.sql – re-creates schema for unloaded objects (either objects from local store or tables
selected by the user.) This script is executed against a node that writes to the multiplex. This node can be
either the existing writer node, or a writer or coordinator for the multiplex after migration, depending on
where you plan to re-create the schema.
• extract_data.sql – extracts table data for the unloaded tables from the local store. Execute this script
in Interactive SQL while connected to the query node from which it was generated. When this script
executes, it generates the data files into the directory data.
• reload_data.sql – loads extracted table data. This script is executed on the node where you ran
reload_schema.sql, and reloads the data extracted from the extract_data.sql file.
Permissions
DBA
Related Information
iqunlspt
iqunlspt is a self-contained subset of the SAP IQ 12.7 (ESD #5) database engine. It runs as a background
process and provides support for legacy database unloads. iqunlspt starts on your legacy database with
these options as defaults:
If your database requires special switches or memory setting, iqunlspt accepts additional startup
arguments. See the Utility Guide.
Default cache settings are sufficient for most migrations. At migration, data queries execute against the system
catalogs, not IQ data, so the iqunlspt engine needs lower cache levels than complex queries or multiple
concurrent users. The amount of time required to start the legacy database is the same as to start iqunlspt.
This time is included in the iqunload startup time.
iqsrv17
iqsrv16 -gp 4096 -c 40p -gc 20 -gd all -gk all -gl all
-gm 1 -gu all -qi -qs -ti 4400
iqsrv17 also includes the -n parameter followed by a special randomly generated server name. The -c 40p
setting provides a larger cache for the catalog store, allowing the server engine to execute many schema DDL
statements. Both server start commands use the default values for -iqmc and -iqtc. If the legacy server
requires larger startup values, use the -c switch to increase the server cache memory.
Related Information
SAP IQ no longer supports some legacy features. Run iqunload in schema unload mode to generate a
script (reload.sql) that contains the entire database schema. Compare the contents of this file to find
unsupported syntax and metadata.
In this section:
Invalid database, table, or Table names cannot contain double quote charac- Change the object name.
user names ters. User names and database names cannot con-
tain double quote characters, single quote, or semi-
colon characters. User names and database names
cannot start or end with a space.
Reserved logical server A logical server cannot be named ALL, AUTO, COOR- Drop the logical server before upgrading.
names DINATOR, DEFAULT, OPEN, or SERVER.
Join indexes Join indexes are no longer supported.iqunload Drop all join indexes before migrating
does not run if the database to be migrated contains data.
join indexes.
LD indexes LD indexes are no longer supported. Drop all LD indexes before migrating
data.
Database with BLANK iqunload searches BLANK PADDING OFF data- Drop these indexes and constraints be-
PADDING OFF bases for any indexes that would become invalid af- fore the schema reloads and re-cre-
ter migration. iqunload fails and lists indexes and ate the indexes and constraints after
constraints that must be dropped and in which order. schema reload has been completed.
Unenforced constraints iqunload fails and lists unenforced constraints Drop unenforced constraints before pro-
that must be dropped. ceeding with migration.
Old 1-byte FP or old 2- Databases created with SAP IQ 12.4.2 or earlier may Allow iqunload to check for these and
byte FP indexes have these indexes. Because these indexes were au- list them. Rebuild these indexes using
tomatically created by SAP IQ, you cannot drop and sp_iqrebuildindex before migra-
re-create them; you must rebuild them. tion. The rebuilt indexes are upgraded.
Related Information
Review the reload script (reload.sql) for legacy syntax that can cause iqunload to fail.
Problem Solution
If a CREATE TRIGGER statement does not include an owner Prefix the table name with the owner name.
name for the table on which the trigger is defined, and the
table must be qualified with an owner when referenced by the
user executing the reload.sql file, the statement fails with
a '<table–name>' not found error.
If an object name (such as a table, column, variable, or param- Change all references to the reserved word to use a differ-
eter name) corresponds to a reserved word introduced in a ent name. For variable names, prefixing the name with @
later version of SAP IQ, the reload fails. (For reserved words, is a common convention that prevents naming conflicts.
see Reference: Building Blocks, Tables, and Procedures. For ex-
ample:
CREATE PROCEDURE p( )
BEGIN
DECLARE NCHAR INT;
SET NCHAR = 1;
END
Views that use Transact-SQL outer joins (by specifying *= or Add the following line to the reload script:
=*) may not be created properly when they are reloaded.
SET TEMPORARY OPTION
tsql_outer_joins='on'
Also set this option for your database. Rewrite any views
or stored procedures that use Transact–SQL outer joins.
Stored procedures that use Transact–SQL outer joins may not Rewrite views and stored procedures.
work correctly.
Functions that have OUT or INOUT parameters cannot be re- OUT and INOUT parameters are no longer supported.
loaded. Drop these functions before reloading.
Related Information
Increase the cache memory to migrate large and extremely large schemas.
Large Schemas
Default cache settings for large schemas may be too small and can exhaust dynamic memory in the iqsrv17
server. Use the -c switch to increase the server cache memory and -new_startline to pass the switch to the
server.
-ca 1
-c 1000m
-o /iq15outputdir/iq16console.out
• -ca 1 – enables dynamic catalog cache sizing, and logs memory cache statistics to the console.
• -c 1000m – sets the initial catalog cache at 1 GB.
• -o /outputdir/iq16console.out – specifies the log file for console output.
Use a text editor to examine the .out file log entries. Watch how the catalog store adjusts the cache and
determines if the setting is appropriate.
Note
The value shown for -c is in bytes. Set switches appropriately for your system. To specify megabytes, use
the m suffix, as shown.
Running iqunload in schema unload mode (iqunload -n) generates a single script (reload.sql ) that
includes the entire legacy schema. In some cases, you may need to break a very large reload.sql file into
pieces that can be executed sequentially. This also helps the server manage the cache.
If iqunload fails in migration mode (iqunload -au) because dynamic memory is exhausted, set the cache
settings as high as your hardware and operating system limitations allow. If the failure continues, contact SAP
for assistance.
Related Information
Use the -new_startline "-z -zr all" argument to start iqsrv17 with extra logging:
iqunload -au -c
"UID=DBA;PWD=<password>;DBF=/iq-15/unload/127/db/iq127db.db"
-new_startline "-z -zr all"
-o iq15db.out
Use the START = -z -zr all argument to start the 12.7 engine with extra logging:
iqunload -v -au -c
"UID=DBA;PWD=<password>;DBF=/iq-15/unload/127/db/iq127db.db;START=-z -zr all
-o iq127db.out"
See the SAP IQ Utility Reference for details about the -z and -zr all parameters.
A message similar to this indicates that iqunload started the database but could not connect to the server:
Check to see if iqunlspt is running and stop the process before retrying iqunload.
To stop the process, enter the command kill -9 and supply the process ID:
kill –9 21172
Trying to run iqunload without killing an orphaned iqunlspt process, may generate this error:
Migration replaces 12.7 login procedures with new login management functions.
Related Information
SAP IQ16.1 migration creates a new catalog store and changes some legacy options.
Dbspaces
In current versions of SAP IQ, all user data should reside in a user dbspace comprised of one or more
files. Migration converts main dbspaces into files under one user dbspace: IQ_MAIN, for the SAP IQ
main store, and temporary dbspaces into files under a single temporary dbspace, IQ_SYSTEM_TEMP, for
a single SAP IQ temporary store. Existing catalog store dbspaces remain as dbspaces with a single file.
All of the old main dbspaces become files in the new iq_main user main dbspace. Migration sets the
PUBLIC.default_dbspace option to the value iq_main.
Logical names for files created from converted dbspaces are the dbspace name followed by an underscore and
the file ID. For example, a main dbspace with file ID 16384 becomes IQ_SYSTEM_MAIN_16384.
Main Store
Migration creates a new system file for the IQ_SYSTEM_MAIN dbspace that contains no tables. By default, the
name of this file is new_main_store.iq, but you can use the ms_filename argument to specify a different
file name. The iqunload utility computes the size of the new IQ_SYSTEM_MAIN based on the size of your
existing database.
If you accept the default settings for iqunload -au -c, the new store marked as MAIN has DBSpaceName
= IQ_SYSTEM_MAIN, DBFileName = IQ_SYSTEM_MAIN and path = new_main_store.iq. For multiplex
migration, the location of the new main store must be visible to all nodes on the multiplex, and you must use
the -ms_filename argument to specify the path instead of the default value of new_main_store.iq.
When you migrate a database, specify the file to use for the new IQ_SYSTEM_MAIN dbspace, its name, whether
or not to use a raw device, and the size of the main store and its reserve.
Migrating IQ_SYSTEM_MAIN
Specify the IQ_SYSTEM_MAIN size in the database migration command. The -ms_size parameter requires a
value in MB, not GB. Omit -ms_size and -ms_reserve to specify a raw device. For a raw device, you must
specify an unused raw partition.
asiqdemo.db asiqdemo.db.before_schema The 12.7 catalog database. This file is copied at the OS
_reload level upon successful migration; it is not a result of the SQL
backup command.
asiqdemo.log asiqdemo.log The database log file is regenerated when the migrated data-
base is used with the 16.1 server.
asiqdemo.iq asiqdemo.iq The old SAP IQ 12.7 IQ_SYSTEM_MAIN dbspace. This file
and all other user dbspaces are unaffected by the migration
process. This dbspace is added as a file to a user main
dbspace.
asiqdemo.iqm asiqdemo.iqmsg.before_sch The SAP IQ 12.7 message file. This file is copied at the OS level
sg ema_reload upon successful migration.
To unload legacy schema, run iqunload in schema unload mode (iqunload -n ) on the same machine as the
legacy schema.
Procedure
• unloadold.sql
• unload.sql
• optdeflt.sql
• opttemp.sql
2. Start the legacy server.
3. Run iqunload in schema unload mode (iqunload -n ).
Include the appropriate connection parameters and other startup options. Schema unload mode creates a
SQL script (reload.sql) in the current directory that contains the legacy database schema. reload.sql
does not contain any checkpoints. For very large schemas, edit reload.sql, to add a few checkpoints.
If you do not include extra checkpoints, IQ generates additional metadata objects that requires extra
(-iqmc) main cache memory.
reload.sql also contains a CREATE DATABASE template command that is commented out.
4. Create a new 16.1 database.
Set the IQ SIZE and TEMPORARY SIZE clauses to create an IQ_SYSTEM_MAIN of 10 GB and
IQ_SYSTEM_TEMP of 5 GB. For example:
Execution time roughly approximates the actual time to allow for database migration, excluding validation
checks. Correct any errors. Perform this process iteratively until you can cleanly load the legacy schema.
Run iqunload in database migration mode (iqunload -au) to migrate a legacy database.
In this section:
Make sure that the database file is not in use, and run the iqunload utility with the -au (migrate database)
and -c (connection parameters).
This command migrates the simplex database mytest and saves output in unload.out in the current
directory:
The database and the iqunload utility must be on the same machine to migrate the database, or iqunload
returns an error. -o is an optional switch that sends a copy of the console output to the specified log file, here
named unload.out.
Because the example specified DBF=mytest.db, the iqunload utility attempts to connect to this database in
the current directory. You can also specify the full path to the database, as shown here:
iqunload -au -c
"dbf=/ybrown/iq-16/unload/iq127db.db;uid=DBA;pwd=<password>"
Output:
Sybase IQ Unload Utility Version 16.0.0.788
Connecting and initializing
Unloading user and group definitions
Unloading table definitions
Unloading index definitions
Unloading functions
Perform post migration tasks. Make sure that the migration completed correctly. Back up your new databases.
To verify simplex migration, start the migrated database in read-only mode and perform post-migration tasks.
Procedure
start_iq -iqro 1
When starting the coordinator in 16.1, use the same port as the 12.7 writer server.
2. Issue a CHECKPOINT command.
If you run the procedure from Interactive SQL, redirect output to a file by entering:
If there is an error, you can revert to the previous database as long as you do not restart the database
in write mode. To revert to the 12.7 catalog , copy all the .before_schema_reload files to the same file
without the .before_schema_load file extension.
6. After you perform the read-only checks, stop the database server and restart in write mode.
Results
Note
For information on interpreting sp_iqcheckdb results and corrective action, see SAP IQ Administration:
Backup, Restore, and Data Recovery > System Recovery and Database Repair.
Check the SQL Remote and multiplex server log files for synchronization problems.
Procedure
Give the multiplex time to propagate any changes throughout the multiplex. To do this, look at the write
server console log file and check that the events starting with ev_iqmpx have successfully executed. By
default, the server console log file is created in $ASDIR/logfiles.
For example:
3. Wait for SQL Remote to scan the log files, then view the logs.
To migrate your local store, consolidate node-specific information into either the existing 12.7 writer or the new
SAP IQ 16.1 main store. Customize the process to meet your data requirements.
For query nodes with node- or department-specific information, use tablespaces and partitioning to achieve
the same results.
If information is duplicated across your query nodes, you may need to migrate only a single query server's
local store. The duplicated information on the other query servers becomes redundant and can be ignored for
multiplex migration.
In this section:
If the same table exists on multiple query nodes, and each node has its own subset of the data, manually edit
the local store migration scripts.
Context
For a department-specific employee table on each query server, follow these basic steps:
Procedure
The reload_schema.sql script produced for each query node contains the same schema definition for
employee.
2. Execute the reload_schema.sql from one of the query nodes against either the existing SAP IQ 12.7
writer or the new SAP IQ 16.1 main store.
3. Execute the reload_data.sql script from each of the query nodes against the same server.
This procedure creates the employee table once but loads each query node data set.
Related Information
If the same table exists on each query node with overlapping data sets, you must resolve the issue. Extract the
data files to ensure that data sets are unique, or rename the tables and then reload all the unique tables.
Procedure
1. Run iqlsunload against all query servers with local stores that have the data to consolidate.
Results
The following example shows modifications to the iqlsunload output to carry out step 2. Suppose that the
reload_schema.sql script contains:
extract_data.sql contains:
Leave extract_data.sql code unchanged to extract the sales_order table from the query server.
SET @load_statement =
'LOAD TABLE "DBA"."sales_order"
(id, cust_id, order_date, fin_code_id NULL(
'''||@null_string||''' ) , region NULL(
'''||@null_string||''' ) , sales_rep)
FROM
'''||@extract_directory||'DBA_sales_order_1_1_DATA_1.
inp'',
'''||@extract_directory||'DBA_sales_order_1_1_DATA_2.
inp'', '''||@extract_directory||'DBA_sales_order_1_1_DATA_3.
inp'',
'''||@extract_directory||'DBA_sales_order_1_1_DATA_4.
inp'',
'''||@extract_directory||'DBA_sales_order_1_1_DATA_5.
inp'', '''||@extract_directory||'DBA_sales_order_1_1_DATA_6.
inp'', '''||@extract_directory||'DBA_sales_order_1_1_DATA_7.
inp'', '''||@extract_directory||'DBA_sales_order_1_1_DATA_8.
inp'' ROW DELIMITED BY ''\n'' QUOTES ON
ESCAPES OFF DEFAULTS OFF FORMAT ASCII
IGNORE CONSTRAINT ALL 0 START ROW ID
'||@max_row_id;
SET @load_statement =
'LOAD TABLE "DBA"."q1_sales_order"
(id, cust_id, order_date, fin_code_id NULL(
'''||@null_string||''' ) , region NULL(
'''||@null_string||''' ) , sales_rep) FROM
'''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_
1.inp'',
'''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_
2.inp'',
'''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_
3.inp'',
'''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_
4.inp'', '''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_5.inp'', '''||
@extract_directory||'DBA_q1_sales_order_1_1_DATA_
6.inp'', '''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_
7.inp'', '''||@extract_directory||'DBA_q1_sales_order_1_1_DATA_
8.inp'' ROW DELIMITED BY ''\n'' QUOTES ON ESCAPES OFF
DEFAULTS OFF FORMAT ASCII IGNORE CONSTRAINT ALL 0
START ROW ID '||@max_row_id;
This example shows query server schema and data that require intervention during migration. Your
situation may vary, but you have complete control of the content of the final reload_schema.sql and
reload_data.sql files.
Related Information
Prerequisites
You now have unloaded the schema and data for local objects in the 12.7 local store.
6. Run the reload_schema.sql and reload_data.sql scripts against the 12.7 write server.
Note
If you prefer, wait until the write server has been migrated to version 16.1 and run
reload_schema.sql and reload_data.sql against the new coordinator.
Related Information
To clean the internal state information, start the write server in single-node mode.
Note
You must specify your login and password as arguments to the start_server script.
Start the writer node with the server arguments -gm 1 and -iqmpx_sn 1:
-gm 1 -iqmpx_sn 1
If you use administrative startup scripts, create a copy of the start_server.sh script to start the write
server you want to migrate. For example, copy the existing file start_server.sh to a new file called
start_server_single_node.sh.
Add the two single node startup arguments to change the preceding command as follows in
start_server_single_node.sh:
There are now two script files, start_server.sh and start_server_single_node.sh to make the server
ready for migration:
Minimum required parameters for a multiplex writer are -au (migrate database), -c (connection parameters),
ENG= connection parameter and -ms_filename. The ENG= value must match the existing server name in SAP
IQ 12.7, and the -ms_filename specifies the new main store for the migrated writer. This path must be the
same for all nodes in the multiplex.
There are two differences in the way you will execute the iqunload utility for multiplex:
• Specify the engine name in the -c connection parameters. This is the same name that your <mpx_dir>/
<writer_node>/start_server script file uses to start the writer node. The iqunload utility initially
attempts to start the database server as simplex. This start requires the name of the server to match the
naming conventions for the multiplex nodes. Once iqunload detects that the server is a multiplex node, it
shuts the node down and restarts it using the -iqmpx_sn 1 option.
• The name of the new main store must be visible and accessible by all nodes of the multiplex. This is
important because the main store file name defaults to new_system_main.iq, and its location is relative
to the catalog database file (.db). Later, when you synchronize the SAP IQ 16.1 multiplex, the catalog is
replicated to the secondary nodes, formerly known as the query nodes. If you leave the default value for the
• ENG – argument specifies the multiplex main engine name. iqunload attempts to start the database and
determine whether the database is a simplex or multiplex. If multiplex, the server name is enforced. If you
are unsure of the server name, check the administrative script start_server in the database directory.
• DBF – argument must specify the actual path used to create the multiplex. If you are unsure of this, look at
the SYSIQFILE table in your 12.7 server to verify the database path.
• -ms_filename – argument specifies the location of the new main store. This path must be visible and
accessible by all servers in the multiplex.
For example:
iqunload -au -v -c
"uid=DBA;pwd=<password>;dbf=/sunx5prod/users/marshall/mpx127/
w1/w1.db;eng=w1_1234" -ms_filename
../shared/new_main_store.iq
Verify the migrated database in read-only mode and correct any errors.
Procedure
1. Start the database using the read-only switch, -iqro 1. Start the coordinator (the 12.7 write server) using
both -iqro 1 and single node mode, -iqmpx_sn 1.
When starting the coordinator in 16.1, use the same port used by the 12.7 writer server.
2. Issue a CHECKPOINT command.
3. Run sp_iqcheckdb in verify mode:
Results
The server is currently in read-only mode, and cannot complete some post migration tasks. Additionally, the
verification reports some problems with Block Count Mismatch, Blocks Leaked, and Unallocated Blocks in Use.
No other segments of the verify database should report any errors.
For example:
Examine the sp_iqcheckdb report for errors. If you need to contact SAP Technical Support, you must provide
the output from sp_iqcheckdb.
Starting the multiplex coordinator in single-node mode (-iqmpx_sn) and read-only (-iqro) performs some
initial database checks. For coordinators, the server must reset an identity cookie before you can use the
multiplex.
Once you successfully restart the coordinator with iqro 1 and iqmpx_sn 1, shut it down and restart it
without any special switches.
For example:
To start the secondary nodes, install SAP IQ 16.1, then synchronize from the coordinator node. When you
migrate a query node, it becomes a reader node.
Procedure
1. Back up the query node files. Back up existing catalog .db, catalog .log and iqmsg files.
For example:
rename /sunx5prod/users/work/iq-127/mpx/q1/q1.db
/sunx5prod/users/work/iq-127/mpx/q1/q1.db.before_schema_reload
rename /sunx5prod/users/work/iq-127/mpx/q1/q1.log /sunx5prod/users/work/
iq-127/mpx/q1/q1.log.before_schema_reload
rename /sunx5prod/users/work/iq-127/mpx/q1/q1.iqmsg
/sunx5prod/users/work/iq-127/mpx/q1/q1.iqmsg.before_schema_reload
2. Issue a dbbackup command to synchronize servers. You might have a different name for the query node's
catalog file, depending on your configuration. In the following example, q1.db is the catalog file name on
the query node:
dbbackup -y -x -c
"uid=dba;pwd=<password>;eng=mpx_main;dbf=/sunx5prod/users/
work/iq-127/mpx/main/main.db"
/sunx5prod/users/work/iq-127/mpx/q1
3. If your query nodes do not use a different catalog database name, skip to step 4.
Step 2 synchronizes the catalog database file from the coordinator. If you prefer to use the same catalog
database file name as the coordinator, adjust any server start and stop administration scripts on the
secondary nodes to use the new name.
mv main.db q1.db
• Rename the log file for the query node. This is necessary as the file renamed above still contains an
internal pointer to main.log:
The above command line is derived from your existing query server start_server administration script.
5. Repeat these steps on the remaining secondary nodes that you want to migrate.
To start the secondary nodes, all nodes of the multiplex must be running.
Procedure
Start the secondary servers with the command line startup utility.
Where <<server_name> specifies the secondary server. You can obtain the name from the existing start
server administration script. The specified database_file.db is the name resulting after you performed the
secondary node synchronization.
After you migrate the multiplex data, connect to the coordinator, and set the failover node.
Procedure
If you cannot migrate your multiplex database, try this alternate method.
• Drop all query nodes, to change the SAP IQ 12.7 multiplex to a simplex database.
• Follow the steps for simplex databases to migrate the database to SAP IQ 16.1.
• Convert the simplex SAP IQ 16.1 database to multiplex, following the steps in SAP IQ Administration:
Multiplex > Create Multiplex Servers > Converting Databases to Multiplex.
SAP IQ 16.1 databases upgraded from 12.7 are initially set to run in 15.x compatibility mode. To complete the
change from 15.x to 16.1, you must explicitly change several 15.x compatibility settings to complete the 16.1
upgrade.
Indexes
• In Fast Projection (FP) indexes, continuous NBit dictionary compression replaces FP(1), FP(2), and
FP(3) byte dictionary compression. FP(1), FP(2), and FP(3) indexes roll over to NBit(8), NBit(16),
and NBit(24) respectively. All data types except LOB (both character and binary) and BIT data types may
be NBit columns.
If FP_NBIT_IQ15_COMPATIBILITY is OFF, IQ UNIQUE determines whether the column loads as Flat
FP or NBit. Setting IQ UNIQUE to 0 loads the column as Flat FP. Columns without an IQ UNIQUE
constraint load as NBit up to the NBit auto-sizing limits.
• New tiered HG index structure decouples load performance from HG index size. In 15.x, load throughput
could degrade as the amount of data in an HG index increased. As the index grew, loading the same amount
of data could take more time. The new tiered structure decouples load performance from the HG index size
to increase throughput.
Constraints
Constraint Description
Option Description
FP_NBIT_IQ15_COMPATIBILITY Provides tokenized FP support similar to that available in 15.x. This option is ON
by default in all 16.1 databases upgraded from 15.x and OFF in all newly created
16.1 databases.
CREATE_HG_WITH_EXACT_DISTIN Determines whether new HG indexes explicitly created with a CREATE INDEX
CTS command, or implicitly creating or altering a table with a PRIMARY KEY or a
FOREIGN KEY declaration, are tiered or non-tiered. This option is ON in 16.1
databases upgraded from 15.x and all newly created 16.1 databases. If this option
is ON, all new HG indexes are non-tiered. To take advantage of the new tiered HG
index structure, set this option to OFF.
CREATE_HG_AND_FORCE_PHYSICA Governs 16.1 delete behavior for tiered HG indexes. This option determines
L_DELETE whether SAP IQ performs a physical delete immediately or defers the delete
to a point later in the load.
Object Names
An SAP IQ 15.x database could contain tables, columns, and other objects named row. In SAP IQ 16.1, row is a
reserved word and cannot be used as an object name.
Stored Procedures
Use these stored procedures to review and change column indexes and constraints:
Procedure Description
sp_iqcolumnmetadata Returns index metadata for all columns in one or more ta-
bles.
In SAP IQ 15 and later, the character encoding specification for the EUC–TAIWAN collation now uses the
EUC_TW character set. You must re-create indexes on data in version 12.7 or earlier databases that use the
EUC_TAIWAN collation to make them work with SAP IQ 16.
Compare your existing params.cfg files with the new default.cfg file created by the installation. The
installation does not update or overwrite existing params.cfg files. In each params.cfg file, update
any parameter defaults that differ from those in the default.cfg file, while maintaining any customized
parameter settings that are appropriate for your system. Add any new startup parameters in default.cfg to
your params.cfg file. The -gl parameter, for example, is required for server startup in version 12.5 and later.
SAP IQ preserves the settings of all 12.7 database options that are still valid in migrated databases. Check for
deprecated features.
• Back up your databases again with the BACKUP statement. If you use the BACKUP statement instead of a
system–level backup, you can run backups and queries concurrently.
• For a multiplex migration, back up only the coordinator only in this manner. For secondary servers, run the
dbbackup utility from the secondary server directory.
Additional Information
• Index SAP IQ Columns > Index Types Comparison > Fast Projection (FP) Index
• Index SAP IQ Columns > Index Types Comparison > High_Group (HG) Index
In this section:
Prerequisites
• Review backup and restore procedures in SAP IQ Administration: Backup, Restore, and Data Recovery.
• Make note of the 32-bit server raw device and IQ store path names. Raw device and IQ store path names on
the 64-bit target must match those on the 32-bit machine.
Procedure
Option Description
Multiplex Start the coordinator with the -iqmpx_sn 1, -gm 1 , -iqro 1, and -iqmpx_ov 1 startup flags.
Perform these steps to move a database to another platform with the same endian structure.
Context
Platforms must share the same endian structure. Move your database, then migrate your data.
Procedure
Results
Note
If the SAP IQ version is more recent than the version on legacy platform, you must upgrade the database.
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
• Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your
agreements with SAP) to this:
• The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
• SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
• Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering an SAP-hosted Web site. By using
such links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this
information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax
and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of
example code unless damages have been caused by SAP's gross negligence or willful misconduct.
Bias-Free Language
SAP supports a culture of diversity and inclusion. Whenever possible, we use unbiased language in our documentation to refer to people of all cultures, ethnicities,
genders, and abilities.
SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.