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 02
Document Version: 1.0.0 – 2017-08-18
2 Installation Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 You are Here in the Implementation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.2 Who Should Read this Document?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 What is SAP IQ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 By the End of this Document, I Should be Able to.... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
9 Postinstallation Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.1 (Optional) The Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Creating the Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Starting and Stopping the Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Removing the Demo Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.2 (Optional) The SAP IQ Utility Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Starting the SAP IQ Utility Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.3 Setting Up your Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Installation Directory Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
How SAP IQ Locates Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Environment Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9.4 Licensing After Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
Verify and Authorize Optional Licensed Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Applying an Unserved License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Applying a Served License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
9.5 Starting and Running an SAP IQ Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
9.6 Stopping an SAP IQ Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.7 Start and Stop the SAP IQ Cockpit Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.8 Stopping the SAP IQ Cockpit Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
9.9 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Using Configuration Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
9.10 Remove Sample Application Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.11 Starting Interactive SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.12 Verify an SAP IQ Server Is Running. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
9.13 Verify SAP IQ Server Is Licensed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
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 de
termines the scale of the implementation, including simplex
versus multiplex, the licensing model, and which licensable
options to include.
Installer The individual who installs and configures SAP IQ server and
client.
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.
See What's Next? [page 116] and You are Here in the Implementation Process [page 8].
Related Information
Locate information on what's new and changed in this release, locate sizing information, and find answers to
commonly asked questions.
In this section:
See What's New in SAP IQ 16.1 on the SAP Help Portal for information on what's new, changed, and removed in
the latest SAP IQ 16.1 Support Package, and previous Support Packages.
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, and all previous
Support Packages. See What's New in SAP IQ 16.1.
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.
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:
For a current list, see SAP Note 2479579 – SAP IQ 16.1 SP02 Supported Operating Systems and Versions.
Note
The client is also available for SuSE Linux Enterprise 12.x on PowerPC (LE). This is a client package only; no
corresponding server package is available.
All SAP IQ UNIX and Linux installations include ODBC drivers needed for the client and Interactive SQL. SAP IQ
Client Suite for Windows includes 32-bit ODBC Windows drivers, which allow you to connect to SAP IQ from
third-party 64-bit Windows applications, and 64-bit Windows applications written in C++.
Platform support for the Windows network client includes Windows 2008 R2 SP1, Windows 7, Windows 8,
Windows 10, Windows 2010, and Windows 2012.
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 administration tools, 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
where the client applications reside.
form to access SAP IQ server on an 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
you will run queries. In this case, you
sources. Queries may combine data server but access data stored on both
might install an SAP IQ server and an
from two SAP IQ databases on different the Linux server and an HP server, in
SAP IQ client on the same machine. Re
platforms. mote data accessed through the client stall:
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,
where the browser runs.
but you run the app through a browser
on a Windows system, install:
● SAP IQ client on HP
SAP IQ is supported on virtualization engines, 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.
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:
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 Installs a high performance relational database management system and data analytics tools.
SAP IQ Web Drivers Drivers for Perl, Python and Ruby used to connect to
• SAP IQ databases from web-based or standalone ap
plications.
SAP IQ ODBC Driver Installs drivers for the Open Database Connectivity
standard, used to connect to SAP IQ databases from
•
ODBC-aware applications, client tools, ODBC drivers,
and Web application development tools.
Cockpit Framework Installs the framework in which SAP products can install components for managing and monitoring
SAP resources.
SAP jConnect SAP jConnect for JDBC • 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 li
censing model. The SySAM License Server provides
the ability to create a central license server from which
multiple installed SAP products can retrieve licenses.
SySAM License Utilities The SySAM License Utilities are a set of programs that
provide license administration, reporting and diagnos
• tic 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 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 Drivers for Perl, Python and Ruby used to connect to
• SAP IQ databases from web-based or standalone ap
plications.
SAP IQ ODBC Driver • Installs drivers for the Open Database Connectivity
standard, used to connect to SAP IQ databases from
ODBC-aware applications, client tools, ODBC drivers,
and Web application development tools.
SAP jConnect SAP jConnect for JDBC • SAP jConnect is a Type 4 JDBC driver, which is en
tirely Java-based. SAP jConnect is JDBC 4.0 compli
ant.
Drivers for PHP are not included in SAP IQ installation package. See http://php.net for more information.
SAP IQ database administration tools include SAP IQ Cockpit 4.0, a Web-based interface.
SAP IQ Cockpit provides a view specific to SAP IQ and full access to all its features.
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 22].
Whether you install a licensed or evaluation edition, you have 30-day access to all features and options. To use
an option beyond the 30-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 30 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 Verify and Authorize Optional Licensed Components [page 104] for information about
authorizing optional features and other issues related to license management configuration.
In this section:
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.
Unlike the Evaluation Edition, the Express Edition does not expire, but does place some limits on the way you
deploy your server.
Available at no cost, the SAP IQ Express Edition supports all options and features available in the Evaluation
Edition, and includes an IQ_XE SySAM license, which is installed as part of the Express Edition server package.
You won't need a SySAM license server for this edition.
Unlike the Evaluation Edition, which limits server access to a 30-day appraisal period, the IQ_XE SySAM
license does not expire. However, the IQ_XE SySAM license restricts the aggregated size of all IQ main
dbspaces to a size of 5 GB or less. The SAP IQ Express Edition is not eligible for production deployment and is
not supported by SAP Customer Service and Support (CS&S).
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 ta
ble 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 multi
plex 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.
Before you generate a license for SAP IQ, determine the license deployment model.
● 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.
In this section:
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.
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 up When new licenses are required for SAP IQ updates, you up
date and deploy each license for each machine where the
date all licenses for a specific license server in a single step.
SAP IQ update will run.
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
use SAP IQ via Remote Desktop Connection or other termi other Terminal Services clients, irrespective of the type of li
nal services clients. cense 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 30 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 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.
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.
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
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 thelmgrd 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.
Product machine host ID X Determine the host ID of the machine, or machine partition
where the product will run.
License server – download X Download the standalone license server software and in
and install stall 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
numbers will 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
IBM AIX Host ID uname -m (returns 000276513100), then remove both the
first and the last two digits, and use the remaining eight dig
its
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. Example: #1039716963
The Disk Serial Number is always entered with a "DISK_SERIAL_NUM=" prefix. For example:
DISK_SERIAL_NUM=3e2e17fd
The machine ID string is always entered with an "ID_STRING=" prefix. For example: ID_STRING=9c766319-
db72-d411-af62-0060b05e4c05
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:
A SySAM enabled product only needs to know the port where lmgrd is listening. The product connects to
lmgrd on that port and will then be told which port to use to connect to the SYBASE vendor daemon. This
means that the product's local license file just needs to contain the following:
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.
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:
Some applications are offered as base products with optional features that require an additional separate
license.
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
Log in to SAP Service Marketplace to generate a license key for SAP IQ. Refer to the email you received for
information about your account.
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 login 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.
Consider the storage options for your database system before installation.
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
multiplex systems require raw devices, ideally on a Storage Area Network device. Multiple raw disks enable
SAP IQ to stripe data across devices, which improves performance.
In this section:
On UNIX-like operating systems, 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.
You create a database or dbspace on a raw device or a file system file. 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. Linux uses O_DIRECT to open files, allowing SAP IQ to
support multiplex dbspace files on filesystem files, including NFS. Simplex IQ servers also support dbspace
files on NFS.
To avoid conflicts, restrict the management of dbspaces to a single database administrator on a single
connection.
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.
In this section:
Network Clients and ODBC development kits are available on the SAP IQ product support page.
There are no 32-bit ODBC drivers for SAP IQ SAP IQ. Use the SAP IQ 16.0 32-bit ODBC drivers instead.
See the Technical Release Information on the SAP IQ 16.1 Product Support 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 Create the SAP IQ Account [page 44]
user name and password? You need
this information to log on to the ma
chine to run the installation.
Do you plan to use SySAM license License Deployment [page 22] and
server? SAP IQ Server Components [page 17]
Do you need the SAP IQ Client? Do I Need the SAP IQ Client? [page 16]
Do you plan to use the SAP IQ Cockpit? Administration Tools [page 19]
If installing SAP IQ Cockpit, are the de Check Port Availability for SAP IQ
fault ports available? If the default Cockpit [page 40]
ports are in use, identify substitute
ports to be specified during the installa
tion.
Where do you plan to install the SAP Storage Options [page 35] and Net
IQ? What is the absolute path to the lo work Options [page 36]
cation?
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, 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:
● openmotif-2.3.1-2.el5
● 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
rpm -q ncurses
compat-libstdc++-296 Compatibility package that contains 2.96-RH compatibility standard C++ libraries.
To check the compatibility version installed on your installation:
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.
If the libaio package is not installed, locate the rpm file on your OS installation media and install it.
Related Information
SAP Note 2165219 - IBM XL C/C++ Runtime Environment for Linux on Power
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.
/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
Linux on Power Requires IBM LV C/C++ Redistributable Libraries
SAP IQ will fail to start on all Linux on Power Systems unless the IBM LV C/C++ redistributable libraries are
installed:
dbspawn: error while loading shared libraries: libibmc++.so.1: cannot open shared object file: No such file or
directory
Applies to all SAP IQ 16.x versions.
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, on the SAP Software Download Center , 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.
3. Choose the operating system from the dropdown list, if applicable.
4. Choose the patch level to download.
5. Click the Shopping Cart icon to add the selected components to the download basket.
6. Click Download Basket and complete the download.
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:
Related Information
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
You next task is to Apply or Update Licenses on the SySAM License Server [page 50].
Related Information
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
At any time, from within the console installer, to return to the previous prompt, type back.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer:
./setup.bin -i console
You next task is to Apply or Update Licenses on the SySAM License Server [page 50].
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.
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.
Related Information
The licensing utility program, lmutil, includes the options for managing licensing activities.
Utility Description
lmhostid Reports the system host identifier for the machine on which the command is run.
lmnewlog Moves the existing report log information to a new file name and starts a new report log file with the
existing file name.
lmpath Allows direct control over license file path settings. SAP recommends that you place all license files
in the license directory rather than scattering them and modifying the license server’s search path.
lmremove Releases the failed license to the pool of free licenses. If a SAP product is still using the license, the
product obtains the license again during its next heartbeat.
lmreread Directs the license daemon to reread the license file and to start any new vendor daemons.
lmswitch Tells the license server to start writing to a new debug log file. When you restart the license server,
it uses the debug log file specified in the options file, so you must ensure the old log is renamed to
avoid appending to it.
lmswitchr Switches the report log to a new file name. SAP recommends that you use lmnewlog to archive
the report log instead.
In this section:
Context
Procedure
lmutil -help
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.
In this section:
Related Information
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 install 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. Dese
lation lecting components already installed does not uninstall them, but can sig
nificantly speed up the installation process by not reinstalling existing fea
tures along with new features. To remove installed feature, see Uninstal
ling SAP IQ [page 126].
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 103].
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 instal
lation.
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=sybase.com.
Tip
Refer to your planning checklist.
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
At any time, from within the console installer, to return to the previous prompt, type back.
Procedure
1. From a console, change to the setup directory where you unpacked your software.
2. Start the installer:
./setup.bin -i console
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 install directory. Specifying
a different parent directory overwrites existing environment variables and may cause unexpected
behavior.
The console installer does not 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.
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,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 components to an existing instal Select Custom and select only the additional components to install. Dese
lation lecting components already installed does not uninstall them, but can sig
nificantly speed up the installation process by not reinstalling existing fea
tures along with new features. To remove installed feature, see Uninstal
ling SAP IQ [page 126].
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 103].
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 instal
lation.
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=sybase.com.
8. Review the installation summary and make adjustments as needed. Ensure that expected features are
being installed.
9. Begin the installation.
10. If installing SAP Cockpit:
a. Accept the default ports or change as needed.
Tip
Refer to your planning checklist.
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.
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 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, it is recommended that you select an evaluation license when
creating a response file. You can apply the unserved license after running the silent install. 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 the SYSAM License Manger is configured and running before
you select 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.
Note
Though optional, it is recommended that you add the file extension .properties to any custom
response file you create to help identify it.
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. You can edit any
response file, but be careful. If you edit the information in the 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 once 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:
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.
-DSYBASE_PRODUCT_LICENSE_TYPE=li Required argument to install a licensed version of the software. Not re
cense quired for evaluation version.
Results
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
To set the environment variables, change to the SAP IQ parent installation directory and execute one of the
following:
source ./IQ.csh
source ./IQ.sh
Tip
To automatically set the environment variables upon logon, consider adding the file to the /etc/
profile.d.
Note
For additional information about environment variables, see Environment Variables [page 93].
Directory Variables
$SYBASE User-defined parent instal Directory that contains the core SAP IQ server product direc
lation directory tory 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_Registry Server registry file that holds information related to the installed products. Do not mod
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.
In this section:
Running the Client and Server On the Same System [page 68]
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.
Related Information
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 install 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:
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. Dese
lation lecting components already installed does not uninstall them, but can sig
nificantly speed up the installation process by not reinstalling existing fea
tures along with new features. To remove installed feature, see Uninstal
ling SAP IQ [page 126].
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
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].
● At any time, from within the console installer, to return to the previous prompt, type back.
Procedure
1. Change to the setup directory where you downloaded and unpacked your SAP IQ software.
2. Start the installer:
./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 install directory. Specifying
a different parent directory overwrites existing environment variables and may cause unexpected
behavior.
The console installer does not 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:
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 components to an existing installation Select Custom and select only the additional components
to install. Deselecting components already installed does
not uninstall them, but can significantly speed up the in
stallation process by not reinstalling existing features
along with new features. To remove installed feature, see
Uninstalling SAP IQ [page 126].
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 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.
Note
Though optional, it is recommended that you 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
You can use the default response file, installer.properties or a custom response file. You can edit any
response file, but be careful. If you edit the information in the 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 once 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:
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.
-DSYBASE_PRODUCT_LICENSE_TYPE=li Required argument to install a licensed version of the software. Not re
cense quired for evaluation version.
Related Information
Note
You don't need to set client environment variables if the server and client are installed on the same host.
To set the environment variables, change to the SAP IQ parent installation directory and execute one of the
following:
source ./IQ.csh
source ./IQ.sh
Tip
To automatically set the environment variables upon logon, consider adding the file to the /etc/
profile.d.
Note
For additional information about environment variables, see Environment Variables [page 93].
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
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_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.
● For more information about ODBC, see the ODBC Programmer's Reference, available from Microsoft
Corporation as part of the ODBC software development kit, or from the Microsoft Web site at: http://
msdn.microsoft.com/en-us/library/windows/desktop/ms714177(v=vs.85).aspx .
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.)
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.
On UNIX-like operating systems, ODBC data sources are stored in .odbc.ini. Use a text editor to update this
file manually, or use the cross–platform iqdsn utility to create an ODBC data source.
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:
● <$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"
Note
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.
To connect to the iqdemo.db you would use a command similar to this:
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 iAnywhere JDBC driver is the default driver for Interactive SQL.
Note
The iAnywhere JDBC driver is deprecated.
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) 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)
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
The demo database is not designed to be used as a production database.
In this section:
Prerequisites
$IQDIR16/demo
2. Type:
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 88]. It
is called iqdemo.db and resides in the $IQDIR16/demo directory.
Prerequisites
Procedure
1. From a console, change to the directory where you created the demo database.
cd $IQDIR16/demo
stop_iq -stop
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 $IQDIR16/demo directory, delete all file 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 use it to log in to the SAP IQ Cockpit console and
should be stopped immediately after creating the initial SAP IQ server.
Prerequisites
Procedure
$SYBASE/IQ-16_1/bin64/cockpitutildb.sh
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 $SYBASE).
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.
Demo directory ($SYBASE/IQ-16_1/demo) 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 data to allow the creation of the
iqdemo database. .
Scripts directory ($SYBASE/IQ-16_1/scripts) 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.
To start and run, SAP IQ must find and access several types of files. Several directories or files with identical
names may reside on a system.
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 Might 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 $SYBASE/OCS-16_0/lib3p64. An
empty directory, $IQDIR16/usrlib, 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 (SAP ASE) 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 Required to run SAP IQ.
Configuration files Used to specify connection parameters. Examples include iqdemo.cfg.
Database 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
Guide.
Product scripts Are sample files that show how to create, populate, and upgrade databases.
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 the name of the file that holds Java classes.
LOAD TABLE statement The name of the file from which data should be loaded.
CREATE DATABASE statement A file name is needed for this statement and similar statements that can
create files.
In some cases, SAP IQ uses a simple algorithm to locate files. In other cases, a more extensive search is
carried out.
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 executable directory the directory in which the program executable is held. Also, directories with the
following paths relative to the program executable directory:
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
Procedure
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
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/IQ-16_1/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.
● $IQDIR16/bin[64]/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.
● $IQDIR16/demo is the location for the iqdemo database files.
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=DE
sets the default language to German.
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 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
Do not set IQTMP16 to $SYBASE or $IQDIR16.
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
Required.
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.
On UNIX, run the environment source file to include the necessary directories.
Setting
PATH = <installation_path>
Operating System
Required.
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.
The number sign “#” is an alternative to the equals sign; use it if you are setting the connection parameters
string in the SQLCONNECT environment variable. Using “=” inside an environment variable setting is a syntax
error. The = sign is allowed only in Windows.
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
context. For more information, see Connection and Communication Parameters Reference in SAP IQ
Administration: Database.
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
Required.
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_JRE8
● SAP_JRE8_32
SAP IQ Cockpit then sets COCKPIT_JAVA_HOME to the first value it finds in this list.
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 30-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 shutdown 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
Context
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 50]
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:
Parameter Description
<server-options> 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 > The 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> Database options control certain aspects of each database file you start.
start_iq uses a default configuration file ($IQDIR16/scripts/default.cfg ) 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 installed 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 sta
tus:
Syntax:
stop_iq [ options ]
dbstop Stops a server or database. Additional options let you stop a server, even if there are active
connections.
Syntax:
To use dbstop to stop a server, you must specify a server-name, as well as any connec
tion parameters you specified when you started the server.
STOP ENGINE STOP ENGINE is a SQL statement that stops a database server.
Syntax:
The UNCONDITIONALLY argument stops a database server, even if there are client connec
tions to the server.
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.
See the SAP IQ Cockpit guide for details on using this administration tool.
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
Results
See the SAP IQ Cockpit guide for details on using this administration tool.
9.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 Guide 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 67].
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. 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:
Next Steps
Prerequisites
● The initial database is running. See Starting and Stopping the Demo Database [page 88].
Note
Alternately, you can start the utility database (utility.db) instead of the initial database. For
information on the utility database, see SAP IQ Administration: Database.
Procedure
1. Create your simplex or multiplex production database using either Interactive SQL or SAP IQ Cockpit. See
the SAP IQ Interactive SQL Guide or SAP IQ Cockpit guides.
2. Create users or implement LDAP. See the SAP IQ Administration: User Management and Security guide.
3. Create groups and assign privileges and users. See the SAP IQ Administration: User Management and
Security guide.
4. Review the Database Administration Workflow documented in SAP IQ Administration: Database to:
○ Create the production database
○ Create tables in your database
○ Create indexes for your tables
○ Load data into your tables
5. Review the <database>.cfg configuration file and make adjustments as necessary.
6. Tune your database for optimal performance. See the SAP IQ Performance and Tuning Guide.
In this section:
Do Not Install SAP IQ into the Same Directory as Other Products [page 121]
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 125]
To install new system tables, you must run ALTER DATABASE UPGRADE PROCEDURE ON on existing
databases after installing SAP IQ 16.1.
Solution
The install log can help you trace the install progress and troubleshoot failed installations.
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 119]
The installer returns a "No filesystem could mount root" error when you attempt to install on IBM P6
and P7 machines.
[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
The installer returns an error when the installation media has been automatically mounted.
Solution
Remount the installation media and run the installation again:
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.
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.
Solution:
You must install gzip and reference it in the path for the installer. The installer expects to find gzip in
the /usr/bin directory.
Issue: A network resource causes the installer to stop responding and returns a syntax error. The df
command also stops responding.
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.
11.3 Licensing
You run the installer, but the installer does not prompt for any license file information.
Solution
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
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.
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:
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 02 [page 128].
[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.
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
2034975 .
Issues you should know when you install SAP IQ with other SAP products.
Solution
If this occurs, force quit InstallAnywhere, rename .com.zerog.registry.xml, and rerun the install/
uninstall.
The location of the .com.zerog.registry.xml is determined by who performs the install/uninstall. For root
users, this file is located in /var directory; for other users, the $HOME directory.
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.
These errors occur because the license files in the $SYBASE/SYSAM-2_0/bin directory installed by
Replication Agent do not have write permission.
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 02 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 02 depends on your current version of SAP IQ.
In this section:
If you are using SySAM license server, and are updating from SAP IQ 16.0 SP10 or earlier, you must upgrade
SySAM license server before updating SAP IQ.
SAP IQ 16.1 SP 02 requires SySAM license server 2.4. Use of an obsolete license server with SAP IQ may result
in license server startup failure, with the error: FlexNet Licensing error:-5,414.
To verify the current version of SySAM license server, at a command line, enter:
lmgrd -v
Related Information
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. Do one of the following:
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.
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 16.1 SP 02
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 16.1 SP 02 multiplex.
ALTER DATABASE UPGRADE 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 -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.
Procedure
2. Identify the directory where you want to open the new point-in-time recovery logs:
In this section:
If you are using SySAM license server, and are updating from SAP IQ 16.0 SP10 or earlier, you must upgrade
SySAM license server before updating SAP IQ.
SAP IQ 16.1 SP 02 requires SySAM license server 2.4. Use of an obsolete license server with SAP IQ may result
in license server startup failure, with the error: FlexNet Licensing error:-5,414.
To verify the current version of SySAM license server, at a command line, enter:
lmgrd -v
Related Information
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.
Procedure
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.
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.
13.3.4 Installation
Procedure
1. Use the appropriate utility to extract the support package to a directory on the file system.
source ./IQ.csh
source ./IQ.sh
start_iq -v2
The results should match the version string in the cover letter.
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 -gm 1 and -iqro 1 startup flags, then start the SAP IQ 16.1 SP 02
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 16.1 SP 02 multiplex.
ALTER DATABASE UPGRADE 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.
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
IQ UNIQUE 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 au
tomatically 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
Database Options
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 data
bases.
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_OPTI
ER MIZER is ON by default in all 16.1 databases upgraded from 15.x. REVERT_TO_V15_OP
TIMIZER 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.
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.
As a general rule, 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
allocate 100 GB (approximately 80% of the 128 GB total) to SAP IQ processes. Following the general rule, you
would set the -iqlm, -iqtc, and -iqmc parameters to 33 GB each.
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]):
Sample Code
// 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.
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.
Enhanced role-based security changes the way privileged system procedures run.
In this section:
Prior to SAP IQ 16.1, privileged system procedures ran with the privileges of its owner, typically the dbo system
role; this is called the SYSTEM PROCEDURE DEFINER model. In 16.x, privileged system procedures run with
the privileges of the person executing it; this is called the SYSTEM PROCEDURE INVOKER model.
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
privilege on the system procedure, you must be granted additional system privileges that are specific to the
system procedure.
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 189] 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 the SAP IQ SQL Reference Guide 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.
Refer to the SAP IQ SQL Reference Guide for the system privileges required to run each system procedure.
● sa_describe_shapefile
● sa_get_user_status
● sa_locks
● sa_performance_diagnostics
● sa_report_deadlocks
● sa_text_index_stats
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
An SAP IQ 16.1 multiplex database upgrade changes the way users access multiplex servers. Starting with SAP
IQ 15.4, logical servers provide the only means to access the multiplex server nodes.
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 pre-upgrade behavior for existing applications, the login policy option LOGIN_REDIRECTION is
added to the root logical server policy with its value set to off.
New SAP IQ 16.1 role-based security replaces the authority-based security model.
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 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 the user previously had the ability to administer the authority, he or she has
the ability to 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 op
FILE_ROLE erations.
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.
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 exam
CLIENTFILE_ROLE ple, 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.
If an authority was inheritable, grantees of the new user-extended role inherit the underlying system privileges
of the equivalent compatibility role. If the authority was not inheritable, the grantees of the user-extended role
do not inherit the underlying system privileges of the equivalent compatibility role. If the legacy group had a
password, only the extended user of the user-extended role inherits the underlying system privileges of the
compatibility role that is not inheritable.
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 automati
cally granted the PUBLIC role.
SYS This role owns the system tables and views (IQ catalog) for the database, and can per
form 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.
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.
[ IDENTIFIED BY <pwd> ]
GRANT PUBLISH TO <grantee> No change; however, you can also set the new PUBLIC op
tion, db_publisher:
SET OPTION
PUBLIC.db_publisher=<grantee_id>
ON <[ owner.]object-name>
TO <grantee>[,...]>
<permission>:
ALL [ PRIVILEGES ]
| ALTER
| DELETE
| INSERT
user-defined-function >}
TO <grantee>[,...] >
name>[,...]>
AS USER <user>
TO <client-Kerberos-principal [, …] >
AS USER <user>
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.
WITH REVOKE
<authority>: <rolename>:
BACKUP SYS_AUTH_BACKUP_ROLE
|DBA |SYS_AUTH_DBA_ROLE
|Operator |SYS_AUTH_OPERATOR_ROLE
|PROFILE |SYS_AUTH_PROFILE_ROLE
|READCLIENTFILE |SYS_READCLIENTFILE_ROLE
|READFILE |SYS_AUTH_READFILE_ROLE
|VALIDATE |SYS_AUTH_VALIDATE_ROLE
|WRITECLIENTFILE |SYS_AUTH_WRITECLIENTFILE_ROLE
|WRITEFILE |SYS_AUTH_WRITEFILE_ROLE
REVOKE PUBLISH FROM <grantee> No change; however, you can also set the new PUBLIC op
tion, db_publisher:
<[ owner.]object-name>
FROM <grantee>[,...]>
<permission>:
ALL [ PRIVILEGES ]
| ALTER
| DELETE
| INSERT
AS USER <user>
The GRANT REMOTE DBA statement syntax is still supported but deprecated. Change your applications to
grant this new role.
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.
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.
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
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.
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.
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 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.
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
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:
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
Example:
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.
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
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
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
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
Example:
In this section:
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
Example
Example:
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.
Procedure
Example
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
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
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
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
To grant the SYS_AUTH_USER ADMIN_ROLE role, execute one of the following statements:
Example
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
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
Example:
This example grants the SYS_AUTH_VALIDATE_ROLE to Mary with administrative rights and inheritance of
the underlying system privileges of the role.
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
Example
Example:
In this section:
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
Example
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
Procedure
Prerequisites
Administrative privilege over the role being migrated, and the MANAGE ROLES system privilege.
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.
Procedure
MIGRATE TO <new_role_name>
Example
Example
This statement migrates the SYS_AUTH_OPERATOR_ROLE role to the new role Custom_Operator_role.
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
Context
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 189].
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
● 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
Automatic Migration
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.
The SAP IQ database administration tool provides a personalized work center for SAP IQ.
The SAP IQ Cockpit Framework is installed as part of an SAP IQ server installation. It provides a view specific
to SAP IQ and full access to SP 02 features.
The SAP IQ Cockpit Framework manages communication between an SAP IQ Cockpit command and control
agent, SAP IQ server, and Web client. The SAP IQ Cockpit agent continually broadcasts information about the
server to subscribing clients via the SAP IQ Cockpit framework. Messages from the Web client pass through
the SAP IQ Cockpit framework to the agent, which in turn, processes the request on the SAP IQ server.
SAP IQ Cockpit activities range from simple resource monitoring to complete SAP IQ SP 02 database
administration.
Additional Information
Updating a 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.
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.
Syntax
Parameters
-ap size (optional) sets the page size for the new catalog store.
-au required for migration mode. Migrates the database.
Specify an -au argument to start iqunload in migration mode or -n argument, but not both.
-c "keyword = value, ..." (required) supply database connection parameters. You must specify a DBF
parameter to specify the name of the database file for migration. The file path is either absolute or relative
to the server startup directory.
-dc (optional) recalculate computed columns in the database.
-ms_filename 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
-ms_reserve (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. Specify -au or -n argument but not both.
-new_startline (optional) specify startup switches for the new server that is the migration target. For a
complete list of server startup switches, see the Utility Guide.
-o file_name (optional) logs output messages to <file_name>.
-q (optional) suppresses messages and windows.
-r file_name (optional) specifies the file name.
-t list (optional) outputs listed tables only. Can specify OwnerName.TableName or TableName alone.
-v (optional) returns verbose messages.
-y (optional) replaces existing reload schema SQL script with new output without confirmation.
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=D:\\test_dir\\test2\\test2.db;
Migrates database test3.db. The START connection parameter specifies switches for starting the database
being reloaded. The -new_startline parameter specifies switches for starting the utility_db to create
the new catalog store.
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 or migration fails. 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 requires an -n argument to start in schema unload mode. Schema unload mode unloads a 12.7 ESD
#5 database schema, and generates a script (reload.sql) that can re-create the schema for a database in a
current version of the software. A -c argument is required for connection parameters:
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 (iqsrv16):
● 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.
● Users with wide tables (large numbers of column/null values) should not decrease the catalog store page
size for database migration.
● If the legacy database contains invalid views, SAP IQ completes the migration but issues warnings. A
warning may occur, for example, if the tables involved in a view are dropped.
● If the legacy database is encrypted, use the DBKEY connection parameter to provide the encryption key.
The migrated database uses the same encryption key.
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
● directory (required) identifies the directory where iqlsunload unloads the data files. Create this
directory before you run iqlsunload, or point to an existing directory. This directory must be relative to
the database on the database server.
● -al (optional) unloads IQ local store schema and data.
● -c “keyword=value;...” (optional) supplies database connection parameters.
● -h (optional) prints out the syntax (help) for the utility.
● -o filename (optional) logs output messages, including errors, to <filename>.
● -q (optional) suppresses messages and windows.
● -r directory (optional) specifies the directory where SQL scripts are generated. The default reload
command file is reload.sql in the current directory. The directory is relative to the current directory of
the client application, not the server.
● -t list (optional) outputs listed tables only. Can specify OwnerName.TableName or TableName alone.
Cannot be specified with al argument.
● -v (optional) outputs verbose messages.
● -y (optional) replaces existing reload schema SQL script without confirmation.
Examples
Example 1
unload local stores from a database called mpxtest2, extracting any table data to the directory /
mydevice/test_dir/unload_dir :
Usage
General Notes
● 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
Unloading Tables
iqlsunload ignores any system tables or nonexistent tables:
● 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 coordina
tor for the multiplex after migration, depending on where you plan to recreate 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
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.
iqsrv16
iqsrv16 -gp 4096 -c 40p -gc 20 -gd all -gk all -gl all
-gm 1 -gu all -qi -qs -ti 4400
iqsrv16 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.
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, Table names cannot contain double quote charac Change the object name.
or 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 upgrad
names DINATOR, DEFAULT, OPEN, or SERVER. ing.
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 recreate
ter migration. iqunload fails and lists indexes and the indexes and constraints after
constraints that must be dropped and in which or schema reload has been completed.
der.
Unenforced constraints iqunload fails and lists unenforced constraints Drop unenforced constraints before
that must be dropped. proceeding 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
recreate 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 ta
ble 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 dif
eter name) corresponds to a reserved word introduced in a ferent 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 con
see Reference: Building Blocks, Tables, and Procedures. For ex flicts.
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 iqsrv16
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 iqsrv16 with extra logging:
Use the START = -z -zr all argument to start the 12.7 engine with extra logging:
See the Utility Guide 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 IQ 16.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 level
_reload 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 IQ 12.7 message file. This file is copied at the OS level
sg ema_reload upon successful migration.
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=SQL"
Output:
Sybase IQ Unload Utility Version 16.0.0.788
Connecting and initializing
Unloading user and group definitions
Unloading table definitions
Unloading index definitions
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 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 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
● 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=SQL;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=sql;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 Administration: Multiplex >
Create Multiplex Servers > Converting Databases to Multiplex.
SAP IQ 16 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
IQ UNIQUE In SAP IQ 16.1, IQ UNIQUE explicitly defines the expected cardinality of a col
umn and determines whether the column loads as Flat FP or NBit. Col
umns retain their IQ UNIQUE(<n>) value during a 15.x to 16.1 database up
grade.
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 da
tabases 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.
sp_iqindexrebuildwidedata Identifies wide columns that you must rebuild before they
are available for read/write activities.
sp_iqindexrebuildwidedata also generates a list of
statements that you can use to rebuild the columns.
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
● SAP IQ Administration: Database > Index SAP IQ Columns > Index Types Comparison > Fast Projection
(FP) Index
● SAP IQ Administration: Database > Index SAP IQ Columns > Index Types Comparison > High_Group (HG)
Index
● SAP IQ SQL Reference > SQL Statements > ALTER TABLE
● SAP IQ SQL Reference > Database Options > Alphabetical List of Options > FP_NBIT_IQ15_
COMPATIBILITY_MODE
● SAP IQ SQL Reference > Database Options > Alphabetical List of Options >
CREATE_HG_WITH_EXACT_DISTINCTS
● SAP IQ SQL Reference > System Procedures > Alphabetical List of System Stored Procedures >
sp_iqindexmetadata
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
Server Action
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.
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be
a binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however,
does not apply in cases of willful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations
of SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as
"sales person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun
does not exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does
not warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any
damages caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for
transparency (see: http://help.sap.com/disclaimer).