The transactions log

Each Planning Anaytics database logs the data changes that are made by its clients, such as changes to cube data, in the tm1s.log file. This logging cannot be disabled at the database level. Cube logging can be enabled and disabled for specific cubes. Transaction log files can be used for auditing and data recovery.

When a client changes a cube value, the change is recorded in the tm1s.log file, which is located in the Planning Analytics data directory. For example, <pa_install_directory>\bin64\samples\tm1\SData\tm1s.log.

The following information is recorded in the tm1s.log file:

  • Date and time the change was made
  • Name of the client who made the change
  • Whether the new data is simple data (N) or string data (S)
  • Value before the change
  • Value after the change
  • Name of the cube in which the change was made
  • Elements that identify the cell that changed
Important: The effect of the CubeClearData process function is not recorded in the transaction log; the log will not contain any entries relating to the removal of data from a cube resulting from the use of CubeClearData.

Consider the following scenarios that impact transaction logging:

  • Transaction logging can be enabled and disabled for specific cubes by setting the LOGGING column in the }CubeProperties cube. Transaction logging is typically needed on cube transactions only during period of manual user data entry. For more information, see Enabling and disabling transaction logging.
  • Transaction logging can be enabled and disabled during TurboIntegrator processes by using the CubeSetLogChanges() TurboIntegrator function. You might want to disable transaction logging during a TurboIntegrator process that loads a large volume of data to a cube. For more information, see CubeSetLogChanges.
  • Consider whether transaction logging is required during TurboIntegrator processes. In general, if a TurboIntegrator process can be rerun to reload the same data into a cube, transaction logging can be disabled during the TurboIntegrator process.
  • The current transaction log file is named tm1s.log. The tm1s.log file is locked by the TM1 database and cannot be viewed or edited with a text editor. The current transaction log file is renamed to tm1s<timestamp>.log during a SaveDataAll (SaveDataAll happens automatically on shutdown or restart). An empty tm1s.log file is generated when the TM1 database starts and during a SaveDataAll without a database restart. For more information, see SaveDataAll.
  • The transaction log files are not managed by the database because these log files contain a record of changes to data that might be required for review. It's possible for the transaction log files to grow large.
  • Consider how long to keep the historical transaction log files (historical files are named tm1syyyymmddhhmmss.rej). This length of time can be determined based on the requirement to store changes. If the historical transaction logs files must be permanently stored, then it is recommended to either compress transaction log files older than a specific date, or to move the files to a storage solution. The historical transaction logs files can be opened and examined in a text editor. A text editor that can open large files is recommended.
  • If the server is intentionally shut down without saving the changes, the log file is saved with a timestamp and the extension is changed to .rej. You can process the tm1s<timestamp>.log file through TurboIntegrator to recover the transactions.
  • During an improper server shutdown, the tm1s.log remains as is and is not timestamped during shutdown. When the server restarts, it recognizes the presence of an old tm1s.log file and prompts you to choose between recovering the new log from the old existing log. If you respond to recover, the server searches for the end of the same file (tm1s.log) and resumes logging to it; but if you reject, the server creates a tm1s<timestamp>.rej file and starts logging to a new tm1s.log.

The log file is a comma-delimited ASCII file, as shown in the following sample:

"19980602212741","19980602212741","Admin","N","380.","250.","salescube",
"Budget","Belgium","L Series 1.6 L Sedan","Units","Jun",""
"19980602212744","19980602212744","Admin","N","430.","600.","salescube",
"Budget","Belgium","L Series 1.6 L Sedan","Units","Sep",""
"19980602212749","19980602212749","Admin","N","610.","800.","salescube",
"Budget","Belgium","L Series 1.6 L Sedan","Units","Oct",""

For more information, see also TM1 Server overview.