You are on page 1of 108

Informix 11.

7 Bootcamp
Database Server Administration
Information Management Technology Ecosystems

© 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

2 © 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

3 © 2010 IBM Corporation


Introduction

• In this presentation we describe several of the tools and utilities


available for the Informix database administrator

• This presentation also covers Backup and Recovery basics,


Auto Update Statistics and Data (and Index) Compression

4 © 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

5 © 2010 IBM Corporation


Administrative Utilities

• Informix utilities allow you to perform administrative tasks against


the Informix server

• Common Utilities
• genoncfg
• ifxcollect
• oninit
• onmode
• onclean
• onshutdown
• onspaces
• oncheck
• onparams
• onstat
• onlog
• ondblog

6 © 2010 IBM Corporation


genoncfg – Create default $ONCONFIG file

• Used to create a default Informix configuration file (onconfig.std)


according to your planned usage of a database server instance
• Must create an ASCII input file containing your values for the
parameters that the genoncfg utility processes
• Run the utility with the input file
• A configuration file (named onconfig) is generated and saved in the
working directory
• Does not read or modify any existing configuration file
• Input file specifications
• number of expected OLTP connections
• number of expected DSS connections
• disk space
• CPU utilization
• network connection settings
• recovery time
© 2010 IBM Corporation
ifxcollect – Collect Diagnostic Data

• Tool to collect diagnostic data for troubleshooting a specific


problem (e.g. assertion failure)
• Located in the $INFORMIXDIR/bin directory
• Output files located in the $INFORMIXDIR/isa/data directory
• Examples
• Collect information for a general assertion failure
ifxcollect –c af –s general
• Collect information for a performance problem related to CPU utilization
ifxcollect –c performance –s cpu
• Include FTP information, specify the additional information
-f -e user_name@company_name.org -p 9999.999.999
-f -m machine -l /tmp -u user_name -w password
© 2010 IBM Corporation
oninit - Initialize Database Server

• Used to initialize database server shared memory and to bring the


database server online
• Initialize shared memory and disk space with the -i option
• Initialize the server in administration mode with the -j option
• Initialize Shared Memory with the -s option
• Initialize server in Verbose mode with the -v option

• Must first set the INFORMIXSERVER environment variable to a


valid DBSERVERNAME
• Recommended to also set the environmental variables
INFORMIXDIR and ONCONFIG
• On UNIX, must be either informix or a member of the informix
group to initialize the server
• NEW - Use the FULL_DISK_INIT config parameter to prevent an
accidental disk re-initialization of an existing Informix instance
9 © 2010 IBM Corporation
onmode – Perform various Database Server Operations

• Used to perform various database operations


• Add a shared-memory segment or change shared-memory residency
• Allow large chunk mode
• Force a checkpoint or switch the logical-log file
• Control the B-tree scanner
• Set High Availability server characteristics
• Change decision-support parameters
• Manage shared memory
• Control diagnostics collection
• Change database server mode
• Dynamically add or remove virtual processors for the current database session
• Dynamically change certain configuration parameters
• Dynamically change SET EXPLAIN
• Kill a database server session or a distributed transaction
• On UNIX, must be user root or user informix to run the utility
• On Windows, must be a member of the Informix-Admin group or the
Administrators group
10 © 2010 IBM Corporation
onclean – Force a Database Server Shutdown

• Used to force a shut down of the database server when normal


shut down with the onmode utility fails
• Or the engine cannot be restarted because ipcs resources (such as
shared memory) still exist and cannot be removed with ipcrm
• Stops all oninit processes and attempts to remove all shared-
memory segments and semaphores that are recorded in the
$INFORMIXDIR/etc/.conf.$INFORMIXSERVER file
• On UNIX, must be user root or informix to execute
• The INFORMIXDIR, INFORMIXSERVER,
INFORMIXSQLHOSTS, and ONCONFIG environment variables
must be set with valid values to run this utility
• Use the onclean utility with caution
• Any pending transactions and processes can fail to complete,
and user sessions are disconnected abruptly

© 2010 IBM Corporation


onshutdown.sh – Automate Database Server Shutdown

• Used to automate shutting down the database server by


attempting to shut down the server normally

• If the server has not shut down after a specified time, forces the
server to shut down

• onshutdown script
• First runs the onmode -ky command
• After a specified wait time, runs the onclean -ky command

• The INFORMIXDIR, INFORMIXSERVER,


INFORMIXSQLHOSTS, and ONCONFIG environment variables
must be set with valid values to run this utility

• Timeout must be 10-60 (default is 30)

© 2010 IBM Corporation


onspaces – Manage Data Storage Spaces

• Used for data storage space administration


• Some of the important tasks that can be performed
• Creation and deletion of chunks
• Creation and deletion of dbspaces
• Creation and deletion of blob spaces
• Rename spaces (dbspace, blobspace, sblobspace)
• Starting and stopping Informix-based mirroring

• On UNIX, must be logged in as user root or informix to execute


• Cannot use on HDR, RSS and SDS servers
• Informix updates the oncfg_servername.servernum file every
time a dbspace, a logical-log file, or a chunk is added or deleted
• File used by Informix when it salvages logical-log files during a whole-
system restore
13 © 2010 IBM Corporation
oncheck – Monitor and Manage Disk Structures

• Used to check (-c) , display (-p), and verify (-c/-p) the


consistency of table and index data pages on disk
• Any user can execute the check options
• On UNIX platforms, you must be user informix or root to
display database data or initiate repair options
• Can repair the following types of disk structures:
• Partition page statistics oncheck –pt testdb:tab1
• Bitmap pages
• Partition blobpages
• Blobspace blobpages
• Indexes
• Sbspace pages
• Metadata partitions for sbspaces
14 © 2010 IBM Corporation
onparams – Mange Logs and Buffer Pools

• Used to:
• add / drop logical logs
Add a 1000-KB log file to rootdbs:
• resize and/or relocate physical log
onparams -a -d rootdbs -s 1000
• create / change buffer pool settings
• change logical log location

