® Key Features in IDS Version 10.00 Compared with IDS 9.40 Jerry Keesee, Director of the Informix Lab Jonathan Leffler STSM, Informix Database Engineering Information Management Division IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 Version 2 © 2005 IBM Corporation Agenda IDS Version 10.00 Features Summary Performance Autonomics, Ease of Administration Security Availability, ER Application Development, Standards 2 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Announcing the Availability of the V10 Release Strong IBM Information Management commitment to the IDS product line. Most industry proven, reliable, and high performing OLTP RDBMS for Open Systems. Significantly raises the bar for autonomics, embeddability, availability and low-cost operations. Most accessible platforms on the market with Unix, Windows and Linux. Highest quality and robustness suitable for missioncritical, bet your business operations for SMB and enterprises world-wide. Generally available since end of February 2005. 3 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation IDS: A Tradition of Innovation Smart Restore (TLPIT) Online Create/Drop Index 2004 Distributed High Availability (ER+HDR) Configurable Page Size 4GL/EGL VLDB – Large Chunks Java in the Server 2000 DataBlades Smart Large Objects (Blobs/Clobs) Enterprise Replication DSA Architecture Object Relational Capabilities 1998 High Availability Data Replication Data Fragmentation Parallel Data Query 1994 Online Backup 4 Distributed Query (ISTAR) IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation “To sum it all up, IDS v10.0 is a DBA’s dream come true.” Gary Ben-Israel CIO, National Institute for Testing and Evaluation Jerusalem, Israel Beta Customer 12/04 5 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation IBM Informix Dynamic Server Roadmap IDS v10 IDS v9.40 1Q 2003 Backup & Restore HDR & ER coexistence Remove size restrictions (Large File / Chunks) Security Sys. (LDAP / Encryption Monitoring, Utilities Performance 2003 6 2004 IDS vNext 1Q 2005 4GL/WebSphere EGL .Net Native Provider JDBC 3.0 Compliance Column Level Encryption Default Roles Table Level PIT Restore Configurable Page Size ER Alter, DRAUTO, Resync 2005 2006 2H 2006 Smooth Upgrade of HDR Online table re-org Dynamic Reconfiguration Auto Update Stats Auto Disk Mgmt RAS Autonomics 2007 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 IDS vNext+ 1H 2008 DB2 Interoperability Market Technology Customer Requests 2008 © 2005 IBM Corporation IDS 10.00: Summary of Ease of Administration Automated Re-Sync of Tables in ER Key Features BAR Ease of Use Enhancements Safety / High Availability / Reliability Table Level Point in Time Restore Faster Restart Query Plan and Tracing Tool Enhancements HDR Ease of Use Enhancements Partner Enhancements Configurable Page Size Larger Index Keys Create / Drop Index Online Single or Privileged User Admin Mode Rename DBSpace Default Roles Security Column Level Encryption LDAP Support for Windows 7 ER Templates / Ease Setup in ISA External Optimizer Directives Dynamically Set OPTCOMPIND ON-Tape Without Involving Backup Media App Development / SWG Integration 4GL / EGL Merge with WebSphere .Net Native Provider Visual Studio Integration JDBC 3.0 Standards Compliance Cross-DB Support for Built-In UDTs DRDA in ESQL/C & Server WORF and TDPI Bundled Performance & Infrastructure Query Processing and Load Performance Improvement Shared Memory Segments larger than 4GB IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Topics: Performance Enhancements hi Configurable page sizes External optimizer directives Engine Impact Memory to non-PDQ queries low 8 Multiple fragments in single dbspace Dynamic OPTCOMPIND Number of times requested by users IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 hi © 2005 IBM Corporation Performance: Configurable Page Size Reasons for Configurable Page Size Space efficiency – Larger pages up to 16K bytes contiguous space Increased maximum key size – Longer keys up to 3K bytes Access efficiency - fewer I/O operations for data and indices 9 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Configurable Page Size Space efficiency – larger pages up to 16K most any page type bytes contiguous space page header A row size of 1200 bytes: row1 – 1 row fits on a 2k page (6k every 3 rows). – 3 rows fit on a 4k page, a savings of 33% row2 For thirty 1200-byte rows: – A 2k page size requires 60k. – A 4k page size would require only 40k. – A 6k page size requires just 36k, a 40% savings 2048 (28) ---------2020 10 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 slot table © 2005 IBM Corporation Performance: Configurable Page Size Increased maximum key size longer keys up to 3K bytes index page page header • Placing more keys on a page, we support longer keys without drastically increasing index level depth. row1 row2 • The pre-10.0 key size limit was also a roadblock to utilizing the UNICODE character set, which caused some key values to exceed the max length. key value 11 rowid slot table del flag IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Configurable Page Size Access efficiency – Fewer I/O operations for data and indices. • Long rows put into a single page benefits data access times by decreasing the number of pages read per row. • Pages large enough to fit “oversize” rows eliminate the overhead of access time for remainders pages. • More items put on a larger index page and a decreased number of levels in a btree index reduce index traversal costs. • For DSS environments, using larger data pages that maximize disk scan rates may improve table scan performance. 12 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Configurable Page Size Larger page sizes need larger rows. Otherwise, you waste space: 2 3 235 4 11 243 Applies to indexes as well as data 6 19 251 – If the key size is too small, you waste space in the large pages. 8 28 4 10 36 12 RS = ((PS × 1024 – 28) ÷ 255) – 4 12 44 20 14 52 28 16 60 36 – Still 255 rows per page. PS × 1024 > (RS + 4) × 255 + 28 slot table entry 13 Page Row Wasted Size KB Size Space page overhead IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Configurable Page Size Create new dbspaces with non-default page size – onspaces –c –d dbspace_8k –p \ /informix/dev/sys_13.dbspace_8k.c0 \ –o 0 –s 2048000 –k 8 Note: all critical dbspaces must use basic page size. – rootdbs – dbspaces containing logical logs – dbspace containing physical log If no buffer pool of this page size exists – A new buffer pool is created – Using default buffer pool configuration. 14 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: BUFFERPOOL configuration Old, familiar parameters are technically obsolete: – BUFFERS, LRUS, LRU_MIN_DIRTY, LRU_MAX_DIRTY Use new, repeatable BUFFERPOOL parameter: – BUFFERPOOL • • • • • size=2K buffers=3000000 lrus=128 lru_min_dirty=0.01 lru_max_dirty=0.05 – Separated by commas, all on one line. • BUFFERPOOL size=2K,buffers=3000000,lrus=128,lru_min_dirty=0.01,lru_max_dirty=0.05 – Also ‘default’ instead of ‘size=nk’ 15 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: BUFFERPOOL configuration Each page size has its own buffer pool. Different buffer pool settings for each BUFFERPOOL. If you add a new dbspace with a non-default page size – and no buffer pool exists for that page size IDS allocates a new buffer pool using the default settings. If there is no BUFFERPOOL default in $ONCONFIG, – Values from onconfig.std are used instead. • And there are default defaults for the default buffer pool. BUFFERPOOL entries in ONCONFIG are allocated – Even if no dbspace currently uses that page size. 16 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: BUFFERPOOL configuration Consider using (say) 12K pages for temporary dbspaces – Configure the 12K buffer pool for temporary tables: • With high LRU_MIN_DIRTY, LRU_MAX_DIRTY • You don’t need temporary data written to disk Consider using (say) 16K pages for the major table – It gets its own buffer pool all to itself. Beware being too clever! – IDS does a good job balancing the use of buffers. 17 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Non-PDQ queries – a problem… yes PDQPRIORITY set? calculate memory for query yes will sort fit in memory? no allocate 128K of memory no sort to disk done sort in memory 18 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Memory Allocation for non-PDQ Queries Feature was first available in 9.40.xC4. You can specify how much memory is allocated to non-PDQ queries. – The default of 128K can be insufficient for queries that specify ORDER BY, GROUP BY, hash joins, or other memory-intensive options. Use the new configuration parameter, DS_NONPDQ_QUERY_MEM, to specify more memory than the 128K that is allocated to non-PDQ queries by default. The onstat, onmode, and onmonitor utilities support this configuration parameter. 19 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: External Optimizer Directives Suppose you purchase an application – But you do not get the source code for it. Suppose some of its queries work slowly – Because of a peculiarity in the optimizer, statistics, … Suppose that an optimizer hint can fix the problem. Before version 10.00, there was no way to add a hint. – Unless you used I-Spy. With version 10.00, you can store external directives. 20 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: External Optimizer Directives New SQL statement, SAVE EXTERNAL DIRECTIVES – Creates and registers external optimizer directives. – Stored in the new sysdirectives system catalog table. At run-time, external directives have to be enabled: – Per session by the new environment variable: • export IFX_EXTDIRECTIVES=1 – Enabled for client unless server disables it – 0 => disabled for this client regardless of server setting. – Or per instance by the new $ONCONFIG parameter: • EXT_DIRECTIVES 1 # Enable external directives – Enabled for client if explicitly requested – 2 => enabled unless explicitly disabled by client. – 0 => disabled for all users regardless of client setting. 21 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Multiple Fragments of a Table in One Dbspace Suppose you wanted to fragment a table with: – One fragment a quarter for two years of data. – Eight fragments in total. You needed at least 8 dbspaces for this: – Each fragment had to go into a separate dbspace. With version 9.40 and large chunks, – It is better to have one chunk per disk drive. – But you only have one 80 GB drive. 22 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Multiple Fragments of a Table in One Dbspace You can create partitions within a dbspace that can each support a table fragment. – Reduces the total number of dbspaces needed for a fragmented table. Storing multiple table fragments in a single dbspace improves query performance over storing each fragmented expression in a different dbspace. This feature improves performance and simplifies management of dbspaces 23 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Multiple Fragments of a Table in One Dbspace CREATE TABLE Example1 (…table definition…) FRAGMENT BY EXPRESSION PARTITION p1_ex1 (…) IN dbspace1, PARTITION p2_ex1 (…) IN dbspace1, PARTITION p3_ex1 (…) IN dbspace1, REMAINDER PARTITION pr_ex1 IN dbspace1; Upwardly compatible: – Old scheme had each partition anonymous in a separate dbspace. – New scheme allocates partition name same as dbspace name for upgraded fragmented tables. 24 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: OPTCOMPIND A Review response time think/optimization time query/execution time OPTCOMPIND Setting good indexes; healthy stats use index(es) 0 bad indexes; stale stats 1 if RR then 0; else 2 2 use lowest cost* healthy stats * cost = I/O + (cpu *0.03) 25 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Performance: Dynamic OPTCOMPIND You can use SET ENVIRONMENT OPTCOMPIND to set OPTCOMPIND environment variable dynamically for the current session. The value that you enter using this statement takes precedence over the current setting specified in the ONCONFIG file. The default setting of the OPTCOMPIND environment variable is restored when your current session terminates. No other user sessions are affected by SET ENVIRONMENT OPTCOMPIND statements that you execute. 26 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Topics: Administration Enhancements hi ON-Tape using standard i/o Shared memory segments bigger than 4GB Engine Impact True single user mode Renaming dbspaces Better event alarms information Viewing ON-Bar logical log info Default roles More comprehensive version information low 27 HDR setup with EBR Tablespace tablespace management Enhanced ONBar debugging Number of times requested by users IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 hi © 2005 IBM Corporation ON-Tape Using Standard I/O ON-Tape can use standard I/O channels – Instead of a tape device or disk file. – Set TAPEDEV, LTAPEDEV to STDIO. Now ontape can use pipes for archives and restores. – Process the data with other programs, – Without first saving the data in files or tape devices. – For example: • Use compression to save media space. • Use cloning to duplicate the archive for safety. • Use encryption to prevent casual snooping on archives. – But compress before encrypting when saving. – Watch the key management! – Set up HDR more quickly: • Restore the data directly to the secondary server. • Skip the step of saving the data to file or tape. 28 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Shared Memory Segments Bigger Than 4 GB On 64-bit platforms – only. Shared memory segments can be as large as: – Your operating system platform allows, – Which is controlled by the SHMMAX kernel parameter. Important for systems with large main memories. – Do not want 256 shared memory segments • On a machine with 1TB main memory for use by IDS. 29 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration: Renaming Dbspaces Existing customers who wish to reorganize their data are moving their data to a new dbspace, then reloading the data back into the original dbspace to regain the original dbspace name. – The last reload step could be avoided by using a rename dbspace option. – Helps in recycling dbspaces. Time consuming operations such as reorganizing the data in an existing dbspace can benefit from this feature. The rename dbspace operation only changes the dbspace name: – It does not reorganize data 30 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration: Renaming Dbspaces Feature was added to IDS 9.40.UC3, with limitations: – Cannot rename: • blobspaces, sbspaces, temporary, or external spaces. – Cannot rename dbspaces referenced by: • • • • DBSPACETEMP, CDR_DBSPACE SBSPACENAME, SBSPACETEMP SYSSBSPACENEAME, CDR_QHDR_DBSPACE CDR_QDATA_SBSPACE, – Cannot rename dbspaces if you are using HDR. – Cannot rename dbspaces when ER is active. 31 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration: Renaming Dbspaces In IDS version 10.00, some restrictions remain: – Rename can not be done on critical spaces • Root dbspace • Dbspace containing physical log or logical logs. – A dbspace with down chunks can not be renamed. – ON-Monitor cannot rename spaces. Take a Level 0 archive of the renamed space and root dbspace after renaming. – Otherwise, recovery from archive uses the old dbspace name. Rename on HDR primary propagates to secondary. 32 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration: Default Roles Suppose you manage your database permissions using roles. You use an application with no support for roles. You don’t have the source code, so you can’t fix it. Prior to IDS version 10.00, you were stuck. With IDS version 10.00, you can create a role – And assign that as the default role to • Individual users • Or to PUBLIC. 33 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration: Default Roles GRANT DEFAULT ROLE z_role TO zaphod; Zaphod is granted permission to use z_role. – If he does not already have that permission. When Zaphod connects to the database, – The current role is automatically set to z_role. The role can be changed after connecting: – SET ROLE NONE; – SET ROLE totherone; – SET ROLE DEFAULT; It does not limit the user – If the users knows what they’re doing. 34 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration : Managing the Tblspace Tblspace The DBSA adds a chunk temporarily to a dbspace – To create a large table in the dbspace. During processing the tblspace tblspace extends – Into the newly added chunk. The DBSA drops the large table – And now wants to drop the chunk. IDS won’t let that happen! 35 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration : Managing the Tblspace Tblspace Tblspace == partition TBLspace TBLspace – Special table that tracks other tables within a dbspace. – Every dbspace has its own tblspace tblspace • That tracks tables (partitions) within its own dbspace. – There is only one tblspace tblspace per dbspace. • But as with any tblspace it can have multiple extents. – Partnum is 0xDDD00001, where DDD = dbspace number. 36 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Resolution Options Prior to IDS 10.00 Drop Dbspace – This causes the customer to have to unload the entire dbspace. – And drop all tables in the dbspace. – Then drop and recreate the dbspace. – The rebuild all the tables in the recreated dbspace. – This creates an outage! Dial-in To Drop Chunk – Another solution was for Advanced Support dial in and drop the chunk. – They would also clean up the tblspace tblspace. – This caused down time and is risky (usually avoided). 37 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation First and Next Extent Sizes – Root Dbspace Root dbspace (oninit –i) – Two new ONCONFIG parameters to configure root dbspace – TBLTBLFIRST • Specifies the size of the first extent of the tblspace tblspace – TBLTBLNEXT • Specifies the next extent size of the tblspace tblspace – If these parameters are not present, the defaults will be used. – All sizes are in KB, and must be a multiple of the basic page size. 38 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation First and Next Extent Sizes – Non-root Dbspaces Non-root dbspace created with onspaces – When creating a new dbspace with onspaces you will now be allowed to specify the first and next extent sizes for the tblspace tblspace. • -ef <first extent size> –en <next extent size> – If these options are not used the defaults will be used. Example onspaces –c –d dbs1 –p /spare2/dbs1.1 –o 0 \ –s 10000 –ef 150 –en 150 39 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Administration : Single User Mode “Single-User Mode” feature allows the IBM Informix Dynamic Server to be put into a maintenance mode, allowing only the user ‘informix’ to connect the server. It is intended to be viewed as a mode intermediate between Quiescent mode and Online mode. It allows a DBA to have the server in a fully functional mode where any required maintenance may be performed. It is intended to be used by DBA’s to perform any SQL/DDL maintenance while preventing normal users from connecting. ISA also supports the Single-User Mode functionality. 40 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Topics : Security Enhancements hi Column-Level Encryption Engine Impact Trigger introspection PAM authentication Secure environment check before startup Restrict who can create external UDRs Restrict who can create databases low 41 Number of times requested by users IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 hi © 2005 IBM Corporation Security: PAM Authentication PAM – Pluggable Authentication Modules – It is a standardized system for allowing the OSA (Operating System Admininistrator) to configure how authentication is done. – Allows OSA to configure authentication methods. – Available on Linux, AIX, Solaris, HP-UX and others. – configured at the Operating System level. – APIs to write shared object (.so) at wws.sun.com/software/solaris/pam – PAM supports challenge-response protocols: • In response to initial authentication request, • PAM issues a challenge, • And waits for response from application. /etc/pam/conf login auth required /usr/lib/security/pam_unix.so.1 configuration file 42 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 /usr/lib/security PAM Modules © 2005 IBM Corporation Trigger Introspection In IDS before version 10.00, – Use triggers to audit modify activity on tables. – But each table needs its own logging routines • Because the structure of each table is usually different. In IDS version 9.40.xC4 or later, – You can create a single introspective routine in C: • To audit many different tables. • Obtain information about the triggered action: – Triggers, triggering tables, views, statements, – And the values of rows involved in the trigger actions. – Not for the faint of heart. • You create and install a new shared object. 43 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Restricting Registration of DataBlade Modules In IDS before version 10.00, – Any DBA or RESOURCE level user can create UDRs • Including EXTERNAL ones which load a shared library. – Any of those users could subvert the system security. In IDS version 10.00, – The DBSA can control who creates EXTERNAL UDRs. – Set IFX_ EXTEND_ROLE 1 in ONCONFIG file • Default is backwards compatible 0 or ‘off’ – insecure. – Grant EXTEND role to selected users • In each database where they must create the UDRs. • GRANT EXTEND TO udrdef1; – A DBA cannot grant the EXTEND role. 44 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Restricting Database Creation Since IDS 9.30, ONCONFIG file can contain – DBCREATE_PERMISSION – Lists the user names permitted to create databases. Strongly recommended: – Set it to a conservative value such as: • DBCREATE_PERMISSION dba1,dba2,informix – Only dba1, dba2 and informix can create databases. – Suggestion – don’t set it to just informix • Unless informix already owns all your databases, • Which isn’t the best idea, but isn’t fatal either. 45 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Security: Column Level Encryption IDS version 10.00 adds new SQL statement: – SET ENCRYPTION PASSWORD ‘password’; And new encryption and decryption functions: – ENCRYPT_AES, ENCRYPT_TDES – DECRYPT_CHAR, DECRYPT_BINARY – GETHINT Together, these permit applications to encrypt data in the columns. Discussed in the March ‘Chat With The Lab’ – Not repeated here. 46 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Security: Secure Environment Check Server utilities check that the environment is secure – Before doing anything dangerous. – In versions 7.31.UD7, 9.30.UC8, 9.40.UC3, and later. Public write permission is forbidden – On both directories and files which are checked. For each key directory: – $INFORMIXDIR itself, and – Sub-directories bin, lib, etc, msg, gls, aaodir, dbssodir: • Check that the directory exists. • It is owned by user informix and the correct group. 47 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Security: Secure Environment Check The permissions on the ONCONFIG file are correct. – The file must belong to the DBSA group. – Usually, the ONCONFIG file is owned by user informix. The permissions on the sqlhosts file are correct. – Normally, the sqlhosts file is $INFORMIXDIR/etc/sqlhosts. – The owner should be user informix. – The group should be either informix or the DBSA group. Configuration filenames shorter than 256 characters. – $INFORMIXDIR/etc/onconfig.std – $INFORMIXDIR/etc/$ONCONFIG – Hence, INFORMIXDIR shorter than 238 characters, • Less if $ONCONFIG is longer than 12 characters. 48 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Topics : Availability Enhancements hi Table Level Restore Engine Impact Online Index Drop & Rebuild low 49 Faster Recovery with Fuzzy Checkpoints Number of times requested by users IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 hi © 2005 IBM Corporation Availability: Recovering Quickly with Fuzzy Checkpoints Two new configuration parameters (FAST_RESTART_PHYSLOG and FAST_RESTART_CKPT_FUZZYLOG) reduces the time required for engine recovery. This supports high availability by improving recovery performance when using fuzzy checkpoints. 50 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Availability: Index Changes CREATE INDEX and DROP INDEX now supports DDL operations that apply no exclusive lock to the table on which the specified index is defined. – If you use this syntax to create an index on a table that other users are accessing, the index is not available until no user is updating the table. – After you issue the new syntax to drop an index, no one can reference the index, but concurrent DML operations can use the index until they terminate. – Dropping the index is deferred until no user is using the index. – This feature maintains the availability of the table within a production environment after an existing index has ceased to be efficient. 51 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Availability: Point-in-Time Table Restore Purpose: to provide the customer with the ability to easily extract a set of tables, a table or a portion of a table from a level 0 archive to a user specified point in time. The extracted data can be placed in an external table or on a table on the server of the user’s choice regardless of server version or machine type as long as the database server is listed in the sqlhost file. 52 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Benefits to the DBA SQL Driven Distributed Restore (SDDR) Extract a table or set of tables Data may be placed in the same version database or on a different database version with a different machine architecture You may apply a filter to the retrieved data Retrieve just a subset of the columns Repartitioning of the data 53 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Topics : Application Development/Standards Enhancements hi Support of Java Eclipse Framework Engine Impact JDBC 3.0 Spec Support Full Support of .NET Server Studio Java Edition 4.1 included ESQL/C to DB2 Support low 54 Number of times requested by users IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 hi © 2005 IBM Corporation Applications : JDBC 3.0 Support Version 3.0 of the IBM Informix JDBC Driver supports the following features in compliance with the Sun Microsystems JDBC 3.0 specification: Internally update BLOB and CLOB data types using all methods introduced in the JDBC 3.0 specification. Retrieve auto-generated keys from the database server. In addition, J/Foundation supports JRE Version 1.4 and the JDBC 3.0 specification. 55 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Applications : Full .NET support The IBM Informix .NET Provider enables Windows .NET applications to access and manipulate data in IBM Informix databases. The IBM Informix .NET Provider is a runtime library that encapsulates a data access API for use by Microsoft .NET applications. It consists of a set of specialized classes that implement standard Microsoft ADO.NET interfaces and serves as a bridge between IBM Informix databases (data sources) and .NET applications. Windows client applications written in any .NET supported language can take advantage of the IBM Informix .NET Provider. Some examples of client applications are: – Visual BASIC .NET applications – Visual C# .NET applications – Visual J# .NET applications – ASP.NET web applications The IBM Informix .NET Provider a connection editor dialog box, a command editor dialog box, and a data adapter wizard as Microsoft Visual Studio add-ins. 56 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Applications: ESQL/C to DB2 You can run Informix ESQL/C applications with DB2 servers and databases. The Informix ESQL/C product provides a new library that is called when you use the esql command to preprocess your files to work with DB2. Informix ESQL/C runs with DB2 Version 8.2, or later, running on Linux, UNIX, and Windows operating systems. 57 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Topics : HDR/ER Enhancements hi Resending indexes in HDR Engine Impact Automatic switchover of HDR servers (DRAUTO) low 58 Easier ER setup with templates Seamless online resynchronization of ER nodes ALTER of replicated tables Number of times requested by users IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 hi © 2005 IBM Corporation HDR: Resending Indexes in HDR You can resend an index that became corrupt on the secondary server in an HDR pair. Resending an index is quicker than dropping and then rebuilding the index on the primary server. This feature increases the availability of the HDR primary server. 59 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation HDR: DRAUTO You can automate switching servers for HighAvailability Data Replication if the primary server fails by using the DRAUTO configuration parameter. If DRAUTO is set to either – RETAIN_TYPE or REVERSE_TYPE, the secondary database server switches to type standard automatically when an HDR failure is detected. • RETAIN_TYPE, the original secondary database server switches back to type secondary when the HDR connection is restored. • REVERSE_TYPE, the original secondary database server switches to type primary when the HDR connection is restored, and the original primary switches to type secondary. 60 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Overview – This feature provides alter support for tables being replicated via Enterprise Replication. – Currently, if the table schema needs to be altered or if the fragmentation strategy needs to be changed, then replication must be stopped, then alter is performed and then replication must be restarted. This is problematic as it makes it impossible to really consider ER in a 24X7 environment. List of supported alter operations 1. The ability to add/drop default values 2. The ability to add/drop SQL checks 3. The ability to add/drop fragments 4. The ability to attach/detach fragments 5. The ability to add/drop columns 6. The ability to recluster indexes 7. The ability to alter non replicated columns 61 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Alter mode – Alter mode is a new state of a replicated table. – DML operations are disallowed in this mode. – DDL operations on a replicated table are allowed only while the table is in alter mode. – Alter mode can be set/unset manually through CDR CLI or implicitly through SQL alter statement itself. – Clients can alter the replicated table without placing the table in alter mode through ‘cdr alter …’ command. SQL layer will internally do a callback to ER to set/unset alter mode before and after performing the alter operation. One exception to this is ‘attach fragment’ scenario. 62 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Attach fragment scenario For attaching a new fragment, first DBA needs to place the replicated table in alter mode through CDR CLI interface, drop the primary key, attach the fragment, recreate the primary key then unset alter mode through CDR CLI interface. 63 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Mastered Replicates Currently no way to know if data types match between replicate nodes Provides data type checking to eliminate possibility of corruption New syscdr tables track data type information 64 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Remastering process – Existing replicate can be redefined by “remastering the replicate”. Through remastering process, a new column can be added/dropped to/from a replicate definition. – Also an existing non-mastered replicate can be converted to a mastered replicate using remastering process. – A replicate can be remastered using two different procedures • Auto remastering – – – 65 Auto remastering can be performed through “cdr remaster” command syntax for “cdr remaster” command cdr remaster –m <master server group name> <replicate name> <select statement> In order to perform auto remastering, mastered replicate definition must be defined with ‘name verification on’ attribute (--name y). That means, replicated table column names must match across all the replicate participants. IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Manual remastering procedure – Create a shadow replicate with same attributes as primary replicate and with new select clause, swap the existing primary replicate and the newly created shadow replicate. – Syntax for manual remastering procedure Syntax for shadow replicate creation: cdr define replicate –-mirrors <primary replicate name> shadow replicate name [participant definitions] Note: Select statements in the participant definitions can include newly added column(s) or can omit dropped column(s). Syntax for shadow replicate creation: cdr swap –c <server name> -p <primary replicate_name> -P <primary replicate id> -s <shadow replicate name> -S <shadow replicate id> After remastering is done, the old replicate definition will get cleaned up automatically once the replicate definition is no longer required. 66 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Steps required for adding a new column to a replicated table – Perform alter operation and add the new column to the replicated table at all the participating nodes – Remaster the replicate to include the newly added column to the replicate definition. Steps required for dropping a replicated column – Remaster the replicate and remove the column(s) being dropped from the replicate definition. – Wait for the shadow replicate(created as part of remastering process) to get cleaned up automatically. – Perform the alter operation and drop the column(s) from the replicated table at all the participating nodes. 67 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Restrictions – ER must be in active state for altering a replicated table except in scenarios where adding/dropping check constraints and default values. – Alter operations are supported only on tables defined with mastered replicates. – Altering a replicated column size or data type is not supported. (Note: Modifying a non replicated column is supported). – Rename table operation is not supported – Rename column operation is not supported – Drop table operation is not supported 68 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Alter table/fragment support Things to consider while altering a replicated table – Have sufficient log space to avoid long transaction – Have sufficient space in queue sbspace. – Have sufficient number of locks Troubleshooting – If the alter operation returns sql error code 19996 (can not unset alter mode): • • • • 69 Check the server log file to get the exact ER error message and the corresponding error number. Correct the error. Unset alter mode manually through CDR command line interface. Note: Even though user gets SQL error code –19996, user transaction might have committed. The reason for this is, alter mode unset operation is attempted after completing(commit/rollback) the user transaction. IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Replicate Templates Overview – Ease of ER administration and setup • The entire Enterprise Replication domain can be setup using simple commands with options such as defining replicates on all tables within database, specified on the command line or using a input file. • A template can perform an initial data synchronization on new servers being added to a template.. • A template can optionally create tables during realization if they do not exist on target servers during template realization. – Eliminates most of the table Schema related errors • Templates use the master dictionary from the Master node to create these tables to ensure consistent schemas between the nodes. 70 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Replicate Templates Defining a template: cdr define template example1 -c detroit \ -C timestamp -S tran \ --master=chicago \ --database=new_cars table1 table2 table3 Template name of example1. Connection is made to the server detroit. Conflict-resolution rule is timestamp. Conflict-resolution scope is transaction. Master replicate information is on server chicago. Use the new_cars database. Include only the tables table1, table2, and table3. 71 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Replicate Templates Another example of defining a template: cdr define template example1 -c detroit \ -C timestamp -S tran \ --master=chicago -–ignoredel y \ --database=new_cars -–file=tables.list Much of it the same as before. Specify --ignoredel so delete operations are not replicated. – Retaining deleted rows on target servers is useful for consolidation models. Specify --file if the list of replicated tables is in a file. There are short-form options for the long ones: – For example, --master is the same as –M. 72 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Replicate Resynchronization Overview – Meant to be used to: • Bring a newly participating table up-to-date with the ongoing replication • Repair a replicated table if replication was stopped or failed for some reason. – Two ways to repair a table: • Quick way: By processing the ATS/RIS files. • Other way: By defining and running a ‘resynch job’. 73 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation ER Enhancements: Event Messages In existing product (pre 10.0), all ER event alarms are identified with event class id 6 (ALRM_SUBS) and class message “internal subsystem failure”. – This makes it hard to automate ER administrative work. IDS 10.00 introduces new ER class IDs for specific ER events – Now clients can automate ER administrative tasks. – For example, add a new chunk to the ER queue sbspace • If the queue stable storage is full. 74 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation 75 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation IDUG / IIUG 2005 Conference May 22nd-26th – Denver Convention Center Denver, Colorado, USA http://www.iiug.org/conf Over 50 technical presentations dedicated to Informix All given either by Informix R&D staff or by fellow Informix Users Four Specialized Training Sessions: A Technical Deep Dive into IDS 10 Advanced IDS Setup from Disk to Engine Is Your DBA Paranoid Enough? Everything You Always Wanted to Know about Informix SQL Meet the Informix Developers and fellow Informix Users IIUG Annual General Meeting Largest gathering of Informix Users in the world in 2005! Completely run by the International Informix User Group To Register(*) visit: http://www.iiug.org/conf For more information see: http://www.iiug.org/news/insider/insider_mar05.html#2 http://conferences.idug.org/namerica/2005/index.cfm * Note: All registration is handled by IDUG – The International DB2 User Group (IDUG). 77 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Continued Focus on Quality #1 Theme = Customer / Partner Loyalty – Demonstrated quality improvements compared to previous releases – Results of numerous quality initiatives driven by customer feedback – Significant reduction in backlog across all code-lines – Significant improvement / expansion of test suites – Improved TCO and usability – Improved product reliability – Improved application development capabilities – Extended beta with excellent participation and feedback 78 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation IDS v10 Platforms Support OS Platform 79 Platform SPARC SPARC Sun Solaris 8,9 Solaris 8,9 HP HP-UX 11iv1 PA-RISC HP-UX 11iv1 PA-RISC 32/64-bit Platform 64-bit 32-bit 64-bit 32-bit 64-bit Itanium 2 DEC Alpha HP-UX 11iv2 Tru64 5.1B Microsoft Win 2K Win 2003 Intel Intel 32-bit 32-bit Itanium 2 Win 2003 64-bit IBM AIX 5.2 AIX 5.2 Power Power 32-bit 64-bit zSeries pSeries Linux Linux SGI IRIX 6.5.x MIPS 64-bit Intel Linux x86 x86 32-bit 64-bit IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Helpful Links & Contacts Informix Instant Answers by E-mail: – mailto:ibmifmx@us.ibm.com Informix Product Page – http://www.ibm.com/informix/ Informix Platform Roadmap – http://www-306.ibm.com/software/data/informix/pubs/roadmaps.html Informix Product Life Cycle (PLC) Roadmap – http://www-306.ibm.com/software/data/informix/support/plc/ Informix International User Group (IIUG) – http://www.iiug.org DM Today Newsletter – http://www-3.ibm.com/software/data/db2infonews/ 81 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation Helpful Links & Contacts WW Informix Sales Support Danilo Novelli 1-305-442-3604 danilo@us.ibm.com WW Informix Technical Enablement Mark Scranton 1-303-929-0914 mscranto@us.ibm.com IDS Product Manager Fred Ho 1-650-926-5824 hof@us.ibm.com Informix Client & Classics Omkar Nimbalkar Product Manager 1- 650-926-1976 omkarn@us.ibm.com 82 IBM Informix Dynamic Server | Key Features in IDS 10.00 | Chat With The Lab | 2005-04-06 © 2005 IBM Corporation