PK
hAAoa, mimetypeapplication/epub+zipPK hAA iTunesMetadata.plist`
This section summarizes the new features and functionality of Oracle TimesTen In-Memory Database Release 11.2.2 that are documented in this guide, providing links into the guide for more information.
If you try to change the state of a replication receiver when replication has been configured to use a secondary IP address, a misconfiguration of the /etc/hosts
file may cause ttRepAdmin
to print an error. See "Problems when changing the state of a replication receiver" for more information.
If you provide an incorrect host name for a subscriber or have made an error entering the subscriber database name or host name in the replication scheme, you may see an error. See "Wrong database or host name" for more information.
Additional information was added about possible causes for a loss in AWT performance. For more details, see "AWT performance monitoring".
The error log messages for the cache agent daemon were modified as follows:
The TimesTen ORA
component was often misunderstood to be the Oracle standard for Oracle messages. Now, the TimesTen ORA
component is renamed to CAC
.
Previously, the TimesTen error message was printed, but the message number was not identified. Now, the message number is included in all messages, so that the user can reference the error message guide for further details.
For an example of these changes, see "Understanding messages about autorefresh in the support log".
The following sections provide information to help you diagnose and remedy some of the problems encountered while using a TimesTen database:
Note: If you are still having problems with your database after following the troubleshooting recommendations in this chapter, please contact technical support. |
This section describes what to check if you are unable to start or stop the TimesTen main daemon.
Possible cause | What to do |
---|---|
Incorrect privilege | You need the ADMIN privilege to start or stop the TimesTen daemon. Ensure that you are using the ttDaemonAdmin utility to start the daemon. The output from ttDaemonAdmin shows whether you have the correct privilege. |
Another process is using the TimesTen daemon port. | Use the ttVersion utility to verify what port number the TimesTen daemon is expected to use. Use an operating system command like netstat to check whether another process is listening on the port. If there is a conflict, either change the port number used by the other process or use ttmodinstall to change the port used by TimesTen. |
TimesTen daemon is already running. | Ensure that you are using the ttDaemonAdmin utility to start the daemon. The output from ttDaemonAdmin shows whether the daemon is already running. |
Other problems | Inspect the user error log produced by the daemon. See "Using the logs generated by the TimesTen daemon". |
The following sections describe what to do if one or more of the TimesTen processes appears to be unavailable:
If you receive an error that indicates the TimesTen subdaemon has stopped, inspect the user error log, as described in "Using the logs generated by the TimesTen daemon".
If the TimesTen daemon crashes, it cannot send anything to the user error log, but the subdaemons send a 'main daemon vanished' message to the log before exiting:
09:24:13 Err : 4375 ------------------: Main daemon has vanished
Restart the daemon. The next connection to each database causes TimesTen to recover from the checkpoint and transaction log files. See "Working with the Oracle TimesTen Data Manager Daemon" in the Oracle TimesTen In-Memory Database Operations Guide.
If you experience a crash by one of the TimesTen processes on a UNIX system and have exhausted all of the diagnostic options, check to see if TimesTen has generated a core file. Use the ttVersion
utility to find the core file. Look for a line in the output that shows a path for the daemon home directory:
TimesTen Release (ttuser:40732) 2011-04-04T17:53:04Z Instance admin: ttuser Instance home directory: /node1/ttuser/ttcur/TTBuild/linux86_dbg/install Daemon home directory: /node1/ttuser/ttcur/TTBuild/linux86_dbg/install/info
After locating the core file, attach to the debugger on the system and extract the stack trace from the core file and send the trace results to technical support.
On Windows systems you can obtain diagnostic information for a service failure by enabling the 'allow service to interact with desktop' option in the properties dialog for the TimesTen data manager in the Service menu. If a fatal fault occurs in the TimesTen data manager service, a pop-up asks if you would like to start the debugger. Contact technical support and provide the stack trace.
You may receive an error that indicates that a shared segment could not be created:
4671: TT14000: TimesTen daemon internal error: Error 28 creating shared segment, KEY 0x0201f7eb 4671: -- OS reports too many shared segments in use 4671: -- Confirm using 'ipcs' and take appropriate action 4671: 18538 ------------------: subdaemon process exited
Using the Linux ipcs
command may display information like this:
------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 1098350592 user1 777 10624 2 dest 0x00000000 1084817409 user1 777 2439680 2 dest 0x911fc211 1098383362 user2 666 67108864 1 0x2814afba 170721285 root 666 1048576 1
A status of dest
means the memory segment is marked to be destroyed. nattch
shows the number of processes still attached to the memory segment. The ipcrm
command cannot free the shared memory until the processes detach from the segment or exit. If an application connects to TimesTen and then becomes inactive, nothing can free the shared memory until the user exits or stops the application.
This section describes what to check if your application is unable to connect to a database in direct mode.
Possible cause | See... |
---|---|
Mismatch between the release of TimesTen and database | "Upgrading your database" |
User does not have the CREATE SESSION privilege. | "Privileges to connect to database" |
Incorrect file permissions | "Check file system permissions to access database" |
TimesTen daemon or Data Manager service not running | "Check that the TimesTen daemon is running" |
Incompatible connection attributes or incorrect path name for database set in the DSN | "Check DSN definition" |
No available shared memory segment or maximum size of shared memory segment too small | "Manage semaphores and shared memory segments" |
Not enough swap space | "Check available swap space (virtual memory)" |
Inadequate number of file descriptors | "Increase the number of available file descriptors" |
Other possible causes | "Using the logs generated by the TimesTen daemon" |
A database is only guaranteed to be accessible by the same minor release of TimesTen that was used to create the database. When you upgrade the TimesTen software and you would like to use the new release to access a database that was previously created, create a database with the new release. Then use the ttMigrate
utility to copy the tables, indexes, and table data from the old database to the new one.
See "TimesTen Upgrades" in the Oracle TimesTen In-Memory Database Installation Guide for details.
The user must have the CREATE SESSION
privilege to connect to the database. If you do not have access, the administrator must use the GRANT
statement to grant you the CREATE SESSION
privilege. See "Granting privileges to connect to the database" in the Oracle TimesTen In-Memory Database Operations Guide.
A "permission denied
" error is generated if you attempt to connect to a database and you do not have the proper permissions to access the checkpoint or transaction log files or the directory where those files reside. Check the file system permissions on the files located in the directory specified in the DataStore
attribute in your DSN.
If the TimesTen daemon or Data Manager service is not running, an attempt to connect to a database generates TimesTen error 799 "Unable to connect to daemon; check daemon status.
"
Use the ttStatus
utility as described in "Check the TimesTen user error log" to check the status of the TimesTen daemon.
In your DSN description, perform the following:
Certain connection options or DSN attribute settings combinations are not compatible. In cases where incompatible settings are used, an error is returned to the application when it attempts to connect to a database.
Confirm that you have specified the correct path names in the DataStore
and LogDir
attributes in your DSN. Also confirm that the path names are absolute path names, rather than relative. Otherwise, the path name will be relative to the directory where the application was started.
On Windows, be careful to distinguish between User and System DSNs in the ODBC Data Source Administrator. Do not create user DSNs because they are visible only to the user who defines them. System DSNs are visible to all users. In particular, if you run a TimesTen application as a Windows service, it runs as the user SYSTEM
by default and does not see any User DSNs. Make sure that you are not using a mapped drive in the database path name.
An error is generated if you attempt to connect to or create a shared database whose size is larger than the maximum size of shared memory segments configured on your system. Also, an error is generated if the system cannot allocate any more shared memory segments.
On UNIX systems, use commands similar to the following:
ipcs -ma
to check if you have other shared memory segments using up memory, such as Oracle instances or other instances of TimesTen.
ipcrm
to remove a message queue, semaphore set or shared memory segment identifier. Use ipcrm
to clean up semaphores or shared memory segments after a faulty TimesTen shutdown, instance crash, daemon crash or other application issues that use shared memory segments and semaphores. Use -m
to remove a shared memory segment. Use -s
to remove a semaphore.
ps -eafl
to see how much memory is being used by running processes.
ulimit -a
to see if there are any limits on the maximum amount of memory one process can address, maximum file size, and the maximum number of open files.
If a shared memory segment is available but is too small to hold your database, use the ttSize
utility to estimate the amount of memory required for your tables and then check the values of the PermSize
and TempSize
attributes to verify the amount of memory established for your database. "Monitoring PermSize and TempSize attributes" in the Oracle TimesTen In-Memory Database Operations Guide describes guidelines for setting the size of your permanent and temporary data partitions. If the amount of memory established for your database is too large, reset PermSize
and TempSize
to smaller values. See "Check the amount of memory allocated to the database" for more information. Another option is to increase the maximum size of the shared memory segment, as described below.
If a database becomes invalidated because of a system or application failure, a subsequent connection recovers the database. If recovery fails because you have run out of database space, then reconnect to the database with a larger PermSize
and TempSize
value than the ones that are currently in effect. If recovery fails because you do not have enough shared memory, then you should increase the maximum size of the shared memory segments for the system.
For more information on how to configure shared memory for TimesTen, see "Installation prerequisites" in the Oracle TimesTen In-Memory Database Installation Guide.
There must be enough swap space to back up shared memory.
On UNIX systems, use the swap command to check and add virtual memory to your system.
On Windows systems, check and reset the size of your virtual memory from the Advanced tab in your Computer Management Properties dialog window.
Each process connected to a TimesTen database keeps at least one operating system file descriptor open. Additional file descriptors may be opened for each connection if checkpoints are issued, and transactions are committed or rolled back. If you receive an error that all file descriptors are in use when attempting to connect to a database, then increase the allowable number of file descriptors. See your operating system documentation for limits on file descriptors and information about changing the number of file descriptors.
This section includes the following topics:
Thread stack overflow when using multiple client connections
Also consider the topics described in "Application unable to connect to database in direct mode".
You have not correctly identified the system where the TimesTen Server is running.
On a Windows client machine, select the TimesTen Server in the TimesTen Data Source Setup dialog that is displayed as part of the ODBC Data Source Administrator. To verify the TimesTen Server:
On the Windows Desktop, choose Start > Settings > Control Panel.
Double click the ODBC icon. This opens the ODBC Data Source Administrator.
Click the System DSN tab. This displays the System Data Sources list.
Select the TimesTen Client data source. This opens the TimesTen Client DSN Setup dialog.
Click Servers. This opens the TimesTen Logical Server List.
Select the TimesTen Server from the list. This opens the TimesTen Logical Server Name Setup dialog.
Verify that the values for the Network Address and Port Number are correct. If necessary, change the values.
Note: If you typed the hostname or network address directly into the Server Name field of the TimesTen Client DSN Setup, the Client tries to connect to the TimesTen Server using the default port. |
If the Network Address and Port Number values are correct, the TimesTen Server may not be running. See "Starting and stopping the Oracle TimesTen Data Manager service on Windows" in the Oracle TimesTen In-Memory Database Operations Guide for information about starting the server manually. See "Testing connections" in the Oracle TimesTen In-Memory Database Operations Guide for more information about identifying this problem.
On UNIX, specify the TimesTen Server with the TTC_Server
connection attribute in the odbc.ini
file on the client machine. If the value specified for TTC_Server
is an actual hostname or IP address, the client tries to connect to the TimesTen Server using the default port. In TimesTen, the default port is associated with the TimesTen release number. If the value specified for TTC_Server
is a logical ServerName, this logical ServerName must be defined in the ttconnect.ini
file. The ttconnect.ini
entry for this ServerName needs to correctly define the hostname/IP address and port number on which the TimesTen Server is listening.
If the Network Address and Port Number values are correct, the TimesTen Server may not be running or did not start. See "Starting and stopping the daemon on UNIX" in the Oracle TimesTen In-Memory Database Operations Guide for information about starting the server manually. See "Testing connections" in the Oracle TimesTen In-Memory Database Operations Guide for more information about identifying this problem.
Check the server's log file. Server log messages are stored in the files specified by the -userlog
and -supportlog
options in the ttendaemon.options
file. See "Creating and configuring Client DSNs on UNIX" and "Managing TimesTen daemon options" in the Oracle TimesTen In-Memory Database Operations Guide.
The maximum number of concurrent IPC connections to the Server of a particular TimesTen instance is 24,999. However, TimesTen has a limit of 2043 connections (direct or client/server) to a single DSN.
Client/server users can change the file descriptor limit to support a large number of connections. For an example, see "Installation prerequisites" in the Oracle TimesTen In-Memory Database Installation Guide.
On UNIX, verify that the Server DSN is defined in the sys.odbc.ini
file on the machine running the TimesTen Server.
On Windows, verify that the Server DSN is defined as a System DSN in the ODBC Data Source Administrator on the machine running the TimesTen Server. See "Creating and configuring a logical server name on Windows" in the Oracle TimesTen In-Memory Database Operations Guide.
This error only occurs on UNIX platforms. Open the sys.odbc.ini
file on the machine running the TimesTen Server and locate the Server DSN you are trying to connect. Verify that the dynamic library specified in the DRIVER
attribute for the Server DSN exists and is executable.
The default TimeOut interval is 60 seconds.
To increase this interval on UNIX, change the value of the TTC_Timeout
attribute in the odbc.ini
file.
To set the timeout interval on Windows, see the instructions in "Setting the timeout interval and authentication" in the Oracle TimesTen In-Memory Database Operations Guide.
Check to see if the error was due to the Client timing out. Check the TimesTen Server's log to see why the Server may have severed connection with the Client. Use ping to determine if your network is up or try using telnet
to connect to the TimesTen Server port number.
While using shared memory segment (SHM) as IPC, the application may see the following error message from the TimesTen Client ODBC Driver if the application reaches the system-defined per-process file-descriptor-limit.
SQLState = S1000, Native Error = 0, Message = [TimesTen][TimesTen 11.2.2 CLIENT]Failed to attach to shared memory segment for IPC. System error: 24
This may happen during a connect operation to the Client DSN when the shmat
system call fails because the application has more open file descriptors than the system-defined per-process file descriptor limit. To correct this problem, you must increase your system-defined per-process file descriptor limit. For more information about file descriptor limits, see "System Limits" in the Oracle TimesTen In-Memory Database Reference.