• Fails if a storage-space backup is in progress

• Cannot use on HDR, RSS and SDS servers

• Changes to the physical log do not take effect until you restart the
database server

• On UNIX, must be logged in as user root or user informix to


execute
15 © 2010 IBM Corporation
onstat – Real-time Server Statistics

• Reads shared-memory structures and provides statistics about


the database server at the time that the command executes
• Provides information that changes dynamically, including
changes in buffers, locks, indexes, and users
• Can be used to interrogate almost anything happening in the
instance at any given moment of time
• Can combine multiple onstat option flags in a single command
• Does not place any locks on shared memory, so running the
utility does not affect performance
• For example, following command prints user activity profile:
onstat –u
• The following command prints the ONCONFIG file contents:
onstat -c
16 © 2010 IBM Corporation
onlog – Monitor Completed Transactions

• Displays the contents of a logical log file, either on disk or on backup


• Useful in debugging situations when you want to track a specific
transaction or see what changes have been made to a specific table
space
• For example, following command displays all the log records for the
user informix:
onlog –u informix
• Useful debugging onlog options
-d Read from tape device (written by ontape)
-n Display the specified log(s)
-u Display the specified user(s)
-t Display the specified tblspace(s)
-x Display the specified transaction(s)
-l Display maximum information about each log record

17 © 2010 IBM Corporation


ondblog – Change Logging Mode

• Used to change the logging mode for one or more databases

• Cannot use on HDR, RSS and SDS servers

• If transaction logging for a database is turned on


• Must create a level-0 backup of all of the storage spaces that
contain data in the database before the change takes effect

• Logging Modes
• Buffered, Unbuffered, No Logging, ANSI

• For example, the following command ends transaction logging for


the MYDB database:
ondblog nolog mydb

18 © 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

19 © 2010 IBM Corporation


System Monitoring Interface (SMI)

• The System Monitoring Interface (SMI) is a read-only access


method to administrative information related to an Informix
system that:

• Provides SQL access to shared


memory structures through
pseudo-tables in the sysmaster
database

• Provides profile information for


specific user sessions

• Allows an Informix
administrator to easily automate
the system monitoring process

• NOTE: SMI is not a utility!

© 2010 IBM Corporation


SYSMASTER Database Queries

SELECT * FROM syslocks; The


The server
server
recognizes
recognizes
syslocks
syslocks as
as anan
SMI
SMI table
table and
and
reads
reads from
from
shared
shared
Shared memory
memory
Data dictionary
memory instead
instead of
of the
the
for sysmaster buffer
buffer pool.
pool.

• The sysmaster database is created automatically the first time a server


is initialized.
• The database contains data dictionary information that points to shared
memory structures.
• The sysmaster can be rebuilt with $INFORMIXDIR/bin/buildsmi
© 2010 IBM Corporation
SMI Restrictions

• You cannot lock SMI tables or use isolation levels

• INSERT, UPDATE, and DELETE statements are not


allowed

• dbschema and dbexport cannot be used on the


sysmaster database

• SELECT rowid returns unpredictable results

© 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

23 © 2010 IBM Corporation


SQL Based Administration API
• ADMIN or TASK built-in functions in the SYSADMIN database
• Each invocation inserts a record into sysadmin:command_history table
• Platform independent

• ADMIN() returns an integer indicating success


• If > 0, command succeeded and row was inserted into command_history,
• If 0, command succeeded, but could not insert a row into command_history
• If < 0, command failed, but succeeded inserting record into command_history

• TASK() returns a string indicating the status of the command


• String indicates success or failure
• Commands correspond to their onmode/onparam/onspaces
counterparts
• Example: Add a dbspace
• onspaces –c –d dbspace2 –p /work/dbspace2 –o 5000 –s 20000
• EXECUTE FUNCTION admin(‘create dbspace’, ‘dbspace2’,
‘/work/dbspace2’, “5MB”, “20MB”)
24 © 2010 IBM Corporation
Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

25 © 2010 IBM Corporation


Database Scheduler – CRON for DBAs
• Manages and executes maintenance, monitoring and administrative
tasks
• Jobs defined in the ph_task table in sysadmin database

• Types of Jobs
• [STARTUP] SENSOR: collects information on a scheduled basis
• [STARTUP] TASK: executes a specific action at a specific time or interval

• Driven by tables in sysadmin database


• ph_task: defines tasks, what they do and when they run
• ph_run: contains information about how and when a task was run
• ph_threshold: thresholds you define for use by tasks in making decisions
• ph_alert: contains list of messages, warnings or errors that must be monitored

• sysadmin database also contains work tables/views for tasks


• Tasks/Sensors can store performance data over time

• Insert a record into the ph_task table


• Scheduler does the rest!
26 © 2010 IBM Corporation
Task Setup Example

• Example of creating a TASK to purge the task history table:


INSERT INTO ph_task
( tk_name, tk_group,
tk_description,
tk_type,
tk_execute,
tk_start_time, tk_frequency )
VALUES
( "mon_command_history", "TABLES",
"Monitor how much data is kept in the command history table",
“TASK",
"delete from command_history \
where cmd_exec_time <
( select current - value::INTERVAL DAY to SECOND
from ph_threshold
where name = ’COMMAND HISTORY INTERVAL’ ) ",
"2:00:00", "1 0:00:00" );

27 © 2010 IBM Corporation


Sensor Setup Example
• Example of creating a SENSOR to capture reads and writes:
INSERT INTO ph_task (
tk_name, tk_type,tk_group,tk_description, tk_result_table,
tk_create, tk_execute, tk_start_time, tk_stop_time,
tk_delete,tk_frequency,tk_next_execution)
VALUES
(”Profile Information",
"SENSOR",
"SERVER",
“Profile Information",
“prof_tab",
"create table prof_tab (dskreads integer, bufreads int,
dskwrites int, bufwrites ); ",
“insert into prof_tab select dskreads, bufreads, dskwrites,
bufwrites from sysmaster:sysprofile”,
“04:00:00”, “04:05:00”,NULL,
INTERVAL ( 1 ) minute TO minute, DATETIME(04:00:00) HOUR TO
SECOND);
© 2010 IBM Corporation
Some built-in tasks delivered with IDS 11.5

