SAP DB Release Information (7.4.03.28 to 7.4.03.32) Kernel: ======= PTS: 1128771 since: 7.4.03.32 Fixed Problem: appearance: Error -9041 System error: BD Index not accessible at update command. Preconditions and circumstances: During an update the index was dropped. Workaround: Usage of more restrictive sql locks. Solution: If an index root page is not belonging to the index tree anymore the command is parsed again so the access strategy is determined new. PTS: 1128670 since: 7.4.03.32 Fixed Problem: appearance: The kernel crashes while executing a dml statement that fires a trigger. Preconditions and circumstances: The trigger contains both, dynamic and static sql. The static sql follows the dynamic sql and the static statement refererences columns of the trigger table. Workaround: None. Solution: Fixed the kernel bug. PTS: 1128646 since: 7.4.03.32 Fixed Problem: Appearance: A select with rowno predicate result in row not found although a result should exist. Preconditions and circumstances: In the catalog record of the table the row count have to be 0. This could only be checked with x_diag. Workaround: Recreate table by create like, insert select and rename table. PTS: 1128629 since: 7.4.03.32 Fixed Problem: appearance: The knldiag contains a lot of failed read attempts. After a couple of read attempts of the same page, the page could be returned without an error. Preconditions and circumstances: You need a small data cache and therefore a lot of i/o. Workaround: increase configuration parameter CACHE_SIZE Solution: modification of db kernel PTS: 1128604 since: 7.4.03.32 Fixed Problem: appearance: error -3008 POS Invalid keyword or missing delimiter with an error-position around 500 (for domain.users) Preconditions and circumstances: select ... from domain.users/domain.roles version 7.5.1 / 7.6 sqlmode <> internal OR any other complex view defined with sqlmode x used with sqlmode y (x <> y) including syntax/date-format not correct for the current sqlmode/date-time-format Workaround: select with the same sqlmode/date-time-format as was used when the view was defined Solution: sqlmode/date-format-handling has to be changed when handling complex views PTS: 1128543 since: 7.4.03.32 Fixed Problem: Appearance: Bad performance at select on very huge table because of wrong strategy decision. Preconditions and circumstances: The result of the multiplication of read datapages and total length of the output record is larger than the maximum of signed int4 Workaround: no PTS: 1128535 since: 7.4.03.32 Fixed Problem: appearance: a kernel with a corrupted FBM doesn't crash Preconditions and circumstances: corrupted FBM Workaround: monitor knldiag and stop kernel by hand Solution: revert to old behavior PTS: 1128495 since: 7.4.03.32 Fixed Problem: appearance: Deadlock during liveCache restart. At least one task is in vsuspend state 236. Preconditions and circumstances: You need a lot of removed OID's, a high rate of savepoints and a lot of redo log. Workaround: Recuce the number of redo log to a minimum. Use more restore data resp. restore pages Solution: db kernel update PTS: 1128446 since: 7.4.03.32 Fixed Problem: appearance: The system view MEMORY_HOLDERS yields no symbolic back trace. Preconditions and circumstances: The platform does not yield demangled symbols (example HP-IPF). Workaround: None. Solution: Kernel bug has been fixed. PTS: 1128362 since: 7.4.03.32 Fixed Problem: appearance: core in slowknl with traceback ak67reskey_build + 331 bytes a67_sel3_second_part ak660three_phase range violation value 0 lower bound 1 Preconditions and circumstances: select on view + view defined in 7.3 + underlying table is systemview Workaround: none Solution: reskey_build has to take into account, that old views on top of systemviews do not have keycolumns PTS: 1128326 since: 7.4.03.32 Fixed Problem: appearance: endless CPU loop of one garbagecollector during restart of the liveCache Preconditions and circumstances: garbagecollectors have to drop containers during restart Workaround: configuring only 1 garbagecollector befor trying to restart should help Solution: upgrade to actual build PTS: 1128317 since: 7.4.03.32 Fixed Problem: appearance: Crash in catalog cache Preconditions and circumstances: Select on a complex view, which was defined with sqlmode <> oracle, for the select oracle-mode and select-fetch-optmization are used Workaround: None for R/3, otherwise the select-fetch-optimization should be avoided Solution: The handling of the systemview-record has to be changed. PTS: 1128296 since: 7.4.03.32 Fixed Problem: appearance: Error -3004 Invalid host file sequence at 'restor log replace ' command on an unicode db with a filename > 32 characters. Workaround: Usage of filenames with less than 32 characters Solution: Now the filename limitation is 64 characters like in all other commands PTS: 1128232 since: 7.4.03.32 New Feature: Feature description: The create statement of views that could not be recreated during a migration (either during the implicit migration during first startup of a database in a higher kernel release or the migration of the catalog to unicode) is now logged in a new table SYSVIEWMIGRATIONPROTOCOL which belongs to the sysdba. The table shows the migration type (either 'Implicit Migration' or 'CatalogToUnicode'), a timestamp stating when the entry was made, the error code and error position within the statement and the statement itself. In a unicode database the table's character columns will are of type unicode, in an ASCII database of type ASCII. The table will be created during the loading of the system tables or during any migration if it does not exist. During the migration of the catalog to unicode its previous contents will be lost. Formerly the implicit migration created the table SYS_VIEW_MIGRATION_PROT and the catalog migration to unicode the table SYS_UNICODE_MIGRATION_PROT. Both these tables will not be created any more. PTS: 1128225 since: 7.4.03.32 Fixed Problem: appearance: A log-backup-operation returns -126 "Databackup missing (Backuphistory lost)" although a databackup has been made before. Preconditions and circumstances: The logvolume has been set to "autooverwrite on" or to "logwriting off". Due to this there is a permanent history-lost situation, wich can not be solved by performing a complete data backup. Workaround: none needed Solution: Introduction of a new error code for this situation: -127 "Logwriting has to be enabled" -128 "Overwrite of log has to be switched off" PTS: 1128213 since: 7.4.03.32 Fixed Problem: appearance: liveCache crash during restart within knldiag file you will find following messages: SAPDBErr Assertion of state bd91ReleaseUnusedObject failed failed! DBCRASH vabort:Emergency Shutdown, Log_History.cpp: 1072 Preconditions and circumstances: garbagecollector releases an empty page, which has got empty because of delete objects and then the page is re-allocated to satisfy the creation of new objects within another class container. Then livecache crashes for whatever reason Workaround: none Solution: uprade to actual build PTS: 1128185 since: 7.4.03.32 Fixed Problem: appearance: Wrong result when selecting a view Preconditions and circumstances: selecting a view which includes - select on top of a view which has some qualification plus - ( (..)) or - (..) with some arithmetic/concat for the set function-result for example create view v1 as select ... from .. where ... create view v2 as select count(...) - 1 from v1 select * from v2 Workaround: do not select the second view, but use the select which is saved in the second view Solution: the value used for the qualification in first view has to be stored together with the definition of the second view. So far it was lost/the qualification during select done with not-initialized/wrong values. PTS: 1128139 since: 7.4.03.32 Fixed Problem: appearance: There are lock collisions on rows with different keys. Preconditions and circumstances: no Workaround: no, the transaction end solves the problem. Solution: There are two different hashes used now which produce 2 uint4 values. In addition the 23rd first bytes of the original key are taken and the 23rd last bytes are taken for the compressed lock key. PTS: 1128098 since: 7.4.03.32 Fixed Problem: appearance: negative SERVERDBSTATISTICS Preconditions and circumstances: more than ~20.000.000 Pages or 160GB data Workaround: none Solution: prevent overflow in calculation PTS: 1128092 since: 7.4.03.32 Fixed Problem: appearance: Some catalog query returns error -9111, from VKB721, move 37. Preconditions and circumstances: Probably a select ... into statement has been running. Workaround: None. Solution: Fixed a bug in kernel. PTS: 1128085 since: 7.4.03.32 Fixed Problem: appearance: If a table is created via CREATE TABLE ... AS SELECT and a constraint is defined for that new table, it is posible to insert data which violates the constraint. Preconditions and circumstances: The yields data violating the constraint. Workaround: Create the table without the constraint, delete all rows violating the constraint and create the constraint via the alter table statement. Solution: Fixed the kernel bug. PTS: 1127992 since: 7.4.03.32 Fixed Problem: appearance: A log backup into a pipe leads to a kernel crash. Subsequent Logbackups are not possible and terminates the kernel with the message "OldestNotSaved not found" Preconditions and circumstances: A logsegement has been saved into a pipe and the last saved page is the last page on the LogVolume. Workaround: 1. Do a complete backup, then clear the log in order to initialize the LogInfopage and do a recovery as far as possible or 2. patch the value of OldestNotSaveOffset in the LogInfoPage to 1 Solution: code correction PTS: 1127946 since: 7.4.03.32 Fixed Problem: appearance: Out of memory problem after tracing used internal symbolic stack backtraces very often (AIX only) Preconditions and circumstances: Parameter ALLOW_DEMANGLE must be set to YES Workaround: Set ALLOW_DEMANGLE=NO and restart your database. Solution: ALLOW_DEMANGLE is replaced by SYMBOL_DEMANGLING leading to a new default after upgrade installation. This automatically fixes the problem. PTS: 1127913 since: 7.4.03.32 New Feature: Feature Description: For better error diagnostics in case of lock collisions on pages the pageNo is visible in the console output after the suspend reason. Additional the pageNo is visible in the systemtable domain.sysmon_active_task in the column WATING4ROOT. PTS: 1127909 since: 7.4.03.32 Fixed Problem: appearance: crash in precompiler Preconditions and circumstances: data for one record (one dataportion) together with the other parts sent during execution is longer than the input order interface Workaround: shorten the statement --> do not include as many parameter --> usually shorten the number or OR-conditions or the number of IN-values Solution: the check in the kernel takes the other parts sent during execution into account PTS: 1127885 since: 7.4.03.32 Fixed Problem: appearance: The restart of a aborted previous restart crashes with access violation caused by null-pointer access. The slowknl aborts with Assertion DeleteForRedoCopy failed. Preconditions and circumstances: This can happen if the previous restart has a savepoint which contains an open committed transaction and the reader just points to this commit as the last read entry. During second restart the transaction is immediately inserted into the redo list so the redo tasks can process it. When the reader is restarted again the first entry it reads is the commit entry of the already processed transaction. At this point a check should assure that this found commit does not try to insert the transaction a second time. This condition was wrong and so resources were tried to deallocate which were not allocated. Workaround: The recovery must be started again with a data recovery and should be avoided to abort the redo process. Solution: Code Correction PTS: 1127843 since: 7.4.03.32 Fixed Problem: appearance: Linux_IA64 only: The database does not start if USE_COROUTINES is set to YES (Default NO) Preconditions and circumstances: Parameter USE_COROUTINES must have been set to YES on Linux_IA64. Workaround: None, you must set USE_COROUTINES to NO on Linux_IA64 without this patch. Solution: The coroutine context alignment was fixed, which allows to set USE_COROUTINES to YES. PTS: 1127775 since: 7.4.03.32 Fixed Problem: appearance: The problem has never been occurred yet. Preconditions and circumstances: No more memory inside the allocator. Besides the diagnose tool is now able to display dumped allocator chunks. PTS: 1127733 since: 7.4.03.32 Fixed Problem: appearance: Restart of a previous Restart fails with "SAPDBErr Assertion of state cannot read afterimage failed!" Preconditions and circumstances: This can happen if a previous restart is continued. Workaround: The recover must be repeated with the last data backup and should not be aborted until it is finished. Solution: code correction PTS: 1127607 since: 7.4.03.32 Fixed Problem: appearance: liveCache console doesn't show name of running db procedure Preconditions and circumstances: liveCache is to be defined as Unicode instance ( _UNICODE = YES ) Workaround: none Solution: upgrade livecache PTS: 1127429 since: 7.4.03.32 Fixed Problem: Appearance: Kernel aborts command execution with error code "-9043 BD Fdir access not allowed". Preconditions and circumstances: This could happen if a data base kernel release greater than 7.4.03.29 is used and the optimizer chooses a merge strategy on an index as a good strategy. Note that the error is a temporay effect and probably could not be reproduced. Further on the data base is consistent. No recovery is needed! Workaround: none PTS: 1127353 since: 7.4.03.32 Fixed Problem: appearance: After redo records are missing. Preconditions and circumstances: Redo of aborted redo does not redo a half read logentry. If a log recovery is cancelled and there was just half of a logentry copied. This entry is not again copied if the log recovery is started again at this point. Workaround: Repeat recovery without aborting the log recovery. PTS: 1127318 since: 7.4.03.32 New Feature: Feature description: The migration of the catalog from ASCII to unicode now no longer aborts if a view can't be recreated. Instead the view will be dropped and its name and definition be logged in the table 'VIEW_UNICODE_MIGRATION_PROT'. The view name will also be logged in the file knldiag. In case the drop of the view returns an error, the view name will be logged in knldiag.err. The recreation of comments on database objects is now also allowed to fail if the table/view the comment is defined on can't be found. Failure of comment recreation will only be logged in knldiag. PTS: 1127262 since: 7.4.03.32 Fixed Problem: Appearance: Operations which needs server tasks support could not be executed, because servertask management is not able to take new orders. Return code -1025 "Too many net request" is assigned. For example Check data (with update) needs a lot of time to examine the data base structure, because each -1025 yields to sleep period of one second and after 10 attempts the utility tasks checks the structure of the current file without server task support. Preconditions and circumstances: Your release is greater or equal to 7.4.3.17 and your data base contains blobs which are longer than about 200 KB. Workaround: Set the configuration parameter _READAHEAD_BLOBS to 200.000 pages. After the patch is available set the configuration sparameter to th eoriginal value. PTS: 1127152 since: 7.4.03.32 Fixed Problem: appearance: the output for datacache-hitrate differs between dbm-output and monitor-output Preconditions and circumstances: liveCache-environment Workaround: none Solution: datacache-hits for dbm-output has to take liveCache-hits into account PTS: 1127082 since: 7.4.03.32 Fixed Problem: appearance: Livecache crashes with "SAPDBErr Assertion of state transno is nil failed!" The stack backtrace ends in RemoveHistory(). Preconditions and circumstances: In HistoryFiles the user tasks append their und files and must synchronize with the garbage collectors which are reading, processing and removing these entries. The Append operation has accidently released the page lock before the undo file info entry was written. If in this moment a garbage collector is reading the page contents it may happen that the GC read inconsistent information which relates to this assertion. Workaround: Persistent structures are valid. So a restart will solve the situation. PTS: 1127015 since: 7.4.03.32 Fixed Problem: appearance: A recovery of a complete or incremental backup returns the error, that the backup-device is already attached. Also the label cannot be read. Preconditions and circumstances: Complete or Incremental recovery fails during a precheck, which determins the correctness of the used backup. Afterwards the device is not alway detached. Workaround: restart the database Solution: code correction PTS: 1126956 since: 7.4.03.32 Fixed Problem: appearance: Alter table ... drop primary key may result in a corrupt catalog. Preconditions and circumstances: The key of the table contains a column having a length > 254 bytes. Workaround: Don't drop the key via alter table statement. Copy the table instead. PTS: 1126916 since: 7.4.03.32 Fixed Problem: appearance: Functions like decode and some other comparsions accept the datatype-compatibility of boolean and string_literals/user/usergroup or the like. Preconditions and circumstances: none Workaround: none Solution: The check of compatibility has to be extended for string_literals/user/usergoup and the like. PTS: 1126825 since: 7.4.03.32 Fixed Problem: a call of a db-procedure containing 2 catalog selects may crash the kernel. This problem has been solved. PTS: 1126805 since: 7.4.03.32 Fixed Problem: appearance: knldiag[.err] shows funny (not initialized) character behind system error - info Preconditions and circumstances: unicode-environment Workaround: none Solution: end of variable to be output has to be initialized in unicode-environment PTS: 1126793 since: 7.4.03.32 Fixed Problem: appearance: The counters OutOfMemoryExceptions and OMS_Terminate of table MONITOR_OMS are not updated. Preconditions and circumstances: A bad alloc exception or are call of omsTerminate happend, but MONITOR_OMS does not contain any information about this event. Workaround: None. PTS: 1126720 since: 7.4.03.32 Fixed Problem: appearance: vabort of livecache with following messages within knldiag file: 2003-12-20 20:00:22 14 ERR 53000 B*TREE 1600000100000000000000B000000000 2003-12-20 20:00:22 14 ERR 53000 B*TREE ROOT 618 2003-12-20 20:00:22 14 ERR 53000 OBJECT BD930RemPFDE: Error: 720 2003-12-20 20:00:22 14 ERR 53000 OBJECT BD930TryToRelease: Error; 720 Preconditions and circumstances: an OmsKeyedObject container has been created with livecache release lower than 72.05.03 and this container is dropped within a livecache higher or equal to 72.05.03 Workaround: Don't drop the container Solution: use build 24 PTS: 1126668 since: 7.4.03.32 Fixed Problem: appearance: crash of database during restart with following messages within knldiag: ============================== SIGNAL 4 (ILLEGAL INSTRUCTION) during redo. ERR 119 RTE task 99 called leave(), but region 1 is free ERR 11196 DBCRASH vabort:Emergency Shutdown, RTESync_RWRegion.cpp: 400 ERR 11599 BTRACE ----> Symbolic Stack Back Trace <---- eo670_CTraceStackOCB vabort RTE_Crash__FRC20SAPDBErr_MessageList leave__16RTESync_RWRegionFbi kb511LeaveConsistView Preconditions and circumstances: database SERVERTASKs are distributed over more than 1 UKT Workaround: change startup parameters to avoid SERVERTASKs to run in different UKTs PTS: 1126655 since: 7.4.03.32 Fixed Problem: appearance: Only DES encrypted passwords were accepted. Preconditions and circumstances: With newer linux versions, standard UNIX DES password encryption becomes obsolete. Instead MD5 or blowfish encrypted passwords are. Workaround: NONE Solution: The salt key transmission is handled more flexible and the buffers have been extended to allow generation of larger MD5/blowfish encrypted passwords. PTS: 1126642 since: 7.4.03.32 Fixed Problem: appearance: A LogBackup is recovered with recover_replace and returns an incorrect returncode -3004 (invalid log backup) Preconditions and circumstances: A multi-cpu hardware is used and the servertasks are configured in a way, that allows servertasks to be run in different UKTs. By this the tape-read-task and the devspace-write-tasks (aka Log_Reader) are running complete asynchronous. Workaround: Reconfigure the taskcluster that way, that all servertasks are running in one UKT Solution: code correction PTS: 1126604 since: 7.4.03.32 Fixed Problem: appearance: The kernel crashed. Preconditions and circumstances: A complex view select has been used in a db-procedure definition, where a table in a subselect is unknown. Workaround: Correct the statement in the db-procedure. Solution: Missing check of the returncode har been introduced. PTS: 1126573 since: 7.4.03.32 Fixed Problem: appearance: In rare cases, the kernel crashes when being stopped. The stack backtrace ends in RTE_ItemRegister::SearchItemInfo, concerning allocator information. Preconditions and circumstances: Windows only. Workaround: As the kernel is being stopped anyway, the error can be ignored. Solution: Allocate the task stacks dynamically. So the allocator info of a task that has been killed hard by stopping its fiber can still be accessed without crashing. PTS: 1126519 since: 7.4.03.32 Fixed Problem: appearance: The datatype-check in ODBC on VARCHAR UNICODE-columns does not return the info VARCHAR, only UNICODE Preconditions and circumstances: no special ones Workaround: none Solution: the kernel has to check for internal VARCHAR-flag and return the datatype accordingly PTS: 1126511 since: 7.4.03.32 Fixed Problem: Appearance: Corrupted b*tree index after a synchronization problem in the data cache, which became visible as an error -9001 "BD Invalid Root" in the knldiag and in the application log. Preconditions and circumstances: This could happen if root pageNo's of indexes are stored and used after the corresponding index is re-created or dropped. Additional the root pageNo has to be the root of a new b*tree and at the same time two tasks should access the root pageNo in the data cache, whereby one tasks has the old view and one the new onto the root. Workaround: Do not drop and re-create indexes without updating the pase information of the applications. This could mean, that SAP work processes has to be restarted, which forces a new parse phase. PTS: 1126197 since: 7.4.03.32 Fixed Problem: appearance: verify in ADMIN (cold) mode delivers errors for situations which aren't errors at all messages within knldiag: 2003-12-08 23:14:34 0xDE4 ERR 53000 OBJECT BD92_CheckBeforeImage - before image no 2003-12-08 23:14:34 0xDE4 ERR 53000 OBJECT t found OID 91590.864 (vers 116) 2003-12-08 23:14:34 0xDE4 ERR 53000 OBJECT BD92VerObjDataPage - root:74440 page:915 2003-12-08 23:14:34 0xDE4 ERR 53000 OBJECT 90 obj pos:920 committed obj with state 2003-12-08 23:14:34 0xDE4 ERR 53000 OBJECT reserved Preconditions and circumstances: none Workaround: ignore messages PTS: 1126174 since: 7.4.03.32 Fixed Problem: Appearance: Endless loop within data cache. You can see that a data cache latch is hold by a user task and never being released. Additional the kernel consumes a lot of CPU time. Preconditions and circumstances: The data cache has to be very small and a lot of concurrent access should happen for example create index parallel. Workaround: Increase configuration parameter CACHE_SIZE. PTS: 1126152 since: 7.4.03.32 Fixed Problem: Appearance: Emergency shutdown, because data backup terminates with error code -9051 Preconditions and circumstances: Data area should be corrupted, i.e. pages should be inconsistent. Workaround: no Solution: Database should not stop, if the data backup terminates with an error. PTS: 1126148 since: 7.4.03.32 Fixed Problem: Appearance: Extensive data base filling, which couldn't be explained by the results of the tablestatistics. Additional the query "select * from roots where type = 'UNKOWN' returns a couple of file names, after the system was startet. Preconditions and circumstances: The asynchron dropping of tables and indexes is interrupted by a shutdown. After the next restart nobody proceeds with deleting of the remaining auxiliary files in the file directoy. Workaround: Do not stop the data base before the asynchron remove job has finished. All server taks should be in state vsuspend(211). PTS: 1126132 since: 7.4.03.32 Fixed Problem: appearance: - error -8006 during insert - error -3019 during select Preconditions and circumstances: - (-3006) LONG BYTE defined with DEFAULT, the default had to be used in this insert, parse/execute used separately - (-3019) command used a one-value-subquery whose number-value filled the calculated number length (the decimals minus the fractional part), as the constant 1 does (fixed (1,0) Workaround: - use the DEFAULT-value explicitely - use a function or some superfluous arithmetic around the subquery-value to increase the calculated number of digits. PTS: 1126113 since: 7.4.03.32 Fixed Problem: appearance: The restart aborts with ... Preconditions and circumstances: If the database crashed an is restarted and a savepoint was triggered during redo and this savepoint is running just before the end of the redo log then log writing is enabled and a restart savepoint is triggered. But the previously started savepoint is running at first an writing to the log volume before the restart savepoint was written onto the log volume. If a log read must read such log the previously mentiond assertion fails because after a truncated logentry only the restart savepoint is expected. Workaround: restart without the corrupted log or with until. Solution: The restart savepoint itself enables log writing so it is assured that no savepoint during redo may be allowed to write onto the log volume. PTS: 1126092 since: 7.4.03.32 Fixed Problem: appearance: A page is locked in the cache but no task is referencing this page. Preconditions and circumstances: With the new PageAccessManager interface must a page be accessed and an error must be set like old_fileversion. Workaround: offline/online releases such page Solution: The frame is registered to the page handler even in error cases so the page handler can release the page at the end. PTS: 1126038 since: 7.4.03.32 Fixed Problem: appearance: core with trace back a93swap_to_application a93_sending a93_user_commands +0x0170 (a small number of bytes behind start of user_commands) ak91run_sql_process Preconditions and circumstances: in knldiag it can be seen: started server, then 'malloc,....Not enough space' Client with different swap-kind than server tries to connect Solution: Assure that the needed memory for the server is available and that no malloc-error will be caused during start-up of the server. PTS: 1125954 since: 7.4.03.32 Fixed Problem: appearance: dbmcli -d DBNAME -u DBM,DBM db_offline failed in cluster server environment Preconditions and circumstances: MS Cluster installation Version 7.5 Workaround: None Solution: This patch PTS: 1125920 since: 7.4.03.32 Fixed Problem: appearance: The kernel crashes in the course of a drop table statement. Preconditions and circumstances: The table is referenced table of a table having many (> 30) foreign keys constraints. Workaround: Drop the foreign key constraints of the referencing table first. Solution: Corrected scan of foreign key constraints in kernel code. PTS: 1125847 since: 7.4.03.32 New Feature: Feature description: Timer leap message has been removed PTS: 1125808 since: 7.4.03.32 Fixed Problem: Appearance: Emergency shutdown because of error code -9013 or -9014. Preconditions and circumstances: The b*tree structure could corrupt, if an error occur during an update operation on the b*tree and a savepoint takes place before the emergency shutdown - caused by the error - is executed. Workaround: no have forgotten to enter the solution> PTS: 1125796 since: 7.4.03.32 Fixed Problem: aappearance: trigonometric function does not return expected value; its 16-th digit differs Preconditions and circumstances: none Workaround: Rounding to 15 digits may help PTS: 1125633 since: 7.4.03.32 New Feature: Feature description: On Unix systems, there may be a maximum file size configured by ulimits. If the user tries to access a database volume bigger than this maximum file size, error occur. To prevent this, the kernel now checks the configured volume sizes against the maximum file size configured by ulimits and refuses to start if the volume size is bigger than the maximum file size. Furthermore, the kernel now lists all available ulimts during startup. PTS: 1125596 since: 7.4.03.32 Fixed Problem: appearance: If a row is inserted into a table which is not defined with a primary key, it can cause a heavy loop if a lock collisions occurs. For example if the table was share locked by another user. Preconditions and circumstances: see above Workaround: not known Solution: In a loop: If a collision occurs the locklist is used to wait for lock release. If the collided inserter wakes up it is checked if the key exists. If not the record is finally inserted and if yes the loop begins again with the next higher syskey. PTS: 1125577 since: 7.4.03.32 Fixed Problem: appearance: slow restart on multi gigabyte databases Preconditions and circumstances: multi gigabyte database Workaround: wait a bit longer ... Solution: old code enters the FBM region to mark each data page as occupied new code implements bulk mode to set all data pages on a converter page as occupied with only one FBM region access. Restart of Converter is ~25% faster. PTS: 1125473 since: 7.4.03.32 Fixed Problem: appearance: -8006 during create dbproc Preconditions and circumstances: dbproc includes - a recursive select - with a subquery in the final select and - has some parameter in this recursive select Workaround: Get rid of the subquery in the final select by changing it to a join or use two selects, one for reuse, so the result can be used in the second's select from-part Solution: So far the server forgots the parameter information of those recursive select-parts not being the final one. Now they are not overwritten any more by the parameter information of the final select. PTS: 1125463 since: 7.4.03.32 New Feature: Feature description: MAPCHAR resp. ALPHA now add some output-bytes internally to allow even MAPCHAR ('Ä') without used-defined-output-length PTS: 1125331 since: 7.4.03.32 Fixed Problem: Appearance: Kernel crash in bd20_PutNewIntoLRUList with null pointer exception. Preconditions and circumstances: Could only happen on windows 32 bit architecture with enabled AWE memory extension. Workaround: Disable AWE. PTS: 1125305 since: 7.4.03.32 Fixed Problem: Appearance: Kernel returns -9044, if an index access was execute with an old parse info containing an old file root. Preconditions and circumstances: Index has to be dropped and recreated and the old root has to be the root of a new b*tree. Workaround: invalidate parse info; restart application PTS: 1125274 since: 7.4.03.32 Fixed Problem: appearance: -7016 during parsing resp. -3016 during execution Preconditions and circumstances: A statement where the datatype and length of a parameter can not defined by the kernel as with SELECT * FROM DUAL respectively a bound application-variable resulting in a description of its datatype and length sent to the kernel which does not fulfill the needs of the kernel for this parameter as a char-variable does for fixed-column + ?. Workaround: The bound application-variable should be of the correct datatype. PTS: 1125235 since: 7.4.03.32 New Feature: Feature description: During VERIFY and DROP INDEX any page consistency error does not abort the database. During VERIFY the record length and position and key order ist checked too. PTS: 1125212 since: 7.4.03.32 Fixed Problem: appearance: Error -9211 System error: KB Stack type illegal at outer join selects with order by on constant expressions. Workaround: Rewrite the statement to a from select with order by clause where the inner select is the outer join, e.g. select 4 as prio from t1, t2 where t1.x = t2.y (+) order by prio => select prio from (select 4 as prio from t1, t2 where t1.x = t2.y (+)) order by prio PTS: 1125195 since: 7.4.03.32 Fixed Problem: Appearance: Deadlock during savepoint, because the last savepoint relevant page could not be written into the data area, because this page is still in access by a suspended task, which waits until the data cache overflow situation is resolved. Preconditions and circumstances: This could happen, if the data cache is too small and a couple of indexes should be created at the same time. Workaround: - Increase Data Cache size - Do not create all indexes at the same time. Create them one after another. PTS: 1125124 since: 7.4.03.32 New Feature: Feature description: IPC resource problem during backup operation does no longer lead to kernel abort, but only to abort of backup operation. PTS: 1125110 since: 7.4.03.32 New Feature: Feature description: not relevant for support and customers PTS: 1125100 since: 7.4.03.32 New Feature: Feature description: New option EXTENDED for CHECK TABLE , CHECK DATA and CHECK DATA WITH UPDATE commands to check the structure of the data base. In contrast to the default behaviour of check table and check data the extended mode checks the ascending order of the keys in the primary (table) and secondary (indexes) data pages. Note that the new checks will increase the CPU consumption of the participated task and therefore the total runtime will increase too. Syntax: CHECK TABLE [WITH SHARE LOCK] [EXTENDED] (db state online only) CHECK DATA [EXTENDED] WITH UPDATE (db state admin only) CHEo enter the description> PTS: 1125051 since: 7.4.03.32 Fixed Problem: appearance: Posible wrong result for min/max functions if an index only strategy is used Preconditions and circumstances: Used index have to be a single index and min/max function is defined on the index column Workaround: Drop single index and create a multiple index with the prior single indexed column as the first index column PTS: 1125034 since: 7.4.03.32 Fixed Problem: aappearance: There are more resultrows returned than specified using a ROWNO/ROWNUM-clause. Preconditions and circumstances: SELECT with ROWNO/ROWNUM + correlation used Workaround: None within one SQL statement. And with more statements the ROWNO would be in the last one usually resulting in the full resultset in the (last-1) th statement, therefore the last one is useless. PTS: 1125024 since: 7.4.03.32 Fixed Problem: appearance: Error -9211 at select with case function in decode function Workaround: no PTS: 1125008 since: 7.4.03.32 Fixed Problem: ppearance: no problem seen so far Preconditions and circumstances: s41plint writes more bytes than needed, may cause overwriting of info behind PTS: 1124999 since: 7.4.03.32 Fixed Problem: ppearance: Crash of kernel without traceback because of stack overflow Preconditions and circumstances: Linux, 64bit, SQL-command with really many arithmetic operations in one expression resp. really many AND/OR-terms resp. unusual number of subqueries included. No specific values can be given because it depends on the given userstack. Workaround: Separate the statement into at least two. PTS: 1124984 since: 7.4.03.32 New Feature: Feature description: To reduce the wait time for index updaters, index readers will look after every processed index leaf page if an exclusive index request exist. If so the index scan is interrupted and the exclusive request is executed. After the exclusive lock the read access goes on. PTS: 1124952 since: 7.4.03.32 Fixed Problem: Core appearance: ak562do_select_insert a562_select_insert ak35call_semantik Preconditions and circumstances: INSERT...SELECT for table having SYSKEY Workaround: Some DDL (create index, drop index) before trying again. Then problem should never occur again PTS: 1124884 since: 7.4.03.32 Fixed Problem: Appearence: A call of a db-procedure returns error -9205, catalog information not found. Preconditions and circumstances: The execution of a sql statement inside the db-procedure fails with -8 and the db-procedure has been dropped in the meantime.. Workaround: None. PTS: 1124815 since: 7.4.03.32 Fixed Problem: Appearence: more than one outer join Preconditions and circumstances: access path (index, key) to right outer join table Workaround: delete access path to right outer join table not R/3 relevant PTS: 1124801 since: 7.4.03.32 Fixed Problem: appearance: Error -3019, -3048 or the like (those checking input-values) Preconditions and circumstances: call of a dbproc including a declare cursor whose cursorname is given as parameter and which includes a join and the isolation level differes between creation of dbproc and current isolation level Workaround: No join in the select, no parameter name used for the cursorname --> use two selects, one with the join, second with no join and the cursorname resp. do the join in the from-part of the final select PTS: 1124754 since: 7.4.03.32 New Feature: Feature Description: Better performance during task specific memory allocation. This is done by the transcontext allocator which will never returns the initial memory chunk to the underlying base allocator. PTS: 1124725 since: 7.4.03.32 Fixed Problem: Appearance: Error -9205 at alter table add/drop primary key on temp tables Workaround: Define primary key at creation time or use create table as select to copy the temp table PTS: 1124649 since: 7.4.03.32 Fixed Problem: 1) Preconditions and circumstances CHECK TABLE CATALOG has not been able to repair corrupted file versions. This has been corrected. DIAGNOSE CATALOG has not been able to handle usertab and container catalog record. This has been implemented. 2) Is it internal or external visible ? Internal. PTS: 1124614 since: 7.4.03.32 Fixed Problem: 1) Preconditions and circumstances SELECT .. FROM DOMAIN.COLUMNS for a non-updatable joinview returns values <> NULL in the keypos column. This is wrong since these view don't have a key. 2) Is it internal or external visible ? Both. 3) Propability that the error occurs High. 4) Is there a WorkAround and how does this work ? No. PTS: 1124569 since: 7.4.03.32 Fixed Problem: Appearance: Very strange optimizerstatistics values for small tables after update stat estimate commands Workaround: use update stat command without estimation PTS: 1124564 since: 7.4.03.32 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Create Unique Index returns the error '250 Duplicate secondary key' by mistake. 2) Preconditions and circumstance This could happen if the indexed column(s) contains at least to rows which are completely filled with NULL. 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) nothing PTS: 1124544 since: 7.4.03.32 Fixed Problem: Appearence: Kernel core at select with replace or translate function and empty string as paramter. Workaround: Avoid empty string in replace or translate function PTS: 1124542 since: 7.4.03.32 Fixed Problem: RESTART never terminates during restart one servertask is suspended waiting within "delfile" (status shown by console) and is never resumed. 1) Preconditions and circumstances liveCache crashes after dropping a container. 2) Is it internal or external visible ? both 3) Propability that the error occurs rare 4) Is there a WorkAround and how does this work ? Try to RESTART after configuring more than 1 garbage collector. Sometimes it's sufficient to RESTART with tracing enabled. PTS: 1124524 since: 7.4.03.32 Fixed Problem: Appearance: Long running update stat commands Precondition: Sample rate at update stat command was given as percentage from table, explicite or implicit via table attribute. Workaround: Give sample rate of the table in rows instead of percent. Also take care of sample rate in table description (see system table tables) PTS: 1124516 since: 7.4.03.32 Fixed Problem: Appearance: Tableextract on a table with at least 2 key columns and one long column result in kernel core Workaround: Usage of dataextract PTS: 1124488 since: 7.4.03.32 Fixed Problem: crash (in slowknl), system error, miscellaneous Appearance core-trace-back: sql__setrang g03dfchange_format_date g03dchange_format_date ak48date_time_analyze a48get_view_def_string a508get_definition_text -8 datatype NULL Preconditions and circumstances core: when select .. from viewdefs is called and the viewdefinition includes a date(internal)-value, the current sqlmode is oracle or the date_and_time_format <> internal -8 : SELECT .. FROM DBTIMES datatype : SELECT .. FROM COLUMNS WHERE tablename = 'DBTIMES' Workaround none PTS: 1124478 since: 7.4.03.32 Fixed Problem: miscellaneous Appearance possible, not seen so far: -9206 System error: AK Duplicate catalog information Preconditions and circumstances currently a new table/view is created, leading to the error mentioned above after a create table...as select was done, which resulted internally to an old fileversion, was therefore retried, succeeded, but used an arbitrary surrogate, which now should be used (again) or the create table..as select tries to 'reuse' that surrogate (identification) because of its missing surrogate-initialization Workaround none PTS: 1124465 since: 7.4.03.32 Fixed Problem: 0) Releases UNIX only 1) Preconditions and circumstances If the kernel stack is completely corrupted, the stack backtrace routine may not be able to produce a symbolic stack backtrace while a emergency stack backtrace is still possible. If during emergency stack backtrace a SIGSEGV occured, the symbolic stack backtrace would still be possible. In such a situation the trace writer task may not terminate too, leading to the wrong message 'Kernel exited normal'. 2) Probability that the error occurs should not happen 3) Solution to the problem An internal SIGSEGV handler is installed during stack backtrace that allows the symbolic stack backtrace up to the last level before the SIGSEGV occures. The hangup situation of the kernel is detected and leads to the correct message 'Kernel exited due to SIGHUP'. 4) Visibility low 5) Workaround The addresses in the emergency stack backtrace can be analyzed with a local debugger, if installed. The addtional message 'Backup of diagnostic files will be forced at next restart' proves that the kernel did existed normal. PTS: 1124395 since: 7.4.03.32 Fixed Problem: Precondition: join select with "not exists" predicate Appearance: wrong result Workaround: no PTS: 1124385 since: 7.4.03.32 Fixed Problem: miscellaneous Appearance Error -4003 unknown user Preconditions and circumstances ALTER PASSWORD + is given as special identifier (with "...") Workaround If possible, avoid " in that case, otherwise, there is no workaround PTS: 1124333 since: 7.4.03.32 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Completely wrong estimated optimizer statistics after short run time. 2) Preconditions and circumstances Update statistics will estimates completely wrong results, if the given table contains a couple of GB. 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) You can set the sample rate to 100%. This will increase the runtime, because the entire table will be examined. Do not forget to set it back to its default once you have installed a database version fixing this bug. PTS: 1124330 since: 7.4.03.32 New Feature: Feature Description: Tasks will be suspended, if the number free pageNo's is nearly exhausted. This will be the same behaviour known from the component FBM. The security area is about four percent of the data area, but not more than 4.000 pag PTS: 1124324 since: 7.4.03.32 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Kernel crash during SQL Connect via DBM, if the data base has no free pageNos. 2) Preconditions and circumstances Data base has to be full. See knldiag for DB Full messages0 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) no PTS: 1124156 since: 7.4.03.32 New Feature: Feature Description: Create Index sequential is checking the data base filling before a new index record is inserted. This is important to guarantee that the index creation will stop (suspend) and not abort, if the data base is nearly full. PTS: 1123064 since: 7.4.03.32 Fixed Problem: Precondition: diagnose monitor parseid was enabled and then switched off Appearance: system view running_commands shows outdated entries Workaround: No PTS: 1123000 since: 7.4.03.32 Fixed Problem: FETCH PREV might not find all records. The workaround only can be a FETCH NEXT. PTS: 1122873 since: 7.4.03.32 Fixed Problem: Precondition: Alter table drop primary key on a table with single index Appearance: Single index with no relation to primary key is dropped after drop primary key command Workaround: Create index again after drop primary key command execution PTS: 1122755 since: 7.4.03.32 Fixed Problem: Precondition: Join select with at least three tables with single index on it. Appearance: Wrong result set or wrong result count Workaround: It should help to drop the single indexes. To determine which index a vtrace is needed. PTS: 1122520 since: 7.4.03.32 Fixed Problem: Precondition: Only index select with min/max function and min/max operand is also a function. Appearance: Wrong result Workaround: Avoid only index strategy by selecting a non index column or dropping the index PTS: 1122413 since: 7.4.03.32 New Feature: Feature description: For better analysis (database analyzer) the UKT Id was integrated into the table 'SYSMON_TASK_DETAIL'. Furthermore the values - actual run queue length of each UKT - state of the UKT (sleeping/running) - idle count were integrated into the existing table 'SYSMON_UKTHREAD' PTS: 1122276 since: 7.4.03.32 Fixed Problem: Precondition: Join select with equal condition between a coulmn and a constant and constan length is greater than column length. Appearance: error -2010 Workaround: No PTS: 1126701 since: 7.4.03.31 Fixed Problem: Appearance: Kernel crash in data cache because given pageNo is too big. Preconditions and circumstances: Add data volume in state online has been executed a couple of minutes before. Workaround: Do not add a data volume in state online Note that the data base is not corrupted. I can restart it and everything is fine. PTS: 1125915 since: 7.4.03.31 Fixed Problem: appearance: The restart aborts with the following error in knldiag: 2003-12-03 04:22:33 117 ERR 0 SAPDBErr Assertion of state Writer.Write failed failed! Preconditions and circumstances: In online state the database must crash and be restarted. Later a recovery is done which reads the log from the crash time. Workaround: none Solution: The coding error is solved. PTS: 1125910 since: 7.4.03.31 Fixed Problem: Appearance: Kernel crash within component FBM, because the block state of the first block on the volume should be set to occupied twice. Preconditions and circumstances: This could happen, if a data volume should be added to the database in state online. Workaround: Do not add data volumes in state online. PTS: 1125831 since: 7.4.03.31 Fixed Problem: appearance: A restart of the database fails with the message "Savepoint not found on log", because the savepoint- offset in the RestartRecord had been calculated incorrectly and exceeds the range of the Log_Volume. Preconditions and circumstances: The savepoint-entry must be contained in a vector of LogPages, which starts at the end of the LogVolume and wraps around to the start of the LogVolume. If the savepoint entry is contained in the part at the start of the LogVolume, its offset is calculated incorrectly. This situation will occur very seldom, because savepoints are written not very often. Also the next savepoint will correct this error. Workaround: 1. Possibility: Save Log and full recovery 2. Possiblity: Patch the restartRecord. The offset of the savepoint has to be set to "savePointOffset MODULO LogSize". Solution: code correction PTS: 1125487 since: 7.4.03.31 Fixed Problem: Appearance: Kernel Crash during save pages within memory deallocation. Preconditions and circumstances: This crash could occur, if more than one server task - reading converter bit map pages from the data volumes - want to deallocate the underlying data structure. Workaround: do not use save pages PTS: 1125438 since: 7.4.03.31 New Feature: Feature description: Changes to the internal or support database configuration values _MAXGARBAGE_COLL MAXUKPS _TASKCLUSTER_02 These changes optimize the tasking behavior of the database kernel and will provide a higher performance.. PTS: 1125368 since: 7.4.03.31 Fixed Problem: appearance: Only in 7.4.03.31: during restart crash in DeleteAfterRedoCopy(). Preconditions and circumstances: A recovery of a data backup with open transactions without log recovery. Workaround: Recovery with an older data backup which might not contain open transactions. Solution: repair of broken code. PTS: 1125363 since: 7.4.03.31 Fixed Problem: appearance: Shutdown does not complete since watchdog process does not report exit status in knldiag and does not exit. Preconditions and circumstances: A mutex, which is created in the watchdog process and used to protect message outputs from the parallel running thread, is sometime locked after kernel exits. This mutex is not needed in the watchdog after the running kernel exited, since no more parallel threads are running. The solution is to ignore the mutex in the watchdog message output. Workaround: Kill the watchdog process after incomplete shutdown. This can be done with db_clear command. PTS: 1125287 since: 7.4.03.31 New Feature: With release 7.4.03.02 the empty page chain list has been removed form the container implementation ( see PTS 1115760 ).causing pages to be "deleted" and "re-created" more often than in older releases. Each object frame on a "created" or "re-created" page is initialized with a Oid.Generation set to zero. Therefore now it became more likely for an OID of an old obsolete persistent object to match an OID for a new created persistent object. Now the OID.Generation is initialized using a random number. But still be aware: OIDs aren't GUIDs. OIDs are unique IDs only as long as the object is alive. After deleting the object, the OID may be reused ! PTS: 1124954 since: 7.4.03.31 Fixed Problem: appearance: Drop index fails with error -9205. Preconditions and circumstances: The index has 16 columns and the index name is longer than 18 bytes. Workaround: None. PTS: 1124778 since: 7.4.03.31 Fixed Problem: Problem: A restart could be terminated with file_not_found or key_not_found or duplicate_key. Mostly this could only happen if a previous restart attempt was aborted and is now continued. Explanation: This was caused by a wrong recreation order of open transactions in last savepoint. Circumvention: You must use the last data backup and recover again with this one. PTS: 1125127 since: 7.4.03.30 Fixed Problem: appearance: emergency shutdown during restart of livecache with following message within knldiag: 44 ERR 53000 OBJECT bd95RollforwardObj_NewObj bd910AssignToS 44 ERR 53000 OBJECT ubroot(2) error:8050 OID=105066.4016 (ve 44 ERR 53000 OBJECT rs 1) Root:74440 FileNo:5 44 ERR 67 Log REDO: T538202 (committed) redoresult: 3, TrError: 8050 Preconditions and circumstances: livecache has crashed before Workaround: there is noworkaround PTS: 1124837 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances omsDropSchema failed, if a container of the schema exists in the catalog, but not in the base layer. This situation occurred at one customer and some inhouse systems. omsDropSchema now ignores the corrupted containers. A message is written in knldiag for each corrupted containers. Corrupted containers can be located via the following sql statement : SELECT * FROM CLASSCONTAINERS WHERE PAGECOUNT IS NULL. 2) Is it internal or external visible ? Both, 3) Propability that the error occurs Middle. 4) Is there a WorkAround and how does this work ? Don't drop schemas. PTS: 1124729 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances A call of omsDropSchema fails with error -9205, catalog information not found. 2) Is it internal or external visible ? Both. 3) Propability that the error occurs High. 4) Is there a WorkAround and how does this work ? No. PTS: 1124697 since: 7.4.03.30 Fixed Problem: 1) error type restart error 2) msg within knldiag file WNG 53000 OBJECT vbd95.cpp:1094 create new page handle fo WNG 53000 OBJECT r page to remove failed:9160 PNo:47485 WNG 53000 OBJECT vbd95.cpp:722 bd95RemovePageFromObjFile: WNG 53000 OBJECT 9160 PNo:47485 Root:8 FileNo:72 ERR 53000 OBJECT vbd95.cpp:763 bd910AssignToNewSpecifiedP ERR 53000 OBJECT age (bPageGenerated == false) ! PNo:4748 ERR 53000 OBJECT 5 ERR 6 Restart REDO: T466290 (committed) redoresult: 3, TrError: -28822 ERR 53000 OBJECT vbd95.cpp:381 DelObj:-28803 objstate:0 O ERR 53000 OBJECT LVC_Error :WrongObjState: 105 ERR 53000 OBJECT ID=32304.7504 (vers 1) ERR 6 Restart REDO: T466305 (committed) redoresult: 3, TrError: -28803 WNG 17 Admin Redo error '-28822' occured ERR 8 Admin ERROR 'B_ERR=-28822' CAUSED EMERGENCY SHUTDOWN 12696 DBSTATE Change DbState to 'SHUTDOWN'(25) 3) Appearance liveCache can't be restarted 4) Preconditions and circumstances crash of liveCache 5) Probability that the error occurs rare (only once within the last 2 years the error has been seen ) 6) Workaround The only workaraound would be to avoid servers to work in parallel during restart PTS: 1124552 since: 7.4.03.30 Fixed Problem: not relevant for support and customers PTS: 1124445 since: 7.4.03.30 Fixed Problem: Appearence: select from tab Preconditions and circumstances: only index strategy is choosen Workaround: none PTS: 1124377 since: 7.4.03.30 Fixed Problem: Redo/undo of "update record" not done if this transaction was open in last savepoint. This can relate to errors like: "-3007,Invalid sequence of DML and DDL statements" PTS: 1124243 since: 7.4.03.30 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Kernel will crash during select comands with an illegal page no access. The knldiag contains something like this "DATACACH Illegal Pno 4711" and a stack back trace containing the procedures bd50count_records, bd50eval etc. 2) Preconditions and circumstances This could happen if the internal base table evaluation during join processing is executed with counting the records in a given key range. Additional the given start key has to be nearly at the right edge of the b*tree. 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) no PTS: 1124222 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances The cancelling of a drop schema command results in an inconsistent state between the catalog and the file directory. The catalog still contains containers, which a not present in the liveCache base. If the application now tries to create a new persistent object, the livecache crashes. 2) Is it internal or external visible ? Both. 3) Propability that the error occurs Low. 4) Is there a WorkAround and how does this work ? Refrain from cancelling. PTS: 1124203 since: 7.4.03.30 Fixed Problem: 0) Releases AIX only 1) Preconditions and circumstances The system allocate twice as much physical pages as specified for the data cache and oms heap. This effect is invisible first, since AIX does not allocate the physical pages from beginning but only during access. But during livetime the unwanted database must be paged out. 2) Probability that the error occurs 100% its an OS feature... 3) Solution to the problem The mmap() call used with MAP_PRIVATE is now using MAP_SHARED instead. This forces the OS to allocate only the wanted pages. 4) Visibility medium 5) Workaround None PTS: 1124146 since: 7.4.03.30 Fixed Problem: After loading a table this table has the state readonly. If a row is tried to insert this causes a log error and if the transaction rollbacks the database aborts. The error read_only is ignored now during undo and redo. PTS: 1124113 since: 7.4.03.30 Fixed Problem: wrong results, miscellaneous Appearance Error -3016, -3019 we saw, but others are possible Preconditions and circumstances Update * of a LONG-column + * another non-key-column, whose value is not specified using a literal or ? or :parameter, but with something that has to be calculated (+1, or function around or something like that) Workaround Separate the update of the two columns into two updates PTS: 1124102 since: 7.4.03.30 Fixed Problem: RowShareRequests are not satisfied if SysShareLocks exist because TabRequests are preferred satisfied and if a SysShareLock was removed RowRequests were not satisfied. Such waiting RowRequests are only removed by the timeout. This can only happen if ALTER commands are used. PTS: 1124058 since: 7.4.03.30 Fixed Problem: Appearence: Wrong result set at select on oms_heap_statistics Preconditions and circumstances: SAP DB release >= 7.4.3.17 with new like behaviour Workaround: no PTS: 1123984 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances The cancelling of a drop schema command results in an inconsistent state between the catalog and the file directory. The catalog still contains containers, which a not present in the liveCache base. 2) Is it internal or external visible ? Both. 3) Propability that the error occurs Low. 4) Is there a WorkAround and how does this work ? Refrain from cancelling. PTS: 1123958 since: 7.4.03.30 Fixed Problem: system error Appearance Error -9210 kb stack op illegal Preconditions and circumstances in case of an EXISTS in the select_list (for example as part of a case-function) Workaround Change the SQL-statement, for example do a from-select with COUNT(*) (perhaps with ROWNO <=..) and use a CASE/DECODE for the count-result as with SELECT DECODE (cnt, 0, 'nothing', 'some'),... FROM (SELECT COUNT(*) cnt FROM ...) cnttab, ... PTS: 1123888 since: 7.4.03.30 Fixed Problem: appearance: After recovery of a data backup on a unix system the error "no converter entry" occurs. What means that not all pages are restored although the recovery result was OK. The used tape media has no upper limit and is written until the device driver signals "end of tape reached". Preconditions and circumstances: On unix systems it is allowed to write less then the given blocks. Returned is not an error but the real amount of blocks which could be written. On NT systems an error signals the "end of tape". The backup and recovery code assumes that an error is set if not all could be written or read. Workaround: You must specify an upper limit (COUNT) for the tape media. Solution: After calling vasynio not only the return code must be check but the written or read blocksize too. The io result is now analyzed correctly. PTS: 1123863 since: 7.4.03.30 Fixed Problem: not relevant for support and customers PTS: 1123859 since: 7.4.03.30 New Feature: Feature Description: CPU utilization through server tasks during save data resp. save pages is reduced and therefore the performance of data backups is increased. PTS: 1123840 since: 7.4.03.30 Fixed Problem: description: The repeated restart of an aborted previous restart aborts with various errors like "fIter/Assign: inv NxtPno; 2147483647" or "Assertion of state Log_RedoTrafficControl::CheckJobEntry() duplicate index. failed!". explanation: If the redo reader begins at a position from a previous restart the last log entry is read and processed again. If the last entry is a commit it may happen that a redo task and the redo-reader work on the same transaction. workaround: recover the last data backup and start recovery again. PTS: 1123831 since: 7.4.03.30 New Feature: not relevant for support and customers PTS: 1123827 since: 7.4.03.30 Fixed Problem: 0) Releases UNIX only 7.4.3 Build >= 23 1) Preconditions and circumstances A missing memory barrier was added in the internal spinlock coding. This lead to an performance loss in high load situations. 2) Probability that the error occurs 100% 3) Solution to the problem The spinlock coding is now using a more efficient way to release the spinlock. 4) Visibility low 5) Workaround none PTS: 1123807 since: 7.4.03.30 Fixed Problem: wrong results Appearance Float-value truncated to fixed-value Preconditions and circumstances Function having more than one numeric parameter, which have to be of equal datatype/length as in LEAST, GREATEST, DECODE (but not SUBSTR, where some numeric parameters are in) + the first parameter is a fixed-point-number and one of the others is a floating-point-number. Workaround Try to change sequence of values resp. do some arithmetic (division) to force the first parameter to be float (in case of decode, where sometime sequence-change is not possible) PTS: 1123798 since: 7.4.03.30 Fixed Problem: not relevant for support and customers PTS: 1123768 since: 7.4.03.30 Fixed Problem: SQL commands, system error Appearance Error -8 Preconditions and circumstances - unicode-catalog - statement-length 4006 (ascii) resp. 8012 (unicode) - create table or explain Workaround Add at least 2 blanks somewhere in the middle of the statement. PTS: 1123748 since: 7.4.03.30 Fixed Problem: miscellaneous Appearance The first part or the whole transaction is rollbacked, although not rollbacked by the user/application. Preconditions and circumstances ROLLBACK TO which resulted in -7065 SUBTRANS COMMIT/ROLLBACK not allowed without SUBTRANS BEGIN Everything in this transaction before this ROLLBACK TO is rollbacked. Workaround Check savepoint_names three times before using them in ROLLBACK TO. PTS: 1123728 since: 7.4.03.30 Fixed Problem: wrong results, miscellaneous Appearance Long-columns are empty/blank although string-literal was inserted to it. Preconditions and circumstances Insert was done using an updatable joinview. Workaround Insert using the primary tables, not the joinview. PTS: 1123722 since: 7.4.03.30 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) The corresponding error could appear in different ways. The most harmless appearance is a kernel crash during index creation. Harmless because the database is still consistent. The dangerous appearance is in form of error code -9046 (no converter entry) for a random pageno, which is the consequence of an index creation with memory problems. 2) Preconditions and circumstances Index creation has not enough memory for quick sort algorithm and therefore an insertion sort is used for the corresponding subtree. If the created temporary result file contains inv lists in form of a subtree the recovery mode used to free the temporary pages is set to permanent instead of temporary and wrong pageno's are set to free in the converter. 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) Do not use create index or set _IDXFILE_LIST_SIZE to zero. BTW: The causer of this error is not shipped to the 7.4.3 customer base, therefore it's no mega bug! PTS: 1123716 since: 7.4.03.30 Fixed Problem: SQL commands Appearance ERROR -7032 SQL statement not allowed for column of data type LONG Preconditions and circumstances using WHERE long_col IS [NOT] NULL + using DISTINCT or being in from-select or in subquery Workaround Two statements have to be build out of this one PTS: 1123702 since: 7.4.03.30 Fixed Problem: 1) circumstances/preconditions for the error-situation The Log is saved online and manually (i.e. autolog is not affected). The LogSave is then aborted due to an error (e.g. filesystem full). Then the next connect to the database will lead to an crash. 2) visibility of the error everybody 3) probability of error-situations low 4) workaround use autolog PTS: 1123692 since: 7.4.03.30 Fixed Problem: wrong results Appearance digits (123000) results in '000123' Workaround in many cases function CHR will help PTS: 1123676 since: 7.4.03.30 Fixed Problem: After RESTORE LOG CANCEL (recover_cancel) an ongoing restore log terminates with -3008. workaround: The recovery had to begin again with recover data and cancel must be avoided. PTS: 1123665 since: 7.4.03.30 Fixed Problem: crash, SQL commands Appearance Core vak05.p', Line: (around 17000), dereferenced pointer is nil with trace back a05password_get ak21_alter_create_user_semantic Preconditions and circumstances unicode-database + CREATE USER/ALTER USER with no password specified. Workaround Correct the statement and do not forget to write the password. PTS: 1123649 since: 7.4.03.30 Fixed Problem: system error Appearance -9005 System error: BD Illegal key Preconditions and circumstances (DISTINCT ) where the internal length of (the maximum definition-length+1) is > 1024 Workaround (DISTINCT SUBSTR(,1,1023)) in case of a ascii/byte-column, (DISTINCT SUBSTR(,1,511)) in case of a unicode-column PTS: 1123562 since: 7.4.03.30 Fixed Problem: 1) category: Performance 2) appearance: explain with predefined join sequence shows a cheaper cost value as a computed sequence 3) precondition: join sequence search level = 9 4) workaround: none PTS: 1123553 since: 7.4.03.30 Fixed Problem: system error Appearance -9205 System error: AK Catalog information not found: xxxxxxxxxxxxxxxx0060 (x being any hex-digit), other errors are possible, too Preconditions and circumstances FETCH or SELECT on LONG-column, LONG-column-surrogate ending with hexadecimal '00' because inserted using an insert with functions Workaround none, the LONG-value is lost and has to be updated PTS: 1123528 since: 7.4.03.30 Fixed Problem: internal only PTS: 1123507 since: 7.4.03.30 Fixed Problem: miscellaneous Appearance we saw -2027, but other errors (not convertable numbers, -2000 row to long) possible Preconditions and circumstances select ... longcol union all select ... null from + order by or another union all behind Workaround create a dumm-table, with exactly one column with the corresponding long-datatype, fill it with one row and the null-value, add that new table to the join and change null to the column from the dummy-table PTS: 1123413 since: 7.4.03.30 New Feature: STOP ON ERROR now stops all vtrace-writing, even that of the new components of the kernel with its different vtrace-writing-macros. PTS: 1123393 since: 7.4.03.30 Fixed Problem: crash Appearance Crash in kernel, no correct stackback trace given. Preconditions and circumstances create dbproc or create trigger + a create table (or some other long statement resulting in an internal structure with several hundred levels) with around 1000 columns Workaround Increase installation parameter _MAXTASK_STACK PTS: 1123322 since: 7.4.03.30 Fixed Problem: miscellaneous Appearance Error -8004 although the qualification looks correctly. Preconditions and circumstances Superfluous bracket + qualification with NOT + more than one qualification behind that bracket, example a AND (NOT c AND NOT d) AND e AND f (each small letter being a comparison) Workaround Avoid superfluous brackets. PTS: 1123195 since: 7.4.03.30 New Feature: It is now possible to configure up to 128 OMS subheaps (OMS_HEAP_COUNT). PTS: 1123143 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances The 'no reference' option of the create/drop view statement introduced for BW does not prevent from reference locks completly. This results in deadlocks in the BW application. 2) Is it internal or external visible ? external. 3) Propability that the error occurs middle. 4) Is there a WorkAround and how does this work ? no. PTS: 1123040 since: 7.4.03.30 Fixed Problem: wrong results, system error Appearance Error row not found or wrong rows inserted or error -9211 KB STACK TYPE ILLEGAL Preconditions and circumstances - insert...select ... where... (select date/timecol...) - current date_and_time_format <> INTERNAL Error -9211 may be caused by Expression including one-value-subquery Workaround Error -9211 can be avoided if the expression is calculated on client or with select from dual and the result put into the statement. The other problem can be avoided by using function CHAR (.. , ..) in the upper select and in the subquery PTS: 1123005 since: 7.4.03.30 New Feature: show state of "diagnose optimize min max on/off" with select * from server_db_state PTS: 1122996 since: 7.4.03.30 Fixed Problem: category: wrong result with direct fetch apperance: fetch pos(x) and further fetches delivers wrong result records precondition: optimizer choose non build of demanded distinct result set (distinct optimization) PTS: 1122983 since: 7.4.03.30 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Starvation problems on index trees. The console program shows that starvation problems occur if a index scan collides with a tree root updater. You can see a least one task in Excl Root and perhaps some other tasks in state Share Root. 2) Preconditions and circumstances Because an index scanning task did not look at concurrent running tasks in particular a task which wants to access the inv root page exclusive the updater has to wait for the root access as long as the index scan is completed. 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) Do not use the index. PTS: 1122970 since: 7.4.03.30 Fixed Problem: miscellaneous Appearance Error -3019 for a one-value subquery. Preconditions and circumstances The result of the subquery is of datatype fixed and the resulting value needs the full number of decimals (digits on the left of '.') Workaround Use the function FIXED(,) around specifying to the really-needed-value-of-n + 1 PTS: 1122944 since: 7.4.03.30 Fixed Problem: Precondition: Start of catalog migration to unicode Appearance: Possible kernel core during catalog migration to unicode (has only been observed on HP-UX). Workaround: None. PTS: 1122938 since: 7.4.03.30 Fixed Problem: Precondition: Unicode database and the DBM user has a password with more then 9 characters Appearance: Error -4008 at utility connect with the DBM user Workaround: Change DBM password with dbmcli command user_put PTS: 1122904 since: 7.4.03.30 Fixed Problem: wrong results Appearance Insert does not throw error -7015 (more than one resultrow not allowed) although it should do Preconditions and circumstances INSERT .. VALUES (... ... ) and this subquery uses UNION/EXCEPT or distinct or the table in which the insert has to be done and the subquery results in more than one resultrow Workaround Such commands should not be send to the kernel PTS: 1122897 since: 7.4.03.30 New Feature: LiveCache CNSTVIEW region may become a performance bottleneck in multiprocessor environments, where APO applications heavily use very short transactions. To remove this potential performance bottleneck, the handling of consistent views is now synchronized using Reader/Writer Locks instead of Semaphores. Transaktion end is still a hard global exclusive synchronization point but the critical region is extremely short. Start of new consistent views only needs a reader (share) lock. Within the region controlled by the reader/writer lock, information about all transactions running in parallel has to be gathered. This action now can be done by many transactions at the same time. PTS: 1122893 since: 7.4.03.30 Fixed Problem: SQL commands Appearance Error -8017 for select-statement Preconditions and circumstances Select-statement has HAVING-clause with IS [NOT] NULL in. Workaround If the expression checked against NULL is of datatype number, it can be changed to ... > ; with character-expressions something like <> 'somestupidstring' may help PTS: 1122880 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances If the last field of a foreign key is of datatype unicode and the delete rule is 'on delete set default', the trailing blanks of the last field are not removed when storing the default foreign key in the catalog. If the default foreign key is then inserted into the foreign key table and the foreign key does not exist as key of the referenced table, the insert fails wrongly. 2) Is it internal or external visible ? both 3) Propability that the error occurs low 4) Is there a WorkAround and how does this work ? no PTS: 1122857 since: 7.4.03.30 Fixed Problem: wrong results, corrupted data Appearance different errors possible showing that data in some records does not correspond to table definition Preconditions and circumstances ALTER TABLE .. MODIFY a column which was stored with fixed length, some records had the NULL-value in that column and the new length for storing that column is smaller than the old one. Workaround Data in that records is corrupted. One can try to see as much data as possible by calling hex(...) for all columns for those records, deleting them and inserting them again. If number-data is included, one will need some help of support to'read' the data. PTS: 1122820 since: 7.4.03.30 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Kernel Crash during init config 2) Preconditions and circumstances Init config will fail if the data area size is smaller than 2001 pages 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) increase data area size PTS: 1122803 since: 7.4.03.30 Fixed Problem: wrong results Appearance Row not found resp. resultrow found which is part of the resultset, but not the resultrow wanted at that time (the wrong resultrow-number). Preconditions and circumstances If Arrayfetch is used (implicitly) for FETCH FIRST and no FETCH (NEXT) afterwards, FETCH ABSOLUTE/RELATIVE/PREV will result in the wrong resultrow/row not found. Workaround FETCH (NEXT) will clean that situation PTS: 1122797 since: 7.4.03.30 Fixed Problem: Precondition: The migration of an ASCII catalog to unicode via the command db_migratecatalog fails with an error. Appearance: The error code reported in the knldiag file does not make sense or is -9999. Probability for error to occur: Not very likely. Workaround: None. PTS: 1122781 since: 7.4.03.30 Fixed Problem: category: SQL commands message while 'FETCH SAME': ERROR -2010 Assignment impossible, char value too long appearance: 'FETCH SAME' on fetch result set and an 'index only' strategy PTS: 1122767 since: 7.4.03.30 Fixed Problem: miscellaneous Appearance Error -2010 for a NULL-value Preconditions and circumstances If the length of the input-parameter will be checked for some functions like chr (..., maxlength) then NULL-value may, but need not result in that error Workaround Surround the column which includes the NULL-value with a dummy-function, like SUBSTR (...., 1) PTS: 1122741 since: 7.4.03.30 Fixed Problem: miscellaneous Appearance Error -2010 when calling a dbproc/a trigger, even if no character data is used. Preconditions and circumstances Dbproc/Trigger uses local variable of datatype float(n) n > 20. This variable is filled with something of more than 20 digits. Workaround Define the local variable with n <= 20. PTS: 1122688 since: 7.4.03.30 Fixed Problem: Preconditions and circumstances A deadlock is detected but it relates to another deadlock which can only be resolved by the request timeout. Example: All transactions work with the same record. T1 set row share T2 set row share T3 req row exclusive => wait T2 req row exclusive => wait T1 req row exclusive => DEADLOCK, work rollbacked, -600 => T1 is termintated, T2 and T3 are waiting. PTS: 1122637 since: 7.4.03.30 Fixed Problem: 1) circumstances/preconditions for the error-situation LogMode is AUTOOVERWRITE and a data-backup is recovered, which has a SavepointIOSequence, which is smaller than the OldestNotSaved-IOSequence of the Logdevice. A subsequent restart leads to an crash with an error-message "Assertion of state FreeLog failed!" in front of the backtrace. 2) visibility of the error administrator 3) probability of error-situations low, because a data recovery with log-mode autooverwrite makes no sense in a productive environment. 4) workaround Bring the database in admin-mode, switch the logmode to normal ("util_execute set log auto overwrite off"), restart and switch the logmode again to autooverwrite. PTS: 1122578 since: 7.4.03.30 New Feature: 1) Description of the new ability new liveCache parameters: MIN_RETENTION_TIME and MAX_RETENTION_TIME These new parameters have been inserted to give the DBA some kind of control over the amount of history being hold within the liveCache for consistent read. MAX_RETENTION_TIME defines the maximum time, history will be preserved. MIN_RETENTION_TIME defines the minimum time history must be preserved before the garbage collection is allowed to cancel a consistent view to overcome resource shortages. 2) Is it internal or external visible ? both 3) How and when is this new feature used ? MAX_RETENTION_TIME is used to restrict the amount of history data, which must be preserved within the liveCache. The application trying to read older history data will get an application error ("history not found"). PTS: 1121854 since: 7.4.03.30 Fixed Problem: 1) Appearance (short description of the problem and how it can be realized) Database error -900, -904, -907 respl. -1556 (oracle mode) occur although the data area is not full. 2) Preconditions and circumstances The problem occur, if the calculated dynamic converter map is too small to store all permanent converter leaf pages as well as all temporary converter leaf pages. If a lot of permanent converter leaf pages exist and many of them are not filled completely the dynamic converter map will be nearly full, although the data area has a lot of free space. If a temporary space consuming command is executed, no free map entry will be available and the command will fail. 3) Workaround (What can I do or what have I to do, if I use an older version and the problem occurred?) Increase data area size PTS: 1121539 since: 7.4.03.30 New Feature: 1) description of new feature restore log resp. restart until a given IOSequence 2) visibility of the feature admistrator 3) usage of the feature / pros and cons Use this feature to end a recovery at a specific IOSequence. The usage is analog to the point-in-time-recovery. PTS: 1120069 since: 7.4.03.30 Fixed Problem: 1) circumstances/preconditions for the error-situation When the database is i the state BackupHistoryLost and a Log-Backup is started then it returns the error-code -123 (no more log to save). This is wrong, because there is log to be saved. A new error-code -125 (Databackup missing (Backuphistory lost)) has been introduced for this situation. 2) visibility of the error Database adiminstrator 3) probability of error-situations low 4) workaround not needed PTS: 1119694 since: 7.4.03.30 Fixed Problem: select * from historyinfo sometimes returned wrong values for the pagecount if an undo is greater then 32k pages and was not removed before the next shutdown/restart. PTS: 1123635 since: 7.4.03.29 Fixed Problem: Precondition: Outer join within union select executed via prepared statements and including parameters Appearance: Possible wrong result set Workaround: Replace all parameters with literal values. Changing union order may also help PTS: 1123633 since: 7.4.03.29 Fixed Problem: Appearance - Crash during initial restart of a unicode database after a migration from release 7.3. - If the initial restart should succeed, all catalog records for views will be corrupted. Preconditions and circumstances The database that has been migrated must be of type unicode (parameter _UNICODE = YES). Workaround none PTS: 1123608 since: 7.4.03.29 Fixed Problem: 1) Auswahlbox zur Kategorisierung des Fehlers x checkpoint / savepoint x crash 2) Error messages in diagnostic files diagnostig file: knldiag message: ERR 53082 DATACACH CopyNo = 0 PNO XXXXXX PTR XXXXXXXXXX ERR 11599 BTRACE 1: 0x08471719 vabort +0x0019 ERR 11599 BTRACE /sapdb/QE1/db/pgm/kernel ERR 11599 BTRACE Frameinfo [0x501d4c74] (0x269b7,0xcf5a,0x53945f80,0x52545020) ERR 11599 BTRACE 2: 0x08374ce7 bd20_Abort2 +0x0043 ERR 11599 BTRACE /sapdb/QE1/db/pgm/kernel ERR 11599 BTRACE Frameinfo [0x501d4ca4] (0x1,0x501d4e94,0x501d4db8,0x85d4a20) ERR 11599 BTRACE 3: 0x083731e1 bd20_FreeCBlock +0x00ed ERR 11599 BTRACE /sapdb/QE1/db/pgm/kernel ERR 11599 BTRACE Frameinfo [0x501d4ce4] (0xcf5a,0x8671ff7,0x269b7,0x5394da70) ERR 11599 BTRACE 4: 0x08372259 bd20ResetIOState +0x0111 ERR 11599 BTRACE /sapdb/QE1/db/pgm/kernel ERR 11599 BTRACE Frameinfo [0x501d4d14] (0x8818398,0x215c,0x0,0x53945f74) ERR 11599 BTRACE 5: 0x08591405 FlushDataCacheAfterPrepare__12Pager_Writer +0x027d ERR 11599 BTRACE /sapdb/QE1/db/pgm/kernel ERR 11599 BTRACE Frameinfo [0x501d4d64] (0xd,0x7,0x8,0x5393c5a8) ERR 11599 BTRACE 6: 0x08590899 Run__12Pager_Writer +0x00f1 ERR 11599 BTRACE /sapdb/QE1/db/pgm/kernel ERR 11599 BTRACE Frameinfo [0x501d4ed4] (0x4efff690,0x7,0xd,0x501d4f1c) ...... 3) Appearance crash of the database 4) Preconditions and circumstances exterm high insert&update load during savepoint. 5) Probability that the error occurs rare 6) Workaround try again, reduce load by serializing parallel tasks PTS: 1123493 since: 7.4.03.29 Fixed Problem: Dump when writing a before-image of a var-object. Excerpt of the call-stack of the dump: void Log_ActionObject::WritePersistentFormat Log_UndoFile::WriteBeforeImageResult Log_UndoFile::WriteUndoEntry Log_UndoFile::WriteBeforeImageResult Log_Transaction::WriteUndoEntry void kb67DelUpdObj void kb67UpdObj void bd93UpdateVarObjBody ... This error is caused by an error in the space-optimized storage of variable sized objects (see 1122402). The error occurs only if the object is larger than 160 byte and has been created with a version in which this optimization is not yet implemented. PTS: 1123434 since: 7.4.03.29 New Feature: To avoid problems with new outer join sequence search this functionality should be switchable. The command "diagnose optimize join outer on" forces the kernel to use given table sequence by the from clause. The state of this diagnose switch is show in system view db_state. In contradiction to release 7.3 diagnose optimize join outer on is the default setting. PTS: 1123350 since: 7.4.03.28 Fixed Problem: wrong results Appearance A select with LIKE returns resultrows which are not qualified in the LIKE-predicate. Preconditions and circumstances - the LIKE is done for a indexed column - the index of that column is used by the strategy - the LIKE-expression contains '*', '?' or '(', ')' - sqlmode internal Workaround: - drop the index or - avoid those character in the LIKE-expression or - use a sqlmode <> internal PTS: 1123291 since: 7.4.03.28 Fixed Problem: system error, wrong results Appearance Error -9806, a number-representation includes one byte X'FE'. Preconditions and circumstances SELECT with set-function (MIN/MAX/...) + GROUP BY plus the byte X'FE' at a special position (different for different selects) in the data handled Workaround none PTS: 1123008 since: 7.4.03.28 Fixed Problem: system error Appearance Error -9111/-602 with knldiag-entry VAK05.4: []->1[8192000] len: and m-1+x > n during preparation of a statement Preconditions and circumstances A unicode-database + an ascii-interface + a long statement, exceeding half of the available size in the input packet Workaround Increase installation-parameter _PACKET_SIZE and/or shorten the statement Setup: ====== PTS: 1124005 since: 7.4.03.30 Fixed Problem: Appearance: Database Manager cannot connect to a database of version 7.4.03 and gets an error "database or server not found". Initialization of liveCache fails with "error in program execution". Loading system tables fails with "Loader Communication Error: [-4] protocol error. Preconditions and circumstances: This problem occurs if SAP DB 7.4.03 and MaxDB 7.5.00 are installed on the same computer. Workaround: See SAP Note 668849. The workaround is to become "root" and change into directory /pgm. Type 'chmod o+x lserver dbmsrv'. Installation: ============= PTS: 1128159 since: 7.4.03.32 New Feature: Feature description: Even for old databases (created before autumn 2000) the SYSDBA will be NOT EXCLUSIVE to allow usage of DBANALYZER resp. parallel usage of R§_LOAD/older versions of DBANALYZER PTS: 1127968 since: 7.4.03.32 New Feature: Feature description: Parameters instance_type, _unicode, default_code and date_time_format out of systemview dbparameters can be seen by any user. PTS: 1126258 since: 7.4.03.32 Fixed Problem: ppearance: Systemview LOCK_WAITS always returns 100 ro not found Preconditions and circumstances: none Workaround: use other systemviews concerning LOCKS Solution: Qualification of LOCK_WAITS had to be changed PTS: 1125951 since: 7.4.03.32 Fixed Problem: appearance: The installation parameter DEFAULTCODE=internal results in EBCDIC-columns Workaround: use CHAR (..) ASCII resp. UNICODE or specify a user-dependant defaultcode (in releases, where this is possible) Solution: The installation will not allow INTERNAL any more PTS: 1125580 since: 7.4.03.31 Fixed Problem: appearance: after installation/update of Server its impossible to start/stop x_server (permission denied) Preconditions and circumstances: x_server with update feature is running during installation niserver and vserver images have no sbits Workaround: chmod 550 /pgm/vserver /pgm/niserver Solution: use SDBINST/SDBUPD >= 7.4.03.31 PTS: 1123502 since: 7.4.03.30 New Feature: The default for Requesttimeout is changed from 5000 to 180 sec. C Precompiler: ============== PTS: 1126188 since: 7.4.03.32 Fixed Problem: appearance: The precompiler returns -817 'Incompatible datatypes' for LONG UNICODE columns Preconditions and circumstances: You use an UNICODE enabled database and static SQL with LONG UNICODE columns Workaround: Use the -Hnocheck option of the precompiler Solution: A software update is necessary PTS: 1119645 since: 7.4.03.32 Fixed Problem: Appearance: When pre-compiling a program in Unicode mode under Windows, the size of TCHAR is still 1, not 2, and only ASCII characters are used. Preconditions and circumstances: Use the -Gunicode option of the precompiler, and a host variable of type TCHAR. Workaround: Use not TCHAR, but explicit sqlucs2 host variable data type. Solution: The order of defines in cpc.h has been changed. Now a TCHAR is under Windows a 2-byte data type in case of -Gunicode used. A new precompilation of the application is nessessary iff any host variable has the type TCHAR. Precompiler Runtime: ==================== PTS: 1128743 since: 7.4.03.32 Fixed Problem: appearance: An error "-9 Use new parsinfo" during processing a mass command (insert/update/delete) might lead to data corruption. Preconditions and circumstances: In detail, if the precompiler catches the error -9 the command will re-executed to handle this error transparent for the application. If the command was a mass command and some rows were successfully processed before the error -9 occured then the precompiler delivers the already processed rows again which leads to the data corruption (duplicate inserted rows etc.). This error might occur if an update statistics is running while a mass insert is processed. Workaround: none Solution: precompiler update PTS: 1126822 since: 7.4.03.32 Fixed Problem: appearance: EXEC SQL DESCRIBE INTO DESCRIPTOR sometimes returns a wrong column length for unicode columns if you run in oracle mode Preconditions and circumstances: orcalce mode using an oracle sqlda data structure Workaround: none Solution: precompiler update PTS: 1126718 since: 7.4.03.32 Fixed Problem: appearance: Instead of the null value an empty string will be inserted into a unicode database if you are using the sqlmode oracle and hostvariables of type UCS2 Preconditions and circumstances: The implicit conversion of the empty string to a null value in oracle mode dosn't work for a unicode databases using UCS2 host variables. Workaround: If you want to insert a null value don't use the empty string Solution: update of precompiler runtime PTS: 1126586 since: 7.4.03.32 Fixed Problem: appearance: Blanks are cut off from UCS2 data when retrieving data using hostvariables of type SQL_ORA_UCS2, SQL_ORA_UTF16 or SQL_ORA_TCHAR together with oracel or sapr3 mode. Preconditions and circumstances: Data is stored into UCS2 columns and retrieved using hostvariables of above mentioned types. Workaround: Use other host variable types. Solution: Use new precompiler runtime library. PTS: 1126483 since: 7.4.03.32 Fixed Problem: appearance: No error code is delivered into sqlca.sqlcode after failed PUTVAL/GETVAL statements, if request/receive communication with database kernel produces the error. Preconditions and circumstances: Kernel communication error while request/receive. Workaround: None. Solution: Use new precompiler runtime library. PTS: 1126182 since: 7.4.03.32 Fixed Problem: appearance: If UCS2 long columns are read into ASCII hostvariables by the use of GETVAL statements, the application may crash. It is also possible that the application fails with error "-777 Conversion from UNICODE impossible". Preconditions and circumstances: Use of UCS2 long columns in the database and ASCII hostvariables in the application. Workaround: None. Solution: Use a new precompiler runtime library. PTS: 1126080 since: 7.4.03.32 Fixed Problem: appearance: SELECT ... INTO command is send as mass command to database kernel if internal mode is used. This can lead to an error "-5015 Missing keyword: FROM". Preconditions and circumstances: SELECT ... INTO is used. Workaround: Don't use internal mode for SELECT ... INTO command. Solution: Use new precompiler runtime library. PTS: 1126055 since: 7.4.03.32 Fixed Problem: appearance: Error "Invalid VDN Number" durring floating point number conversion. Preconditions and circumstances: A conversion error occurs while converting some special floating point values into the internal number format Workaround: none Solution: a precompiler update is needed PTS: 1125876 since: 7.4.03.32 Fixed Problem: Appearance: Errror -883 in CONNECT. Preconditions and circumstances: The username or password is specified as TCHAR variable, and the source is precompiled with Unicode option. Workaround: Use a character data type of explicit width, i.e. SQLUCS2, or char. Solution: The handling of the TCHAR data type was added to the connect handling. PTS: 1125840 since: 7.4.03.32 Fixed Problem: Appearance: Error -778 appears on a prepare from an Unicode host variable. Preconditions and circumstances: A command FETCH USING DESCRIPTOR is prepared from an Unicode host variable in a precompiler program in internal mode. Workaround: None, a software update (precompiler runtime) is necessary. Solution: The case of the unnamed result set is now handled properly in the precompiler runtime. PTS: 1125827 since: 7.4.03.32 Fixed Problem: appearance: Trace file name is 'T.pct' when trace is enabled via shared memory at begining, and does not respect compiled-in setting of name. Preconditions and circumstances: Always if the trace is enabled via shared memory at begining. Workaround: do not enabling trace via shared memory before the program is running Solution: precompiler update PTS: 1125755 since: 7.4.03.32 Fixed Problem: Appearance: Error -778 when preparing a FETCH from a host variable. Preconditions and circumstances: When a host variable is defined as UCS2 (SQLUCS2 or TCHAR in Unicode mode), an it is used to contain a FETCH command using a descriptor, e.g. the command FETCH CURSORNAME USING DESCRIPTOR and a precompiler command EXEC SQL PREPARE FCOMMAND FROM :HOSTVAR is executed, always an error -778 is returned. Workaround: None, a software update is necessary. Solution: xxx PTS: 1125639 since: 7.4.03.32 Fixed Problem: appearance: When inserting UCS2 long data into a LONG UNICODE column the error "(-3989):Invalid long column length" can occur. Preconditions and circumstances: UCS2 host variable, LONG UNICODE column, and long UCS2 data to insert exceeds packet size of database. Workaround: Increase packet size of database. Solution: A new precompiler runtime library must be installed. PTS: 1124297 since: 7.4.03.32 Fixed Problem: 1) Preconditions and circumstances Indicator variables in SQLDA structure are not well aligned. 2) Solution to the problem An update of the precompiler runtime library is necessary. 3) Probability that the error occurs Could occur if not-well aligned memory is used. 4) Workaround Use well-aligned memory for index variables in the SQLDA. PTS: 1124293 since: 7.4.03.32 Fixed Problem: Error messages in diagnostic files: none diagnostic file: precompiler trace Error message: none (illeagal content in character values) Appearance: Character arrays are not padded with blanks if the kernel column is a unicode column. Preconditions and circumstances If the hostvariable size is longer than the corresponding kernel column and the kernel column is a unicode column then the hostvariable will not be padded with blanks. Probability that the error occurs always, but usually the hostvariables used by R/3 are not longer than the kernel column Workaround none, update of the precompiler runtime is needed. Further documentation none PTS: 1121984 since: 7.4.03.32 Fixed Problem: 1) Preconditions and circumstances Several long data conversions from/to unicode missing. The kind of conversion is depending on wether ASCII or UCS2 order packets are used. 2) Solution to the problem An update of the precompiler runtime library is necessary. 3) Probability that the error occurs Always if not-supported conversion is used. 4) Workaround None. PTS: 1125311 since: 7.4.03.31 Fixed Problem: appearance: The R/3 application server is blocked if an signal 8 is reviece. The stackbacktrace ended within a sqlrealloc, sqlalloc or sqlfree call. Preconditions and circumstances: If an signal is recieved by the disp+work process the signalhandler calls an dbsl_break funktion. The dbsl_break or any of their called functions (EXEC SQL CANCEL) allocates new memory for the execution of the cancel call. Since memory allocation function are not allowed within a signalhandler the proces may be deadlocked by this mallc call. Solution to the problem A Softwareupdate is necessary Workaround: None PTS: 1125256 since: 7.4.03.31 New Feature: Feature description: For security enhancement the memory mapped file for enabling the precompiler trace is now located in $HOME/.sdb/ The irtrace tool updates the file irtrace.shm in this directory PTS: 1124574 since: 7.4.03.31 Fixed Problem: 1) Preconditions and circumstances The application returns the errormessage -4012 'Unknown parseid after a serverdb crash/shutdown or reconnect 2) Solution to the problem A Softwareupdate is necessary 3) Probability that the error occurs Only if the database transaction before the crash was uncommitted. 4) Workaround One of these action would help: - Restart your database twice - Connect to the database with a different application before reconnection your program/appserver. - Restart your program/appserver. PTS: 1124855 since: 7.4.03.30 Fixed Problem: Appearance: An application based of the precompiler like the disp+work consumes memory. Preconditions and circumstances: The application uses select for update commands or didn't runs in SQLMODE sapr3. Workaround: Restart your application from time to time. PTS: 1123576 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances The application returns to few values on the second call to an SELECT COUNT(*) 2) Solution to the problem A Softwareupdate is necessary 3) Probability that the error occurs Always 4) Workaround Do not EXEC SQL CLOSE CURSOR. Closes the cursor implicite during a reopen instead PTS: 1123177 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances - The application runs under R/3 and SAPDB is the central instance. - R/3 without SAPDB but with a liveCache instance are not affected. - A long running or deadlocked connection is killed with x_cons - The errorcode 800 is show in the prcompiler trace - The stackbacktrace shows follwong entries p03cpacketinit pr03PacketInit pr01ConNewCont pr03onConnect 2) Solution to the problem A Softwareupdate is necessary 3) Probability that the error occurs Always 4) Workaround Do not kill the task with x_cons PTS: 1123131 since: 7.4.03.30 Fixed Problem: 1) Preconditions and circumstances If a create index statement for a new table is prepared and executed with EXEC SQL PREPARE and EXEC SQL EXECUTE, the error "-6008 duplicate index name" occurs. 2) Solution to the problem An update of the precompiler runtime library is necessary. 3) Probability that the error occurs Always. 4) Workaround Execute the create index statement with EXEC SQL EXECUTE IMMEDIATE. PTS: 1122882 since: 7.4.03.30 New Feature: Number values returned from the database and converted into a string representation will get a nicer format. If the buffer size is to small the digits behind the point will be truncated. This leads to a lost of the precision, but it avoids the exponend represenation of the number values which cannot be handled by R/3. PTS: 1122849 since: 7.4.03.30 Fixed Problem: The size of irtrace has been reduced PTS: 1120677 since: 7.4.03.30 Fixed Problem: Error messages in diagnostic files: diagnostic file: precompiler trace Error message: -75 Too many SQL statements (work rolled back) Appearance: If a lot of "SET ISOLATION LEVEL" commands will be send as a precompiler command (EXEC SQL SET ISOLATION LEVEL ) an error -75 Too many SQL statements (work rolled back) will occur. The reason for that error is a kernel bug that the internal command counter within the database kernel will overflow. But the precompiler should avoid running into this bug by changing its behaviour for sending the command "SET ISOLATION LEVEL". Preconditions and circumstances The error occures if a lot of "SET ISOLATION LEVEL" commands will be send in the same session. Probability that the error occurs Applications that sends a lot of "SET ISOLATION LEVEL" commands via the precompiler interface can run into this error with a high probability. Workaround none, an update of the precompiler runtime or a newer kernel (>= 7.3.00 Build 33) will be needed. Further documentation none PTS: 1120413 since: 7.4.03.30 Fixed Problem: Error messages in diagnostic files diagnostic file: precompiler trace Error message: no error message, have a look to the insert value of the float column and compare it with the original value Appearance (short description of the problem and how it can be realized) A rounding error occurs converting double values to kernel float columns. For example the number 81 will be converted into 80.999999999999999. Preconditions and circumstances A lot of double values (for example 8.1e+01) will be badly rounded by converting them into a VDN number. Unfortunately this is the reason for that a comparsion of the inserted double values and the original double values will fail. Probability that the error occurs A complete list of affected numbers cannot be given, but a lot of numbers without values after the decimal point are affected. Workaround Avoid using float columns as key Further documentation In general the precision of a double value conversion into a VDN-number is guaranteed only for the first 15 numbers of the mantissa. The 16th number of the mantissa will be rounded. So it's always not a good idea using float columns as key columns JDBC: ===== PTS: 1126776 since: 7.4.03.32 Fixed Problem: appearance: Content of long column is corrupted after executing an insert or an update if more than one long column will be inserted and the first long column is of type long unicode and the second long column is of type long byte. Preconditions and circumstances: more than one long column within a statement Workaround: none Solution: new JDBC driver is needed PTS: 1126652 since: 7.4.03.32 Fixed Problem: Appearance: Selecting strings from VARCHAR columns that contain only a few characters uses an unexpected high amount of memory in the Java Virtual Machine. Preconditions and circumstances: For any VARCHAR(n) column in a result set, a getString() returns a string instance having an internal buffer with n chars. A lot of space is thus waisted if the string is kept. Workaround: Use 'new String(getString(colindex))' in places where appropriate (check for NULL values if necessary/applicable). Solution: Iternally a new String instance is created in case of trimming, which results in the use of a shorter buffer by the JVM. (The larger buffer is then garbage-collected). PTS: 1126509 since: 7.4.03.32 Fixed Problem: Appearance: ResultSet.getDouble() returns inexact values (e.g. 5.22500000000005 instead of 5.225). Preconditions and circumstances: The data type must be a FLOAT or a FIXED having less than 19 digits. Workaround: Use at least a FLOAT(20) for floating-point numbers in the data definition. Solution: A wrong old conversion method was used. PTS: 1126099 since: 7.4.03.32 Fixed Problem: appearance: Special null value not handled Preconditions and circumstances: The special null value will be returned from the database kernel if a numeric overflow or division by zero occurs. This special null value wasn't handled wasn't handled by the JDBC driver. Workaround: None Solution: an update of JDBC driver is needed PTS: 1125587 since: 7.4.03.32 Fixed Problem: appearance: The JDBC API call Blob.getBinaryStream().read() might return a wrong value for long byte columns if Blob.length() has been used before. Preconditions and circumstances: You run into this bug if you use Blob.getBinaryStream().read() after calling Blob.length() and the resultset contains more than one row and the long columns are longer than the communication packet size. Workaround: using Blob.getBinaryStream().read(byte[],int,int) instead of Blob.getBinaryStream().read() Solution: a jdbc driver update is needed PTS: 1125450 since: 7.4.03.32 Fixed Problem: Appearance: Using IBM JDK 1.3.1 Win32 build cn131-20021107, a ClassDefNotFoundError is thrown when trying to use the XA Connection or the Pooled Connection. Preconditions and circumstances: Using IBM JDK 1.3.1 Win32 build cn131-20021107, a ClassDefNotFoundError is thrown when trying to use the XA Connection or the Pooled Connection. Workaround: None. A software update is necessary. Solution: The wrapper method for hiding JDBC 3.0 features (java.sql.Savepoint) was added for the rollback and releaseSavepoint methods of the connection wrapper of the XA/pooled connection implementation. PTS: 1125088 since: 7.4.03.32 Fixed Problem: appearance: When selecting negative FIXED values that are shorter than 19 digits, an exception may be raised that the conversion is impossible. Preconditions and circumstances: The data value must have less significant (not equal to 0) digits after the decimal point, than the precision of the FIXED data type that was defined. Workaround: None, a software update is necessary. PTS: 1123773 since: 7.4.03.30 Fixed Problem: Error messages in diagnostic files: diagnostic file: none Error message: -709 Appearance: Reconnect fails with error -709 Preconditions and circumstances The reconnect within the JDBC driver fails if the xserver uses a different port than the standard port 7210. Probability that the error occurs Always if the xserver uses a other than the default port number. Workaround none, update of the JDBC driver needed. Further documentation none PTS: 1122954 since: 7.4.03.30 Fixed Problem: Error messages in diagnostic files: diagnostic file: none Error message: none Appearance: Possible lost of first 8 bytes of a long unicode column. Preconditions and circumstances It's possible to lose the first 8 bytes of a long unicode column when you have more than one long column in your update/insert PreparedStatement and you use both, InputStream and Reader, for setting the lo