New Built-
in Tasks
Introduced
with 11.70
– disabled
by default

29 © 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

30 © 2010 IBM Corporation


Auto Update Statistics (AUS)

• The ability to automate the maintenance of optimizer statistics,


enabled by default.

• Accomplished by:
• Identifying the tables that require new or updated optimizer statistics
and generating the update statistics commands using a task
• Running update statistics on these tables in a priority order within a
specified time using a task

• In previous Informix versions, deciding which update statistics


command to run and how often may not have been easy to
understand

• Statistics and distributions must be updated periodically to help


optimizer make correct decisions to run query efficiently

31 © 2010 IBM Corporation


AUS Implementation - Database Tasks

• AUS tasks stored in ph_task table

• Two Phases to AUS


• Auto Update Statistics Evaluation
1. Analyzes all the tables in all logged databases
2. Locates tables which exceed the predefined polices
3. Builds the update statistics commands
4. Inserts the commands into the table aus_cmd_list

• Auto Update Statistics Refresh


1. Executes the update statistics commands in the
aus_cmd_list table
2. After the command completes, it is moved to the
aus_cmd_comp table

32 © 2010 IBM Corporation


AUS Configuration Parameters Default runtime window is 1:00 AM – 5:00 AM daily

ph_threshold Table Default Description


Parameter Value
AUS_AGE 30 days How old the statistics or distributions can be
before they will be updated; even if there are no
changes.
AUS_CHANGE 10 If the table has changed by more than this
percentage then the statistics and distributions
will be updated.
AUS_AUTO_RULES 1 Turning this on will ensure statistics and
distributions are updated to Informix minimum
suggested guidelines. If the current statistics or
distributions exceed the minimum suggested
guidelines then the current setting will be used.
AUS_SMALL_TABLES 100 Tables containing less than this number of rows
will always have their statistics rebuilt.
AUS_PDQ 10 Auto Update statistics executes with this PDQ
priority.

Use OAT AUS configuration page or update sysadmin:ph_threshold to


modify these parameters.
33 © 2010 IBM Corporation
Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

34 © 2010 IBM Corporation


What is OpenAdmin Tool (OAT)?
• Web based graphical user interface to
administer Informix
• Can administer multiple local or remote Informix
instances
• First available with Informix 11
• Uses the SQL Admin API to perform the
administrative tasks IDS
Servers
Web Server
OAT

© 2010 IBM Corporation


OAT Data Server Interaction

• OAT accesses IDS using only standard SQL


statements
• Uses the existing sysmaster database to retrieve
performance and monitoring data
• Utilizes the SQL Admin API to make configuration
changes to the data server

SQL Statement

Returned Data

© 2010 IBM Corporation


OAT Installation - The OAT Stack Web Server
OAT
• OAT prerequisites:
• Web server (e.g. Apache 2.2.6)
• PHP 5.2.4
• Complied with PDO,
PDO_SQLITE, GD and
SOAP-enabled OpenAdmin Tool
• PDO_INFORMIX module
• IBM CSDK/I-Connect 3.50 Informix Connect
• Adobe Flash Player 9.0.115.0 (or Client SDK)

• All components are 100% Free! Informix


• Available from various sources PDO sqllite
PDO
• Individual pieces
• IBM PHP 5
• IIUG
• One Click Bundle Installer which
includes all the components Web Server
• IBM

© 2010 IBM Corporation


OAT – Sever Administration – Informix Configuration
Dynamic

Show ALL
38 © 2010 IBM Corporation
OAT – Space Administration – Dbspaces
ƒ Graphical summary of instance wide dbspace storage, and a text
summary by dbspace at the bottom

39 © 2010 IBM Corporation


Support for OAT

• OAT is an open source product that is NOT supported via normal


tech support channels (no PMRs)

• OAT forum on IIUG website (oat@iiug.org) is the support


mechanism
• Customers should only raise issues on this forum related to the
publicly available versions of OAT

• Beta customers using the beta versions of OAT will need to voice
the issues to beta advocates/beta forum

• John Miller’s www.openadmintool.org is a great place to obtain


more information about OAT

© 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

41 © 2010 IBM Corporation


Backup and Recovery

• Backup
• Copy of one or more dbspaces and logical logs that the database
server maintains.
• Only pure Informix pages backed up
• Operating system files or Informix configuration files are not backed up.
• Restore
• Re-creates the database server data from backed-up storage spaces
and logical log files.
• Copies data from the backup media back to disk and brings the
dbspaces to a consistent state by applying transactions from the
logical log backup.

• Reasons to restore:
• You need to replace a failed disk that contains database server data.
• You have a corrupted or destroyed database data or pages.
• You need to move your database server data to a new computer.

42 © 2010 IBM Corporation


Backup and Restore Utilities - Ontape

• ontape is the oldest utility available and one of the simplest


to use

• Logs, backs up, and restores data, and enables you to


change the logging status of a database
• It does not require a storage manager

• It can backup the data from the database server to tape,


disk, directory or named pipe

• Starting with 11.70, ontape can back up to a cloud

• The ontape utility can perform physical and logical log


backups and restores

43 © 2010 IBM Corporation


Backup and Restore Utilities - OnBar

• onbar can perform backup and restore of both dbspaces and


logical logs

• OnBar requires a storage manager like Informix Storage


Manager (ISM), Tivoli Storage Manager (TSM), Veritas
NetBackup, etc

• Important onbar features


• Parallel backup and restore
• Point in time restores
• Integrated backup verification command
• Support for external backup and restore
• Backup specific storage spaces

44 © 2010 IBM Corporation


OnBar vs. OnTape
Description OnBar Ontape
Use a storage manager to track backups and storage media? Yes No
Back/Restore all database server data and logs? Yes Yes
Back up while the database server is online? Yes Yes
Backup selected storage spaces? Yes No
Backup and restore storage spaces serially? Yes Yes
Restore selected storage spaces? Yes Yes
Initialize high-availability data replication? Yes Yes
Restore data to a specific point in time? Yes No
Rename a chunk path name or device during a cold restore? Yes Yes
Monitor performance Yes No
Perform separate physical and logical restores? Yes Yes
Backup and restore different storage spaces in parallel? Yes No
Use multiple tape drives concurrently for backups and restores? Yes No
Restart a restore after incomplete restore? Yes No
Change logging mode for databases? No Yes
Back up to a Cloud? No Yes
Perform imported restores? Yes Yes
Perform external backups and restores? Yes Yes

45 © 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

46 © 2010 IBM Corporation


Row Compression Using a Compression Dictionary
• Compression looks for repeating patterns across the entire table
• Compression candidates can be across column boundaries or within
columns
• When pattern found, string replaced by a 12bit symbol
• Symbols are stored in a dictionary for fast lookup
Dictionary
PartCode SPart Quantity LotNum BinLoc Aisle 01 NCPRPLT

ANCPRPLT 220J 200 Z165-3 NE132 6157 02 Z165-3NE1326157

SNCPRPLT 580T 132 Z165-3 NE132 6157 … …

ANCPRPLT 220J 200 Z165-3 NE132 6157 SNCPRPLT 580T 132 Z165-3 NE132 6157 …

A (01) 220J 200 (02) S (01) 580T 132 (02) …

© 2010 IBM Corporation


Compression Operations – Using Admin API Interface

• estimate_compression • repack
• Estimates compression ratio on a
table • Move rows within a table or
fragment to consolidate free
• create_dictionary space
• Creates compression dictionary • repack_offline
for a table
• XLOCK the table and move rows
• compress within a table or fragment to
• Does implicit create_dictionary consolidate free space
and compress all previous data
• shrink
• uncompress
• Return free space at end of table
• Uncompress the table and or fragment to the dbspace
deactivates compression
• Normally done after a repack
• uncompress_offline
• XLOCK table and uncompress it.
• purge_dictionary
Also deactivates compression • Delete old inactive dictionaries

© 2010 IBM Corporation


Complete Example using ADMIN API

1. EXECUTE FUNCTION task("enable_compression"); Table


Name
2. EXECUTE FUNCTION task("table
estimate_compression", "rock", "music", "mario");

3. EXECUTE FUNCTION task("table create_dictionary",


"rock", "music", "mario");

4. EXECUTE FUNCTION task("table compress repack


shrink","rock", "music", "mario");

5. EXECUTE FUNCTION task("table uncompress",


"rock","music", "mario");

6. EXECUTE FUNCTION task("table purge_dictionary",


"rock", "music", "mario");
Database Schema
Name Name
© 2010 IBM Corporation
Repack Operation Customer

• Moves all rows in a table/fragment to the Tim


beginning, leaving all the free space at
the end of the table Frank

• Online operation, users can access and Chris


update the table during the repack Jamie

Lenny

Roy
execute function task(“table repack”, “customer”, ”db”)
Travis

Steve
John

© 2010 IBM Corporation


Shrink Operation Customer

John
• Frees the space at end of table so other table Tim
can utilize this space Steve
• Entire extents are free Frank
Travis
• The last extent in a table can be partially freed Chris
• Will not shrink a table smaller than the first Jamie
extent size Roy
• New command to modify first extent size Lenny
• “ALTER TABLE MODIFY EXTENT SIZE”
• Online operation

execute function task(“table shrink”, “customer”, ”db”)

© 2010 IBM Corporation


Button to drill down to
Open Admin Tool Interface available options

Individual fragments
for table big2
Free Pages
Used Pages
Estimate of used after compression
Animated Slide
© 2010 IBM Corporation
Storage Savings

• Tables will often compress in the range of 60% - 80%


• Overall database storage savings will be between 40% and 50%
• That’s 50% less disk space needed to support an IDS 11 database!

81% Smaller

78% Smaller
Sales Table Product Table
© 2010 IBM Corporation
Potential Performance Benefit

• Performance can be improved using compression

• Many queries will benefit from compression with fewer I/Os

• Consumes more CPU - most customers not 100% CPU bound

• Lab tests show I/O bound workloads


improve by 30-40%

40% Faster
• Many utility (backup and recovery for
example) will be faster
• 2x as fast in some cases as the
database may now be half the size

© 2010 IBM Corporation


Features That Cannot Be Compressed
• Out-of-row data (e.g. blobs)
• Indexes
• Temp tables
• Catalog tables (Data Dictionary)
• Partition tables (Tablespace Tablespace)
• Dictionary tables
• Tables in the following databases:
• sysmaster
• sysutils
• sysuser
• syscdr
• syscdcv1

© 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

56 © 2010 IBM Corporation


Defragment Partitions

• Fragmented tables can degrade server performance


• A table that is frequently updated
• Frequent appends to existing partitions (can result in many extents)
• Disadvantages
• The additional overhead in mapping a logical page number to physical
address becomes a performance bottleneck
• Allocating space from a chunk is also much slower if there are many
small extents
• Can now improve performance by using defragmentation
• DEFRAGMENT a heavily used partition, table, or index
• Move data while the server is ONLINE
• Part of the BASE Informix product
• Benefit
• Brings data rows closer together to help improve performance
© 2010 IBM Corporation
Defragment Partitions - Syntax

• Use the defragment argument with the admin() or task() function


to defragment tables or indexes

• Can defragment using the table name, index name, or partition


number

EXECUTE FUNCTION admin/task(


“defragment”, “database:owner.table” )
EXECUTE FUNCTION admin/task(
“defragment partnum”, “partition_number(s)” )

Examples:
EXECUTE FUNCTION task(“defragment”,“stores7:informix.customer");
EXECUTE FUNCTION task(“defragment partnum”, “16777217,28477346");

© 2010 IBM Corporation


Defragment Partitions – Implementation & Notes

• Defragment operation tries to reduce number of extents allocated


with one contiguous extent
• If none available
• Will choose largest free extent to cover at least two used extents
• If no free extents can be found to reduce at least two existing extents
• Returns error – Cannot find free extent of large enough size
• If partition only has one extent, return warning

• Avoids lock conflicts, even for heavily used pages, by using no


locks

• Avoids long transactions by breaking up large defragment


operations into multiple transactions

• Can result in excessive logging because each page moved is


logged

© 2010 IBM Corporation


Defragment Partitions - Limitations

• Cannot stop a defragment request after the request has been


submitted

• Cannot defragment a partition if another operation is running that


conflicts with the defragment request

• You cannot defragment the following objects:


• Pseudo tables, such as Virtual-Table Interface (VTI) tables
• Tables with Virtual-Index Interface (VII) indexes
• Tables with B-tree functional indexes
• Temporary tables
• Sort files
• Optical BLOB files
• System catalog tables
© 2010 IBM Corporation
Defragment Partitions - Monitor

• Determine the number of extents for a specific table or fragment


• Run the oncheck –pt or –pT

• Print defragment partition extents


• onstat –g defragment
• Displays information about defragment requests that are active

© 2010 IBM Corporation


Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

62 © 2010 IBM Corporation


Automatic Storage Allocation - Self Maintenance

• Highly configurable, automatic expansion of existing dbspaces,


temporary dbspaces, sbspaces, temporary sbspaces and
blobspaces
• Informix can expand spaces before they are full based on a threshold
• Chunks are extended and/or created as needed

• Configure automatic and manual space management


• Create, modify, and delete one or more entries in the storage pool
• Storage pool is a list of raw devices, cooked files, and/or directories
from which Informix can allocate space as needed
• Mark chunk(s) as extendable

• Feature is fully incorporated into OAT

• A DBSA should have the ability to significantly reduce the chance


that their users will experience “out-of-space” errors and the
downtime associated with these errors
© 2010 IBM Corporation
Storage Pools

• There is one storage pool per Informix instance

• A file, device, or directory in the pool is called an entry

• You can add, modify, and delete storage pool entries

• Entries that are used up or found to be faulty are left in the


pool, but disabled

• Informix automatically detects and prevents potential chunk


overlaps

• Extending a chunk does not use the pool

© 2010 IBM Corporation


Automatic Storage Allocation - New SQL Admin API

• create <object> from storagepool APIs


• storagepool add
• drop <object> to storagepool
• storagepool modify
• storagepool delete
• <object> is either a space
• storagepool purge
• Dbspace
• Tempdbspace Storage Spaces • modify space sp_sizes
• Blobspace • modify space expand
• Sbspace • modify chunk extendable
• Tempsbspace [off]
• Chunk • modify chunk extend

© 2010 IBM Corporation


Creating and Managing Storage Pool Entries

• Adding a Storage Pool Entry


EXECUTE FUNCTION task("storagepool add", "<path>",
"<begin_offset>", "<total_size>",
"<chunk_size>", "<priority>");

• Modify Pool Entries


EXECUTE FUNCTION task("storagepool modify",
"<entry_id>", "<new_total_size>",
"<new_chunk_size>", "<new_priority>");

• Delete Pool Entries


EXECUTE FUNCTION task("storagepool delete",
"<entry_id>");
• Note: Find entry_id value in the storagepool table in the sysadmin
database (sysadmin:storagepool)
© 2010 IBM Corporation
Modifying the Create or Extend Size of a Storage Space

• Can control how a storage pool entry is used


• Modify the create size and the extend size of a storage space

• To modify the create or extend size of a storage space


EXECUTE FUNCTION task("modify space sp_sizes",
"space_number", "new_create_size",
"new_extend_size")
• new_create_size specifies the minimum size of a newly created chunk
new_extend_size specifies the minimum size used when extending a chunk

• Example: Sets the create size and extend size to 60 MB and


10 MB, respectively, for space number 3
EXECUTE FUNCTION task("modify space sp_sizes", "3",
"60000", "10000");
© 2010 IBM Corporation
Manually Expanding a Storage Space

• Expanding a Space in the Storage Pool


EXECUTE FUNCTION task("modify space expand",
"<space_name>", "<min_size>");
• Informix will expand the space by either extending a chunk or
adding a chunk using the storage pool

• Example
EXECUTE FUNCTION task("modify space expand", "8",
"1000000");

• Note
• Can only extend a chunk only if it is in an unmirrored dbspace or
temporary dbspace
• Chunk must be marked as extendable before it can be extended
© 2010 IBM Corporation
Creating a Space or Chunk from the Storage Pool
• Can create storage spaces or chunks from free space in the storage
pool with entries
• Syntax
EXECUTE FUNCTION task("create <space_type> from storagepool",
"<space_name>", "<min_size>", optional arguments...);
• Valid space_type values are: chunk. dbspace, tempdbspace, sbspace,
tempsbspace, blobspace

• Example
• Add a chunk to the dbspace named logdbs with a size of 200 megabytes
EXECUTE FUNCTION task("create chunk from storagepool",
"logdbs", "200 MB");

• Can also return space to Pool when Dropping Objects


EXECUTE FUNCTION task("drop <space_type> to
storagepool", "<space_name>");
• The space must be empty in order to be dropped
© 2010 IBM Corporation
Marking a Chunk as Extendable or NOT Extendable

• Chunks are not extendable by default

• To make a chunk extendable or non-extendable:


EXECUTE FUNCTION task("modify chunk extendable [off]",
"<chunk_num>");

• Now, you can extend it manually at any time:


EXECUTE FUNCTION task("modify chunk extend",
"<chunk_num>", "<min_size>");

• You can also wait for the server to extend it automatically

• Restriction
• Only unmirrored dbspace and temporary dbspace chunks
can be extended
© 2010 IBM Corporation
Automatic Storage Allocation - Configuration
• Instance level Configuration Parameters
• SP_AUTOEXPAND
• Toggle on or off the automatic expansion of spaces
• SP_THRESHOLD
• Minimum free space threshold triggering space expansion (%/KB)
• SP_WAITTIME
• Number of seconds to wait for space expansion before returning an
out-of-space error

• mon_low_storage task
• Periodically (default: once per hour) scans the list of dbspaces to find
spaces that fall below the threshold indicated by SP_THRESHOLD
• Attempts to expand the space below threshold by extending an extendable
chunk or by using the storage pool to add a chunk
• Configure
DATABASE sysadmin; UPDATE ph_task set tk_frequency = INTERVAL (minutes)
MINUTE TO MINUTE WHERE tk_name = “mon_low_storage”;
© 2010 IBM Corporation
72 © 2010 IBM Corporation
Agenda

• Introduction
• Administrative Command-Line Utilities
• System Monitoring Interface
• SQL Based Administration API
• Database Scheduler
• Automatic Update Statistics (AUS)
• OpenAdmin Tool (OAT)
• Backup and Recovery
• Storage Optimization
• Partition Defragmenter
• Automatic Space Management
• Appendix

73 © 2010 IBM Corporation


Task Setup

• Useful to have some knowledge of the sysmaster


database
• Much of the monitoring info comes from here

• Plan the task, including:


• A description of what you want the task to do
• The table where you want to store data
• An SQL command or Stored Procedure or function to capture
data perform actions
• Decide on when and how often you want it to run

• Insert a record into the ph_task table


• Scheduler does the rest!

74 © 2010 IBM Corporation


AUS Scheduling Information

• Since AUS is a resource intensive operation, a specific run


window can be defined
• The run window definition includes start time, the end time
and the days of the week to run the job

• Implemented by setting the start and end times of the AUS


refresh (aus_refresh_stats) task in ph_task table in the
sysadmin database

• Default runtime window is 1:00 AM – 5:00 AM daily

75 © 2010 IBM Corporation


aus_cmd_list

• This table provides a list of the update statistics commands


that need to be executed.

aus_cmd_id serial Primary key


aus_cmd_type char(1) L Low, M Medium, H High
aus_cmd_priority integer A priority to give to the table
aus_cmd_exe lvarchar The command to be executed
aus_cmd_dbs_partnum integer Database partnum in which the table
resides
aus_cmd_partnum integer Partnum of the table on which
statistics is being executed.

© 2010 IBM Corporation


aus_cmd_info

• This table provides a summary of the evaluators findings by


database.

aus_ci_dbs_partnum integer Database partnum.

aus_ci_stime datetime year to Start time for database refresh statistics.


second
aus_ci_etime datetime year to End time for database refresh statistics.
second
aus_ci_database varchar Database name.

aus_ci_missed_tables integer Number of tables missing statistics (Used


when AUS_AUTO_RULES is 0 or disabled).
aus_ci_need_tables integer Number of tables needing statistics
refresh.
aus_ci_done_tables integer Number of tables statistics completed yet
in this run.

© 2010 IBM Corporation


aus_cmd_comp

• This table contains the update statistics commands that


have been completed.

aus_cmd_id integer Foreign key from aus_cmd_list.

aus_cmd_type char L Low, M Medium, H High.

aus_cmd_priority integer A priority to give to the table.


aus_cmd_dbs_partnu integer Database partnum.
m
aus_cmd_partnum integer Partnum of the table on which
statistics is being updated.
aus_cmd_exe lvarchar The command to be executed.
aus_cmd_tme datetime year to Number of table statistics
second completed yet in this run.

© 2010 IBM Corporation


aus_work_info
• A temporary work table for AUS.
aus_info_id serial Primary key
aus_info_db_partnum integer The database partition number as stored
in sysmaster:sysdatabases
(systables.partnum).
aus_info_tabname varchar(128) Table name.
aus_info_tabid integer Table id.

aus_info_partnum integer Table partition number, for fragmented


tables this is the lock id.
aus_info_ustlowts datetime year Time the last update statistics low was
to second run.
aus_info_npused bigint Number of pages used in the table (as
stored in systables).
aus_info_nrows bigint Number of rows in the table (as stored in
systables).
aus_info_nindexes smallint Number of indexes on the table.
© 2010 IBM Corporation
aus_work_dist
• A temporary work table for AUS.
aus_dist_id serial Primary key
Aus_dist_tabid integer Table id
aus_dist_colno integer Column colno from syscolumns.
aus_dist_mode char(1) H mode on leading index columns
M mode on secondary index columns

aus_dist_resolution float Resolution previous update stats was


executed with.
aus_dist_condience float Confidence previous update stats was
executed with.
aus_dist_smpsize bigint The medium sample size used.
aus_dist_rowssmplede bigint Number of rows sampled.
aus_dist_constr_time datetime year Time most update stats was captured
to second
aus_dist_ustnrows bigint Number of rows when stats updated
© 2010 IBM Corporation
aus_work_icols

• A temporary work table for AUS.

aus_icols_tabid integer The table ID

aus_icols_colno integer The column number from syscolumns

aus_icols_lkey char(1) Y is lead key of index


N is not a lead key of an index

aus_icols_mode char(1) H mode on leading index columns


M mode on secondary index columns
aus_icols_colname varchar(128) The column name.

© 2010 IBM Corporation


command_history

• This table provides summaries of all activities executed by


the scheduler.

cmd_number serial Command Number

cmd_exec_time datetime year to second Time command executed

cmd_user varchar(254) User executing the


command
cmd_hostname varchar(254) Host was executed from

cmd_executed varchar(254) Command that was


executed
cmd_ret_status Integer Command execution
status returned
cmd_ret_msg lvarchar(30000) Message returned after
execution.

© 2010 IBM Corporation


ph_task (1)

• This table contains info on each scheduler executed task.


tk_id serial Sequential task id
tk_name char(36) Name of the task. Is unique due to a
unique index on this column.

tk_description lvarchar Task description

tk_type char(18) Task types: TASK, SENSOR, STARTUP


SENSOR, & STARTUP MONITOR.

tk_sequence integer Current data collection number System


updated; do not modify
tk_owner integer Owner’s thread ID System updated; do
not modify

tk_result_table varchar Result table name

© 2010 IBM Corporation


ph_task (continued)

tk_create lvarchar The CREATE TABLE statement


to execute.
tk_execute lvarchar The SQL object to execute.

tk_delete interval day(2) to second Deletes data older than this


interval
tk_start_time datetime year to second Starting time of this task

tk_stop_time datetime year to second Time of day task should stop


running
tk_frequency Interval day(2) to second How often task runs

tk_next_execution datetime year to second Next time task should be


executed

© 2010 IBM Corporation


ph_task (continued)

tk_attributes integer Flags. System updated; do not modify.

tk_group Varchar(128) Group Name references


ph_group(group_name)

tk_exec_num integer Number of times to execute this task. System


updated

tk_exec_time integer Total time spent executing this task. System


updated

tk_enabled boolean Whether or not the task is enabled.

tk_priority integer Job priority, on a scale of 0- 5.

© 2010 IBM Corporation


ph_run

• This table contains information about how and when each


task was executed.
run_id serial Execution time generated run id

run_task_id integer Id from Scheduler task from ph_task


table
run_task_seq integer Data collector sequence #
run_retcode integer Return/SQL code from SQL/UDR
statement
run_time datetime year to second Time this task was executed

run_duration float Time in secs. to execute job


run_ztime integer Time onstat –z was run
run_btime integer Time server started

run_mtime integer Time task was executed

© 2010 IBM Corporation


ph_group

• This table contains information about the Scheduler group


names.
group_id serial Group id

group_name varchar(129) Unique name of the group

group_description lvarchar Description of the group

© 2010 IBM Corporation


ph_threshold

• This table contains information about the thresholds for


Scheduler tasks.
id serial Alert id
task_name varchar(254) Scheduler task name associated with
the threshold
name char(36) Name of the threshold
value lvarchar Value of the threshold
value_type lvarchar(254) The data type of the value column:
v STRING
v NUMERIC
v NUMERIC, MAX, MIN

description lvarchar Description of the threshold

© 2010 IBM Corporation


ph_alert

• This table contains Scheduler data about error, warning, or


informational messages.
ID serial Alert id
alert_task_id integer Scheduler task id creating alert

alert_task_seq integer Which scheduler task id created


the alert

alert_type char(8) Information, warning or error

alert_color char(15) Severity of alert by color, green,


yellow or red

alert_time datetime_year to second Time alert was granted – default


current year to second

alert_state char(15) Last time state was changed

© 2010 IBM Corporation


ph_alert (continued)
alert_state_changed datetime year to Last time state was changed –
second default current year to second

alert_object_type char(15) Object Types: CHUNK, DATABASE,


INDEX, MISC, SERVER,
SQL_STATEMENT,
TABLE, USER

alert_object_name lvarchar(254) Object name described above

alert_message lvarchar Message associated with alert

alert_action_dbs lvarchar(256) Database to use for the action,


default is sysadmin

alert_action lvarchar Corrective Action. An SQL script


which can be executed by the user
or tool or it will be NULL if no action
is available.

© 2010 IBM Corporation


ph_version

• This table stores the version history of the object it is


recording information about.

object varchar(129) An table, index or other


object name.
type varchar(18) A table, index, value, or
colname object type.
value integer Checksums for integrity
purposes.

© 2010 IBM Corporation


Minimum Auto Update Statistics Guidelines

• Low on all indices (or on the table if no indices exist).


• High on all lead keys of indices.
• Medium on all non-lead keys:
• The minimum resolution used for Medium is 2.0
• The minimum confidence used for Medium is 0.95
• The minimum resolution used for High is 0.5

• When AUS_AUTO_RULES is set to 1, for each table, the


suggested update statistics guidelines will be followed.
• Statistics for tables with rows less than AUS_SMALL_TABLES
parameter will be unconditionally refreshed.

92 © 2010 IBM Corporation


Compression On Data Page With Multiple Rows
Multiple
Compressed
Pages
Dictionary

compress Empty Data Pages


repack

shrink

Uncompressed Compressed Compressed

• To use repack and shrink, the data need not be compressed


• repack and shrink can be done independently
• Shrink does not do an implicit repack

© 2010 IBM Corporation


HDR, ER, CDC (DataMirror) and Compression

• All are supported on compressed tables


• HDR
• Tables will be compressed on secondary only if they are
compressed on primary
• ER
• Compression status of tables is independent between
source and target, specified by user
• CDC
• Compression of targets is a function of what the target
database supports and what use specifies

© 2010 IBM Corporation


Dictionary Storage

• Each compressed (non-fragmented) table or table fragment


has its own compression dictionary
• Dictionary consumes ~75K – 100K per fragment
• Each dictionary is stored in a hidden dictionary table in that
dbspace
• Dictionary can store a maximum of 3,840 patterns, each of
which can be from 2 to 15 bytes in length
• The syscompdicts_full table and the syscompdicts view
in the sysmaster database provide information on the
compression dictionaries
• The onstat –g ppd command prints information on the
active compression dictionaries

© 2010 IBM Corporation


Automatic Storage Allocation - What is the Storage Pool?

• A list of raw devices, cooked files, and/or directories from


which Informix can allocate space as needed
• For example:
Path: /dev/rawdevice1
Offset: 500000
Total Size: 2000000
Path: /ifmx/STORAGE_DIR
Offset: 0
Total Size: 0
• storagepool table in the sysadmin database

© 2010 IBM Corporation


Configuration tuning for Data Compression

• Physical Log should be much larger


• Large Logical Logs, and a lot of them
• Compression on whole tables uses a lot of logical log space
• Parallel compression operations possible
• Only for machines > 1 CPU (# of CPU VPs)
• Fragment tables on single CPU machines
• Single fragment nptotal < BUFFERPOOL
• Not too many tables at once – backup on CPU
• Heavy use of BUFFERPOOL buffers
• Excess memory should be available in SHMVIRTSIZE.
• SHMADD minimum 4x default

© 2010 IBM Corporation


Ifxcollect syntax

• General Options
• -r <Num Times to repeat Collection>
• -d <Seconds for dealy between Collection>
• -y - Answer yes to all prompts
• -V Version Information
• -version Extended Version Information

© 2010 IBM Corporation


Ifxcollect syntax – pg 2
FTP Options
• -f - FTP the data collection
• -e <Email Address>
• -p <PMR Number>
• -m <Machine to ftp to>
• -l <Directory Location for ftp>
• -u <Username for ftp>
• -w <Password for ftp>

• Example FTP
• -f -e user@company.org -p 9999.999.999
• -f -e user@company.org
• -f -m machine -l /tmp -u username -w password

© 2010 IBM Corporation


Ifxcollect syntax – pg 3

Collection Options
• -c ids -s general
• General Collector For All Informix Family Products
• -c af -s general
• General Collector For Assertion Failures
• -c er -s general
• Collect general information For ER
• -c er -s init
• Collect information For ER Initialize Issues
• -c performance -s general
• Collect general information for performance Issues
• -c performance -s cpu
• Collect information for cpu utilization issues
• -c onbar -s archive_failure
• Collect information for onbar archive failures.
• -c onbar -s restore_failure
• Collect information for onbar restore failures.
• -c ontape -s archive_failure
© 2010 IBM Corporation
Ifxcollect -- file location

• Location of files and data:


• Configuration files for ifxcollect
• $INFORMIXDIR/isa
• Collected data
• $INFORMIXDIR/isa/data
• Configuration files
• The various configuration files are xml files, for easy
management

• Data Collector's
• Each data collector has a separate xml file associated with it.

© 2010 IBM Corporation


Extend OAT

• Create your own custom plug-ins that add new


features and functionality.
• The OAT Plug-in Manager provides a platform on
which Informix developers can build custom modules
and share these as plug-ins with the Informix user
community at large.
• For more information and an example, see:
www.ibm.com/developerworks/data/library/techarticle/
dm-0808vonbargen

© 2010 IBM Corporation


Points to Keep in Mind…
• Dictionary Storage
• Each compressed table/fragment has its own compression dictionary
• Consumes ~75K – 100K per fragment
• Stored in a hidden dictionary table in that dbspace
• Can store a maximum of 3,840 patterns, each can be from 2 to 15 bytes in length

• Data resides compressed on pages (both on-disk and in bufferpool)


• Compress, repack, repack_offline, uncompress, and
uncompress_offline operations can consume large amounts of log
space
• The table must contain at least 2,000 rows to compress and the
row size cannot be smaller than four bytes long
• You cannot perform compression operations on an HDR
secondary, RSS secondary, or SDS secondary server
• However, all replication technologies support compression
• Noise-like data (encrypted) is poorly or not at all compressible
© 2010 IBM Corporation
OpenAdmin Tool Install Options
• OAT is platform-independent
• OAT will run on any platform on which the prerequisites are
installed
• Automated Installer
• “One-click” GUI installer for OAT and all of its prerequisites
• Available on Windows and Linux only
• Installs OAT 2.21, Apache 2.2.4, PHP 5.2.4, PDO_INFORMIX
1.1.0, I-Connect 3.50
• Manual Installation
• Necessary for platforms other than Windows or Linux
• You must do a manual installation if you want to use a pre-
existing web server or PHP installation to run OAT
• OAT functions as a remote administration console
• Therefore, OAT does not have to be installed on the same
machine (or platform) as Informix

© 2010 IBM Corporation


Recent Improvements in OpenAdmin

• Auto Update Statistics • Menu Highlighting and


restructuring
• Dynamic Reconfiguration • HAC start/stop server
• Onconfig analyzer and • Read only access to server.
recommendation
• Redesigned Help system
• Historical Data Graphs • Simple installer
• Data/Index Checking • HAC connection manager wizard
• Memory Statistics • Improved documentation and
FAQ
• Simple Switching between
server
• Task Scheduler improvements

© 2010 IBM Corporation


Ontape – Backing up to a cloud

• Support for backup of Informix data to Amazon Simple Storage


Service (S3) cloud storage system and restore from it by using
ontape backup and restore utility

• Benefits
• Simplifies the process of Informix data backup to an off-site S3
storage location, which can be accessed from anywhere on the web
• Scalable storage capacity to match the growth in Informix backup data
(within backup object size limit imposed by S3)
• Reliable storage system through SLA provided by S3
• Pay-as-you-go model can provide cost-effective Informix backup
solution

© 2010 IBM Corporation


Ontape – Backing up to a cloud

1. ontape backs up the data to a file in local directory


2. ontape starts the Cloud Client and waits for it to finish
3. The Cloud Client transfers the backup file from local directory to S3
4. The Cloud Client returns its execution status back to ontape, for
ontape to finish running

* When a restore is needed:


1. ontape starts the Cloud Client and waits for it to finish
2. The Cloud Client retrieves backup file from S3 into local directory
3. ontape restores the server from the local file

© 2010 IBM Corporation


Informix 11.7 Bootcamp
Database Server Administration
Information Management Technology Ecosystem

© 2010 IBM Corporation

You might also like