4. Other Utilities#
altiAudit#
About altiAudit#
When auditing is performed on the Altibase server, the $ALTIBASE_HOME/trc directory is the default location for where the audit log file is created and audit logs are written; this location can be changed with the AUDIT_LOG_DIR property. Audit logs in the audit log file are written in binary format and are therefore, illegible by the user. The altiAudit utility converts and prints the audit log file in text format to enable the user to analyze them.
altiAudit [-s] {audit_log_file_name}
Syntax#

Descriptions#
This converts and outputs audit logs written by the server in text format.
With the -s option, audit logs can also be printed in CSV format.
Examples#
The following command prints audit logs in plain text format.
$ altiAudit $ALTIBASE_HOME/trc/alti-1366989680-0.aud
The results are printed as below:
[2015/03/05 14:59:29]
Session Info
User Name = SYS
Session ID = 1
Client IP = 127.0.0.1
Client Type = CLI-64LE
Client App Info = isql
Action = INSERT
Auto Commit = 1 (0:non-autocommit 1:autocommit)
Query Info
Statement ID = 65540
Transaction ID = 150657
Execute result = 4 (0:failure 1:rebuild 2:retry 3:queue empty 4:success)
Fetch result = 2 (0:failure 1:success 2:no result set)
Success count = 1
Failure count = 0
Return code = 0x02000
Processed row = 1
Used memory = 0 bytes
XA flag = 0 (0:non-XA 1:XA)
Query Elapsed Time
Total time = 0
Soft prepare time = 0
Parse time = 0
Validation time = 0
Optimization time = 0
Execution time = 0
Fetch time = 0
SQL
--------------------------------------------------------------------------------
insert into t1 values ('aaaa', 1)
--------------------------------------------------------------------------------
The following command prints audit logs in CSV format:
$ altiAudit -s $ALTIBASE_HOME/trc/alti-1366989680-0.aud
The results are printed as below:
1425535169,SYS,1,127.0.0.1,CLI-64LE,isql,INSERT,1,65540,150657,4,2,1,0,1,0,0,0,0,0,0,0,0,0,"insert
into t1 values ('aaaa', 1)"
Output#
In the output, each field has the following meaning:
| Field Nam | Type | Description |
|---|---|---|
| Session Info | ||
| User Name | String | The name of the user connected to the session |
| Session ID | INTEGER | The session ID |
| Client IP | String | The client IP address |
| Client Type | String | The connected client type |
| Client App Info | String | The application information |
| Action | String | The executed statement type |
| Auto Commit | INTEGER | 0: Non-auto commit mode 1: auto commit mode |
| Query Info | ||
| Statement ID | INTEGER | The statement ID |
| Transaction ID | INTEGER | The transaction ID |
| Execute result | INTEGER | The execution result: 0: failure 1: rebuild 2: retry 3: query empty 4: success |
| Fetch result | INTEGER | The fetch result: 0: failure 1: success 2: no result set |
| Success count | INTEGER | The number of times the statements conforming to the auditing condition succeeds. For the BY SESSION condition: the accumulated number of times the statements conforming to the auditing condition succeeds. For the BY ACCESS condition: if the statement conforming to the auditing condition succeeds, 1 is output. |
| Failure count | INTEGER | The number of times the statement conforming to the auditing condition fails. For the BY SESSION condition: the accumulated number of times the statements conforming to the auditing condition fails. For the BY ACCESS condition: if the statement conforming to the auditing condition fails, 1 is output. |
| Return code | INTEGER | The result code of the executed statement conforming to the auditing condition. The execution result is only output for the BY ACCESS condition. |
| Processed row | INTEGER | The number of processed records |
| Used memory | INTEGER | The memory usage (to be extended in the future) |
| XA flag | INTEGER | 0: Non-XA 1: XA |
| Query Elapsed Time | ||
| Total time | BIGINT | The total time consumed in query execution |
| Soft prepare time | BIGINT | The time consumed in preparing |
| Parse time | BIGINT | The time consumed in parsing |
| Validation time | BIGINT | The time consumed in validation |
| Optimization time | BIGINT | The time consumed in optimization |
| Execution time | BIGINT | The time consumed in execution |
| Fetch time | BIGINT | The time consumed in fetching |
| SQL | ||
| INTEGER | The executed SQL statement |
altibase#
About altibase#
altibase is the executable server file that controls all Altibase services.
altibase {-v|n}
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -v | Displays the version of Altibase that is currently installed |
| -n | Executes Altibase in the foreground |
Description#
altibase is the executable server file that controls all Altibase services.
To start up or shut down Altibase normally in a production environment, do not use this command. Instead, log into iSQL in SYSDBA mode and use the startup or shutdown command, or use the server command. The server command is actually a shell comprising several commands related to starting up and shutting down the server. For more information about the server utility, please refer to server in this document.
For a complete explanation of how to start up and shut down Altibase, please refer to the iSQL User's Manual or the Altibase Getting Started Manual.
When the Altibase server process is started using iSQL, it runs in the background. In contrast, when the altibase command is executed at the shell prompt with the -n option, Altibase is executed in the foreground. This is used only for Altibase debugging purposes, and is not intended or recommended for live deployment, that is, for use in a production environment.
Running the altibase executable file with the -v option does not start up the server, but merely outputs information about the currently installed version of Altibase.
References#
Please refer to the Altibase Getting Started, the Altibase Administrator’s Manual, and the Altibase iSQL User’s Manual
altiMon#
About altiMon#
altimon.sh monitors the status of the Altibase server process and the related host system.
altimon.sh {start | stop}
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| start | Run altimon |
| stop | Terminates altimon |
Description#
altiMon consistently monitors Altibase server and the related host system in order to record the collected data into the log files.
altiMon mainly monitors information on operating system and database, and refer to the Setting altiMon Configuration for in-depth information.
start#
-
Set the JAVE_HOME environment variables.
-
Run the command.
-
Unix Platforms
$ altimon.sh start
- If operation fails, verify the file $ALTIBASE_HOME/altiMon/logs/altimon.log.
stop#
- Unix Platforms
$ altimon.sh stop
Operating System#
altiMon uses PICL library written in C language in order to collect information on operating system. The PICL library is available on the operation systems describe in the chart below.
| OS | CPU | Version | PICL Library |
|---|---|---|---|
| AIX | ppc64 | OS Version 5.3, 6.1, 7.1 | aix-ppc64-5.so |
| HP-UX | ia64 | IA64 | hpux-ia64-11.sl |
| LINUX | X86_64 ppc64(le) | OS Version 2 ~ 4 glibc 2.5 or later | linux-x64.so linux-ppc64.so |
it can also be used after checking whether the PICL for the lower version works on the OS version that is not supported.
$ cd $ALTIBASE_HOME/altiMon # java -Dpicl="<picl_lib_file>" -jar lib/com.altibase.picl.jar
Example)
This procedures verifies that the "aix-ppc64-5.so" PICL library is available on the unsupported version of the AIX operating system and runs altimon
- Verify that PICL for lower versions works.
$ cd $ALTIBASE_HOME/altiMon
$ java -Dpicl="aix-ppc64-5.so" -jar lib/com.altibase.picl.jar
- After the general operation is verified, open the $ALTIBASE_HOME/bin/altimon.sh file and set the PICL file in the PICL_LIB variable.
PICL_LIB=-Dpicl="aix-ppc64-5.so"
- Run altimon
$ altimon.sh start
Notes#
altiMon requires java 1.5 version or above to operate.
The user should select the Java version equivalent to the number of bits of the PICL C library. For example, if the PICL C library is linux x64, 64bit Java should be used.
Setting altiMon Configuration#
It is required that the following files located in the $ALTIBASE_HOME/altiMon/conf directory should be configured in order to properly use altiMon.
config.xml#
This file configures Altibase access and altiMon control information.
| Tag Name | Status | Description |
|---|---|---|
| \<Altimon Name='String' monitorOsMetric="true|false"> | Mandatory | The monitorOsMetric attribute specifies whether or not to measure the OsMetrics. Default Value: TRUE It should be set to false when there is no PICL C library that can be compatible to the user environment. |
| \<DateFormat> | Optional | tag. Date and time format when recording logs. Default Value : yyyy-MM-dd HH |
| \<Interval> | Optional | Data collection cycle. Default Value : 60(sec) The specified values are applied unless intervals are specified in the settings, or .However, the is not affected. |
| <CpuSamplingInterval> | Optional | This is the execution cycle of the thread that measures CPU utilization (%). The default value is 3, and the unit is second. Since Altibase 7.1.0.8.4, OS CPU utilization measurement thread and ALTIBASE HDB CPU utilization measurement thread have been added to measure CPU utilization. Each thread measures the CPU usage rate at the CpuSamplingInterval cycle, and these values are referred to in the monitoring element. Since the OS CPU utilization measurement thread and the ALTIBASE HDB CPU utilization measurement thread operate as separate threads, a time difference may occur between the two measurement values when the CPU is overloaded. |
| \<LogDir> | Optional | tag should be specified when using an extra disk;otherwise, the following directory would be set to default as following: $ALTIBASE_HOME/altiMon/logs |
| \<MaintenancePeriod> | Optional | Log file maintenance period Default Value : 3 days |
| \<Target Name='String'> | Mandatory | This tag indicates the monitoring target database. Name: name |
| \<HomeDirectory> | Optional | tag sets ALTIBASE_Home directory as an absolute path. If it is not specified, the ALTIBASE_HOME environment variable will be used. |
| \<DBConnectionWatchdogCycle> | Optional | This tag indicates the execution cycle of DB connection watchdog.DB connection watchdog enables monitoring target database to continue monitoring by periodically attempting to access to the database even after shutting down. Default Value : 60(sec) |
| \<User> | Optional | Connected user. If this file is not specified, altiMon will connect via SYS user. |
| \<Password Encrypted="Yes | No"> | Mandatory | When the encrypted attributes is "No", and even if the user registered the password, altiMon alters the encrypted attributes to "YES", and thus, the password is also encrypted. |
| \<Port> | Mandatory | Port number |
| \<NLS> | Mandatory | NLS_USE |
| \<DbName> | Optional | Database Name Default Value : mydb |
| \<IPv6> | Optional | IPv6 status of use Default Value: false |
| \<ConnectionProperties> | Optional | Specifies additional connection attributes. 예) \<ConnectionProperties> login_timeout=3;fetch_timeout=60 \</ConnectionProperties> |
Metrics.xml#
The following categories provide information on the Metrics.xml file which can configure the predefined OS Metrics, and SQL Metrics, as well as user-defined OS Metrics(Command Metric).
| Tag Name | Description |
|---|---|
| \<OSMetric Name='PROC_CPU_USER' Activate='true' Interval='30' Logging='true'> | This tag configures the predefined OS Metric and uses predefined OS Metrics as in the following. TOTAL_CPU TOTAL_CPU_USER TOTAL_CPU_KERNEL PROC_CPU PROC_CPU_USER PROC_CPU_KERNEL TOTAL_MEM_FREE TOTAL_MEM_FREE_PERCENTAGE PROC_MEM_USED (=> RSS) PROC_MEM_USED_PERCENTAGE SWAP_FREE SWAP_FREE_PERCENTAGE DISK_FREE DISK_FREE_PERCENTAGE DISK_FREE or DISK_FREE_PERCENTAGE must have the tag as belows, and the 'Disk Name' should be uniquely named. <OSMetric Name='DISK_FREE' Activate='true'> <Disk Name='disk1'>/home\</Disk> \</OSMetric> \<OSMetric Name='DISK_FREE' Activate='true'> \<Disk Name='disk2'>/home2\</Disk> \</OSMetric> |
| \<SQLMetric Name='MEM_DATABASE_USAGE' Activate='true' Interval='60' Logging='true'> | This configures the SQL Metric, and it is required to define a Name. Name: Metric name (Required) Activate: Status of operation(Data Collection) The specifiable value is either true or false, and default value is true. Interval: If the cycle of data collection is not specified, the specified values in the config.xml file is used. Logging: It sets whether or not to log the result of data collection into the log file. The default value is set to true. Set to false if you want to record only the alert info. |
| \<CommandMetric Name='MEM_VSZ' Activate='true' Interval='60' Logging='true'> | This tag configures the user-defined OS Metric. The altiMon executes a command or script specified in the tag, and the value output as stdout is used as measured value. |
| \<Query> | This tag configures a query, and it is necessary in case of SQL Metric. |
| \<Command> | The tag configures command or script file, and it is required for CommandMetric. The script file can be set up by an absolute or relative path. The relative path is based up on the following directory: $ALTIBASE_HOME/altiMon |
| \<Alert Activate='true' ComparisonColumn='ALLOC_MEM_MB' ComparisonType='gt'> | Warning setup optional. The measured values which are compared with the threshold values should be numbers. Activate: Operation status, optional. (Default value: True) Comparison: Column the target column which will be compared with threshold value. (Optional) ComparisonType: comparison operator. (Required) -eq: is equal to the threshold value -ne: is not equal to the threshold value -gt: is greater than the threshold value -ge: is greater than or equal to the threshold value -lt: is less than the threshold value -le: is less than or equal to the threshold value |
| \<WarningThreshold Value='500'> or \<CriticalThreshold Value='800'> | This tag can specify the threshold values.(Possible to set 'Critical’ and 'Warning' level) In case of , it is required. Value: threshold values |
| \<ActionScript>db_usage.sh\</ActionScript> | This tag configures the script file name to be executed when the threshold value is out of the specified range. The script file should be existing in the following directory : $ALTIBASE_HOME/altiMon/action_scripts |
GroupMetrics.xml#
The GroupMetrics.xml is a file defining the Group Metrics, which is comprised of OS Metric, Command Metric, and SQL Metric. The GroupMetric can be defined by using metrics specified in Metrics.xml.
Unlike the common Metric measured values are stored to the *.log file, the data collected by group metric are stored to CSV files.
| Tag Name | Description |
|---|---|
| \<GroupMetric Name='group1' Interval='30'> | Configure Group Metric. Name: metric name (Required) Activate: Data collecttion status (Optional). Available value is either true or false. The default value is true. Interval: Data collection cycle (Necessary) |
| \<Target MetricName='PROC_CPU_USER'/> | This specifies the base metric which will be included in the group metric. MetricName: The name of OSMetric, Command Metric or SQLMetric whick is defined in Metrics.xml. A SQL Metric should necessarily retrieve one row of a SELECT query. When specifying DISK_FREE, or DISK_FREE_PERCENTAGE, a character string which is linked with 'Metric Name' and 'Disk Name' with ‘.’ should be specified as a MetricName. \<Target MetricName='DISK_FREE.disk1'/> |
| \<Column Name='LOG_GAP' /> | In the case of the SQL Metric, the columns which will be included in the group metric are specified by this tag. If this tag is not specified, every select target will be included in the Group Metric. Name: The target column used in a SELECT query. If you specify an alias, the alias should be used. |
Others#
- action_scripts directory
In order to normally execute a script file specifying the tag, the script file should be located in the directory $ALTIBASE_HOME/altiMon/action_scripts.
For example, 'db_usage.sh' file in db_usage.sh should be located under the action_scripts directory in order for a script file to normally executes.
Example#
The followings are examples of the altiMon configuration files.
config.xml#
<?xml version="1.0" encoding="UTF-8"?>
<config>
<Altimon Name='rnd1'>
<!-- <LogDir>/home/bethy/arugs/logs</LogDir> -->
<DateFormat>yyyy-MM-dd HH:mm:ss</DateFormat>
<MaintenancePeriod>3</MaintenancePeriod>
<Interval>60</Interval>
</Altimon>
<Target Name='Altibase1'>
<HomeDirectory>/home/bethy/work/altibase_trunk/altibase_home</HomeDirectory>
<User>sys</User>
<Password Encrypted="NO">manager</Password>
<Port>20020</Port>
<DbName>mydb</DbName>
<NLS>KSC5601</NLS>
<IPv6>FALSE</IPv6>
</Target>
</config>
OSMetrics.xml#
<?xml version="1.0" encoding="UTF-8"?>
<Metrics>
<OSMetric Name='TOTAL_CPU' Activate='true' Description='TOTAL_CPU'>
<OSMetric Name='PROC_CPU' Activate='true' Interval='60'>
<Alert Activate='true' ComparisonType='gt'>
<WarningThreshold Value='80'>
<ActionScript>cpu_act.sh</ActionScript>
</WarningThreshold>
</Alert>
</OSMetric>
<SQLMetric Name='MEM_DATABASE_USAGE' Activate='true' Interval='30'>
<Query>select
trunc(mem_alloc_page_count*32/1024, 2) as alloc_mem_mb,
trunc(mem_free_page_count*32/1024, 2) as free_mem_mb
from v$database</Query>
<Alert Activate='true' ComparisonColumn='ALLOC_MEM_MB' ComparisonType='GT'>
<CriticalThreshold Value='8000' >
<ActionScript>db_usage.sh</ActionScript>
</CriticalThreshold>
</Alert>
</SQLMetric>
<CommandMetric Name='MEM_VSZ'>
<Command>scriptsDir/vsz.sh</Command>
<Alert Activate='true' ComparisonType='gt'>
<WarningThreshold Value='100000000'> <!-- in kB -->
<ActionScript>mem_act.sh</ActionScript>
</WarningThreshold>
</Alert>
</CommandMetric>
</Metrics>
GroupMetrics.xml#
<GroupMetrics>
<GroupMetric Name='group1' Interval='30'>
<Target MetricName='TOTAL_CPU'/>
<Target MetricName='PROC_CPU'/>
<Target MetricName='LOGFILE_COUNT'>
<Column Name='LOG_GAP' />
</Target>
</GroupMetric>
<GroupMetric Name='group2' Interval='60'>
<Target MetricName='PROC_MEM_USED_PERCENTAGE'/>
<Target MetricName='MEM_VSZ'/>
<Target MetricName='LOGFILE_COUNT'/>
</GroupMetric>
</GroupMetrics>
Output Items#
The items are outptted with the folllowing format in the directories below.
logs directory#
-
altimon.log
This is the file recording all sorts of logs(info, warn, error) by altiMon daemon. -
alert.log
This file records the data relevant to the setting. -
OsMetrics.log
This file records all the collected data by all the OS Metric. -
[SQLMetric_Name].log
The collected data by SQL Metric are recorded into a different log file for each Metric. -
[GroupMetric_Name].csv
The collected data by Group Metric are recorded into a different csv file for each Metric. -
report.html
This file reports user configuration setting with a HTML format .
logs/archive directory#
All the files in the logs directory except altimon.log, and *.csv are backed up into a archive/YYYY-MM-DD directory every day.
Among above directories, the directories with expired maintenance period specified in are removed at 1:50am every day.
logs/csv_backup directory#
For Group Metrics, collected data(metric values) are constantly added to the same csv file unless the settings are modified.
However, in case of the changed metric settings meaning that when the target objects in the group metric are changed, the existing csv file is backed up into the logs/csv_backup directory, and data are recorded in a new file with the identical name.
altierr#
About altierr#
altierr searches for and displays detailed descriptions of Altibase server errors. Errors can be looked up using the error number, or a character string can be used as a search term and sought for within the error messages.
altierr {-w keyword pattern | [-n] error number}
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -w | Searches for error messages containing the specified search term. All error messages that contain the search term will be displayed. |
| -n | Searches for an error corresponding to the specified error code number. The error code number can be a hexadecimal number, a positive integer, or a negative integer. Only the record that matches the error code number, if any, will be displayed. When searching for an error using the error code number, the numeric parameter indicator (-n) can be safely omitted. |
Description#
altierr searches the Altibase errors for strings that contain the specified error message or that match the specified error code number and displays the detailed description of any error that is found. The detailed description of the error includes the error code number, the error code string, the description, the cause of the error, and the action that the user must take in order to remedy the error. When an error occurs, the Altibase server writes the corresponding error code to altibase_boot.log in the following format:
ERR-error code
altierr can be used to search for the detailed description using either a hexadecimal or decimal error code, as shown below:
For ‘ERR-00015’
$ altierr 0x00015
$ altierr –w 00015
$ altierr 21
When SQL-related errors occur in applications written using the C/C++ precompiler or applications that use ODBC, the error code will be set in the SQLCODE variable, or will be returned by the ODBC function. In these cases, the error code will be a negative integer. To search for the description of the corresponding error, use altierr as follows:
For -266286
$ altierr -266286
$ altierr 266286
$ altierr 0x4102E
altierr can be used to search the text of error messages for a search term. In this case, multiple records may be returned. Use a character string as a search term for searching the text of error message descriptions as follows:
$ altierr –w connect
$ altierr –w “does not”
References#
Please refer to the Altibase Error Message Reference.
altipasswd#
About altipasswd#
altipasswd modifies the $ALTIBASE_HOME/conf/syspassword file. When database is not in service status, administrative job is executed by running iSQL with SYSDBA option. In this case, the password of SYS user is verified by reading the syspasswd file. Therefore, when SYS user's password is modified by using ALTER USER SQL statement, password of syspassword file should be equally modified by using altipasswd. If the password of the SYS user and syspassword are not identical, error will occur when SYSDBA tasks, such as starting up and shutting down the database, are performed.
altipasswd
Syntax#

Description#
Changes the password of the SYS user.
Example#
To change the password of the SYS user from “manager” to “manager1234”, type the following at a shell prompt:
$ altipasswd
Previous Password : manager
New Password : manager1234
Retype New Password : manager1234
altiProfile#
About altiProfile#
Altibase can write information about tasks that are executed on the server and server status to files for analysis. A file that contains information about server status is called a profile. altiProfile can convert a profile to character format or print STATEMENT statistics. The user can analyze the system status with this information.
altiProfile [-stat query|session] {profile_name [profile_name2 [profile_name3] ...}
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -h | Displays help. |
| -stat query/session | Builds statistics from profile STATEMENTs and prints them in text and CSV formats. For more detailed information about statistics, please refer to How to use altiProfile. |
Description#
altiProfile converts a server profile to character format or prints STATEMENT statistics.
Example#
iSQL> ALTER SYSTEM SET QUERY_PROF_FLAG = 1;
Alter success.
iSQL> ALTER SYSTEM SET TIMED_STATISTICS = 1;
Alter success.
iSQL> --(Execute an SQL query here.)
$ cd $ALTIBASE_HOME/trc
$ altiProfile alti-1286503704-0.prof
$ altiProfile -stat query $ALTIBASE_HOME/trc/*.prof
How to use altiProfile#
The QUERY_PROF_FLAG property must be set to a value larger than 0 to write information about server status and tasks. The following information is logged for the QUERY_PROF_FLAG property:
| Value | Name | Description |
|---|---|---|
| 0 | No logging. | |
| 1 | [STATEMENT] | Whenever a SQL statement is executed, the executed SQL statement, execution time, execution information, and information about index and disk access are output. The value for the TIMED_STATISTICS property must be set to 1 to print the proper execution time. For further information about the TIMED_STATISTICS property, please refer to the General Reference. |
| 2 | [BIND] | Whenever a SQL statement is executed, BIND parameter(s) is/are output. |
| 4 | [PLAN] | Whenever a SQL statement is executed, the execution plan is output |
| 8 | [SESSION STAT] | Every 3 seconds, session information (i.e. the data in V$SESSTAT) is output. |
| 16 | [SYSTEM STAT] | Every 3 seconds, system information (i.e. the data in V$SYSSTAT) is output. |
| 32 | [MEMORY STAT] | Every 3 seconds, information about memory (i.e. the data in V$MEMSTAT) is output. |
The above values can be combined to log the desired information. For example, if the property is set to 1+4+32=37, then whenever a SQL statement is executed, the execution information and execution plan for the SQL statement are output, and additionally, information about memory is output every 3 seconds.
If the QUERY_PROF_FLAG property is set to a nonzero value, the server will create and write to a profile file having a name that follows this convention:
Outputing Statistics#
altiProfile can use the -stat option to build and out statistical information about executed SQL statements. This information helps you find the SQL statement to tune.
The -stat query option builds statistics on the following:
-
COUNT: The number of times the query was executed.
-
AVG: The amount of time (in microseconds) the query took to execute, on average.
-
TOTAL: The amount of time (in microseconds) the query took to execute, in sum.
-
MIN: The minimum amount of time (in microseconds) the query took to execute.
-
MAX: The maximum amount of time (in microseconds) the query took to execute.
-
SUCCESS: The number of times the query succeeded.
-
FAIL: The number of times the query failed.
-
QUERY: The SQL statement that was executed.
When the -stat session option is used, SESSION ID is added to the statistics built using the query option.
The following is an example of altiProfile building statistics on SQL statements by analyzing profiles in the $ALTIBASE_HOME/trc directory.
$ altiProfile -stat query $ALTIBASE_HOME/trc/*.prof
### Processing [/altibase_home/trc/alti-1423543095-0.prof]...
100% [====================]
### Writing CSV File [alti-prof-stat-1423543711.csv]...
### Writing TEXT File [alti-prof-stat-1423543711.txt]...
### Successfully done.
In the example above, statistics are saved in text and CSV formats. The names of the files are automatically generated as 'alti-prof-stat-#time.csv' and 'alti-prof-stat-#time.txt'.
The following is an example of a text file. Statistics are displayed in order under the column TOTAL.
$cat alti-prof-stat-1423543711.txt
COUNT AVG TOTAL MIN MAX SUCCESS FAIL QUERY
===========================================================================================================
5 0.003730 0.018650 0.003035 0.004640 5 0 DROP VIEW REVENUE
5 0.003523 0.017616 0.003004 0.003745 5 0 CREATE VIEW REVENUE (
...
The following is an example of a CSV file. The content displayed is the same as that of a text file, except that it is in CSV format. CSV format allows the user to move data between programs.
$ cat alti-prof-stat-1423543711.csv
COUNT,AVG,TOTAL,MIN,MAX,SUCCES,FAIL,QUERY
5, 0.003730, 0.018650, 0.003035, 0.004640,5,0,"DROP VIEW REVENUE"
5, 0.003523, 0.017616, 0.003004, 0.003745,5,0,"CREATE VIEW REVENUE (
...
Precaution#
When the profiling function is activated, execution information is recorded for all SQL statements executed in the server, and the state of the server, such as session and system information, is recorded every 3 seconds. Therefore, the size of the profile file will increase rapidly, which could cause the disk to become full, consequently causing problems. So, care should be taken when considering whether to perform profiling.
Output#
Files are output in the follwing format.
[STATEMENT]
..
[BIND]
..
[PLAN]
..
[SESSION STAT]
..
[SYSTEM STAT]
..
[MEMORY STAT]
..
Each item is printed as follows.
[STATEMENT]#
The following table shows the statement-related information that is logged.
| Field Name | Value | Description |
|---|---|---|
| SQL | String | The SQL statement that was executed |
| User Info | ||
| User ID | INTEGER | The user identifier |
| Client PID | BIGINT | The identifier of the client process |
| Client Type | VARCHAR(40) | The type of the connected client |
| Client AppInfo | VARCHAR(128) | A string containing information about the client applicaiton |
| Elapsed Time for this SQL statemen | ||
| Total | BIGINT | The total query execution time |
| Parse | BIGINT | The time taken to parse the query |
| Valid | BIGINT | The time taken to validate the query |
| Optim | BIGINT | The time taken to optimize the query |
| Execu | BIGINT | The time taken to execute the query |
| Fetch | BIGINT | The time taken to fetch query results |
| Query Execute Info | ||
| EXECUTE Result | INTEGER | 0: failure 1: rebuild 2: retry 3: queue empty 4: success |
| Optimizer Mode | BIGINT | The optimization mode |
| Cost Mode | BIGINT | The optimization cost |
| Used Memory | BIGINT | Reserved for future use |
| SUCCESS SUM | BIGINT | The total number of successful executions |
| FAILURE SUM | BIGINT | The total number of failed executions |
| PROCESSED ROW | BIGINT | The number of processed records for this SQL statement |
| Result Set Info | ||
| FETCH Result | INTEGER | 0: failure 1: success 2: no results |
| Index Access Info | ||
| Memory Full Scan Count | BIGINT | The number of full scans that were performed on memory tables |
| Memory Index Scan Count | BIGINT | The number of index scans that were performed on memory tables |
| Disk Full Scan Count | BIGINT | The number of full scans that were performed on disk tables |
| Disk Index Scan Count | BIGINT | The number of index scans that were performed on disk tables |
| Disk Access Info | ||
| READ DATA PAGE | BIGINT | The number of disk pages that were read from disk for the query |
| WRITE DATA PAGE | BIGINT | not used |
| GET DATA PAGE | BIGINT | The number of buffers that were accessed for a disk page during query execution |
| CREATE DATA PAGE | BIGINT | The number of disk pages that were created during query execution |
| READ UNDO PAGE | BIGINT | The number of disk pages in UNDO tablespace that were read from disk during query execution |
| WRITE UNDO PAGE | BIGINT | not used |
| GET UNDO PAGE | BIGINT | The number of buffers in UNDO tablespace that were accessed for a disk page during query execution |
| CREATE UNDO PAGE | BIGINT | The number of disk pages in UNDO tablespace that were created during query execution |
[BIND]#
Outputs information on variables that are bound to the SQL statement.
[PLAN]#
Outputs the execution plan for the executed SQL statement. For more information on execution plans, please refer to the Performance Tuning Guide.
[SESSION STAT]#
Outputs the data in the V\$SESSTAT performance view every 3 seconds. For more information on the V$SESSTAT performance view, please refer to the chapter in the General Reference.
[SYSTEM STAT]#
Outputs the data in the V\$SYSSTAT performance view every 3 seconds. For more information on the V$SYSSTAT performance view, please refer to the chapter in the General Reference.
[MEMORY STAT]#
Outputs the data in the V\$MEMSTAT performance view every 3 seconds. For more information on the V$MEMSTAT performance view, please refer to the chapter in the General Reference.
altiwrap#
About altiwrap#
altiwrap encrypts code programs written as persistent stored modules (PSMs). This utility prevents PSM code (e.g., stored procedures and stored functions) from being exposed.
altiwarp {--iname input_file} [--oname output_file]
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -h/--h | Prints help |
| --iname | Specifies the name of the file to encrypt. On omission of the extension, .sql is assumed. |
| --oname | Specifies the file name under which an encrypted code program is to be saved. On omission of the extension, it is saved as a .plb file. |
Description#
altiwrap encrypts the code programs of stored procedures and stored functions to prevent them from being exposed.
Altibase can encrypt the following statements.
-
CREATE [OR REPLACE] PROCEDURE
-
CREATE [OR REPLACE] FUNCTION
-
CREATE [OR REPLACE] TYPESET
-
CREATE [OR REPLACE] PACKAGE
-
CREATE [OR REPLACE] PACKAGE BODY
Considerations#
- Code programs cannot be modified after encryption. Changes must be made to the original code program, and then re-encrypted.
- Triggers cannot be encrypted.
- Encrypted code programs cannot be checked for syntax and semantic errors.
Example#
Use altiwrap to encrypt the sample1.sql file, and then output it.
Create the sample1. sql file.
iSQL> create or replace procedure proc1 as
type arr1 is table of char(30) index by integer;
v1 arr1;
begin
v1[0] := 'create or replace';
v1[1] := 'typeset';
v1[2] := 'is';
v1[3] := 'success';
println( v1[0] || v1[1] || v1[2] || v1[3] || '!' );
end;
/
Encrypt the file
$ altiwrap --iname sample1.sql --oname --sample1.plb
Run the encrypted file in iSQL.
iSQL> @sample1.plb
iSQL> create or replace procedure proc1 WRAPPED
'MjQz
MTk2
AAhjcmVhdGUgb3IgcmVwbGFjZSBwcm9jZWR1cqQBAAQxIGFzCnR5cGUgYXJyMSBpcyB0YWJsQAYAAWYgY2hhcigzMCkgaW5kZXggYnlAAQZ0ZWdlcjsKdjGYBQAEOwpiZWdpbgp2MVswXSA6PSAnY3JlYSu5ASdyBVsxtAN/DHNldK0CMq4CaXO5ATO4AQNzdWNjZXNsAgZwcmludGxuKCC2C3x8YAFACaABVAegAVwGDHx8ICchJyApOwplbmQ7ChEAADVBRDlBRkIzMDE0MzI1Q0U0MzY1RjYxNEI2NkYwQzRDREMzMTdDQTU=
';
/
Create success.
iSQL> exec proc1;
create or replace typeset is success!
Execute success.
awrite#
About awrite#
Outputs the response time of the system call used to create the log file. The output value is used to determine the system call in the LOG_CREATE_METHOD property.
Syntax#

Description#
Outputs the response time of write () and fallocate () system calls.
Example#
awrite outputs the following:
$ awrite
fallocate to expand file size to 1GB
Elapsed Time ==> 2.564 seconds
write to expand file size to 1GB
Elapsed Time ==> 4.020 seconds
checkServer#
About checkServer#
Monitors the Altibase process and, if Altibase terminates, executes a script specified by a user.
checkServer [-n] {-f server-restart-script-file}
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -n | Specifies that checkServer is to be executed in the foreground. If this parameter is omitted, checkServer will be executed in the background |
| -f | The name of the script file to be executed when Altibase terminates |
Description#
checkServer periodically checks whether the Altibase process is running. If checkServer detects that Altibase has terminated, it executes the script specified by a user. It is common to set an Altibase restart script to be executed in the event of termination. Such a restart script can be written as follows:
- The Altibase starup script 'restart.sh'
#! /bin/sh
${ALTIBASE_HOME}/bin/server start
When checkServer is executed, it creates the files checkServer.pid and checkServer.log in the $ALTIBASE_HOME/trc directory. checkServer.pid is a kind of lock that prevents another instance of checkServer from being started while the current instance is running. checkServer.log is used to regularly record the status of checkServer.
If checkServer is terminated abnormally, for example by using the command kill -9, the checkServer.pid file will not be deleted from the $ALTIBASE_HOME/trc directory. As long as this file remains in that directory, it will prevent checkServer from being executed again.
To terminate checkServer normally, use the killcheckServer utility.
Note#
checkServer executes the specified restart script only when the Altibase server is shut down without using the server stop command. When the Altibase server is shut down normally using server stop, checkServer is also terminated, and thus does not execute the restart script. That is, checkServer only considers shutdown using the server stop command to be a normal shutdown.
Example#
checkServer is executed from a shell prompt as follows:
$ checkServer –f restart.sh &
dumpbi#
About dumpbi#
dumpbi outputs backup information of the backupInfo file which is recorded in binary format as text format.
dumpbi <backupinfo_file_name>
Syntax#

Description#
Outputs contents of the backupInfo file in text format.
Example#
At a shell prompt, type the following:
$ dumpbi backupinfo
Output#
dumpbi outputs backup information of the backupInfo file in the following format:
[BACKUO INFO FILE HDR]#
| Field Name | Value (bytes) | Description |
|---|---|---|
| Backup info slot count | From 0(zero) to the maximum value of the unsigned int type | The number of stored backupinfo slots (=the number of files backed up until now) |
| Last backup LSN | FileNo, Offset | The LSN of the point in time at which the most recent backup was performed (the value necessary for determining the validity of the backupInfo file) |
| Database name | String | The database name |
[BACKUP INFO SLOT]#
| Field Name | Value (bytes) | Description |
|---|---|---|
| Slot index | From 0(zero) to the maximum value of the unsigned int type | The slot order |
| Begin backup time | YYYY-MM-DD HH:MM:SS | The start time of backup |
| End backup time | YYYY-MM-DD HH:MM:SS | The completion time of backup |
| Incremental backup chunk cnt | From 0(zero) to the maximum value of the unsigned int type | The number of incremental chunks, including the pages changed from the datafile (=the number of backed up incremental chunks) |
| Incremental backup chunk size | From 0(zero) to the maximum value of the unsigned int type | The INCREMENTAL_BACKUP_CHUNK_SI ZE value during backup |
| Backup target | 1: DATABASE 2: TABLESPACE |
The backup target |
| Backup level | 1: level 0 2: level 1 |
The backup level |
| Backup Type | 1: full backup 2: differentail backup 3: cumulative backup |
The backup type |
| Tablespace ID | From 0(zero) to the maximum value of the unsigned short type | The ID of the tablespace to which the backup target datafile belongs |
| File ID | From 0(zero) to the maximum value of the unsigned short type | The backup target datafile ID |
| Original file size | From 0(zero) to the maximum value of the unsigned long type | The size of the datafile when it was backed up |
| Backup Tag | String | The backup tag name |
| Backup file name | String | The path and name of the backup file |
dumpct#
About dumpct#
Outputs information of the changeTracking file which is recorded in binary format as text format.
dumpct <changeTracking_file_name>
Syntax#

Description#
Outputs contents of the changeTracking file in text format.
Example#
At a shell prompt, type the following:
$ dumpct changeTracking
Output#
dumpct outputs backup information of the changeTracking file in the following format:
The output is separated by [^]:
[CHANGE TRACKING FILE HDR]#
| Field Name | Value (bytes) | Description |
|---|---|---|
| Change tracking body count | From 0(zero) to the maximum value of the unsigned int type | The number of bodies of the changeTracking file. (The changeTracking file is composed of headers and bodies. The size of the body is 10Mbytes and enlarges in body units if space is insufficient) |
| Icremental backup chunk size | From 0(zero) to the maximum value of the unsigned int type | The value of the INCREMENTAL_BACKUP_CHUNK_SI ZE property at the time of the creation of the changeTracking file. |
| Last flush LSN | FileNo, Offset | The LSN at the time data changed in memory were written to files. |
| Database name | String | The database name |
[CHANGE TRACKING FILE BODY]#
| Field Name | Value (bytes) | Description |
|---|---|---|
| Change tracking body ID | From 0(zero) to the maximum value of the unsigned int type | The body ID |
| Flush LSN | FileNo, Offset | The LSN at the time that the body was flushed (for file validation) |
| Datafile descriptor slot | ||
| Slot ID | The LSN at the time that the body was flushed (for file validation) | The slot ID |
| Tracking state | 0: Disables tracking 1: Enables tracking |
The datafile change tracking state |
| Tablespace type | 0: memory TBS 1: disk TBS |
The tablespace type |
| Page size | From 0(zero) to the maximum value of the unsigned int type | The page size |
| Bitmap extent count | From 0(zero) to the maximum value of the unsigned short type | The number of allocated bitmap extents |
| Current tracking list ID | From 0(zero) to the maximum value of the unsigned short type | The ID of the bitmap extent list currently being tracked |
| Differential0 BmpExt list | ||
| List | From 0(zero) to the maximum value of the unsigned int type | The block ID of the bitmap extent list |
| Hint | From 0(zero) to the maximum value of the unsigned int type | |
| Differential1 BmpExt list | ||
| List | From 0(zero) to the maximum value of the unsigned int type | The block ID of the bitmap extent list |
| Hint | From 0(zero) to the maximum value of the unsigned int type | |
| Cumulative BmpExt list | ||
| List | From 0(zero) to the maximum value of the unsigned int type | The block ID of the bitmap extent list |
| Hint | From 0(zero) to the maximum value of the unsigned int type | |
| Tablespace ID | From 0(zero) to the maximum value of the unsigned short type | The ID of the tablespace to which the datafile belongs |
| File ID | From 0(zero) to the maximum value of the unsigned short type | The datafile ID |
dumpdb#
About dumpdb#
dumpdb outputs memory tablespace information from memory checkpoint image files, or the contents of incremental backup files of the memory tablespace in character format.
dumpdb {-j job_number } [-i pingpong_number] [-o] [-f file_name] [-s] [-p] [-d]
Syntax#

Parameters#
| Parameters | Description |
|---|---|
| -j job_number | Specifies which information to output. Values available for specification and suboptions available for additional specification for each value are as below: 0: META (-s -f) 1: TABLESPACE (-s -f) 2: TABLESPACE-FLI (-s -d) 3: TABLESPACE-FREE-PAGE-LIST (-s) 4: TABLE (-o -d) 5: TABLE-ALLOC-PAGE-LIST (-o) 6: PAGE (-s -p -d) 7: INCREMENTAL_BACKUP_META (-f) |
| -i pingpong_number | Specifies the ping pong number of the checkpoint image file. On omission, 0 is used. |
| -o | Specifies the ID of the object to be analyzed. |
| -f file_name | Specifies the name of the checkpoint image file. |
| -s | Specifies the ID of the tablespace to be analyzed. |
| -p | Specifies the ID of the page to be analyzed. |
| -d | Outputs detailed information. |
Description#
dumpdb analyzes memory checkpoint image files and outputs information of the meta header, page, etc. in text format, or outputs backup information from incremental backup files of the memory tablespace in text format.
Since this utility analyzes checkpoint image files stored on the disk, the user can view schemas created in the database, regardless of the status of the Altibase server. However, if the server is abnormally terminated after a DDL operation and this leads to the updated schema not being recorded on the disk, such information cannot be given.
Examples#
At a shell prompt, type the following:
$ dumpdb -j 1
$ dumpdb -j 1 -s 0
$ dumpdb -j 2
$ dumpdb -j 3
$ dumpdb -j 4
$ dumpdb -j 4 -d
$ dumpdb -j 4 -o 65536
$ dumpdb -j 5 -o 65536
$ dumpdb -j 6 -s 0 -p 4
\<Example 1> This example outputs information on the memory tablespace. By adding the -s suboption, information only regarding a certain tablespace can be output.
$ dumpdb -j 1
\<Example 2> This example outputs information on the FreeListInfo(FLI) page of the memory tablespace. By adding the -s suboption, information only regarding a certain tablespace can be output; by adding the -d suboption, invalid contents of the FLI page can also be output.
% dumpdb -j 2
% dumpdb -j 3
% dumpdb -j 4
% dumpdb -j 4 -d
% dumpdb -j 4 -o 65568
\<Example 7> This example outputs the list of pages that a certain table uses.
% dumpdb -j 5 -o 65568
\<Example 8> This example outputs a certain page from the memory database.
% dumpdb –j 6 -s 0 -p 4
\<Example 9> This example executes dumpdb on incremental backup files and outputs backup information.
% dumpdb -j 7 -f SYS_TBS_MEM_DATA-0-0_TAG_MONDAY.ibak
dumpdb: Release 6.3.1.0.0 - Production on Oct 31 2012 22:12:21
(c) Copyright 2001 ALTIBase Corporation. All rights reserved.
[BEGIN CHECKPOINT IMAGE HEADER]
Binary DB Version [ 6.2.1 ]
Redo LSN [ 1, 5867599 ]
Create LSN [0, 1385 ]
DataFileDescSlot ID [ 1, 1 ]
//Incremental backup information stored in the backup file.
[BEGIN BACKUPFILE INFORMATION]
Begin Backup Time [ 2012_11_06 23:18:43 ]
End Backup Time [ 2012_11_06 23:18:44 ]
IBChunk Count [ 0 ]
Backup Target [ DATABASE ]
Backup Level [ LEVEL0 ]
Backup Type [ FULL ]
TableSpace ID [ 1 ]
File ID [ 0 ]
Backup Tag Name [ MONDAY ]
Backup File Name [ /backup_dir/TAG_MONDAY/SYS_TBS_MEM_DATA-0-0_TAG_MONDAY.ibak ]
[END BACKUPFILE INFORMATION]
[END CHECKPOINT IMAGE HEADER]
Dump complete.
Output#
The following table describes only the items that are output by executing the dumpdb utility on incremental backup files.
| Field Name | Description |
|---|---|
| Binary DB Version | The version of the data file. |
| Redo LSN | The Redo LSN for media recovery. If the value of the Redo LSN of the log anchor is larger than the Redo LSN of the datafile, starting from the Redo LSN output of this item, media recovery is required. |
| Create LSN | The LSN at the time point of the checkpoint image creation |
| DataFileDescSlot ID | The DataFileDescSlot ID of the ChangeTracking bound to the memory checkpoint image. |
dumpddf#
About dumpddf#
dumpddf outputs header information of data files or specific pages in data files. Also, if dumpddf is executed on incremental backup files, header information of the backup file and backup information are output.
dumpddf {-f datafile_name} {-m | -p pid}
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -f | Specifies the name of the data file for which it is desired to obtain information. This option must be given. If it is omitted, dumpddf will terminate and output an error message. |
| -m | Outputs the data file header information. |
| -p | Specifies the ID of the page in the data file for which it is desired to obtain information. |
Description#
Outputs space and information in the data file. The menue page outputs a page from a table or socket.
Example#
At a shell prompt, type the following:
$ dumpddf –f datafile –m
$ dumpddf –f datafile –p page_id
Output#
The following is an example of dumpddf output:
[BEGIN DATABASE FILE HEADER]
Binary DB Version [ 5.4.1 ]
Redo LSN [0, 734497 ]
Create LSN [0, 1886 ]
MustRedo LSN [0, 0 ]
In the output, each field has the following meaning:
| Filed Name | Description |
|---|---|
| Binary DB Version | The version of the data file |
| Redo LSN | The redo LSN for media recovery. If the loganchor SN is higher than the Redo LSN of the data file, it will be necessary to perform media recovery, starting from this redo LSN. |
| Create LSN | The LSN at the time when the specified datafile was created. |
| MustRedo LSN | Indicates that recovery must be performed up to this redo LSN |
| DataFileDescSlot ID | The ID of the DataFileDescSlot of the changeTracking file bound to the disk datafile. |
The following is an example of outputting an incremental backup file by dumpddf.
% dumpddf -m -f system001.dbf_TAG_MONDAY.ibak
-----------------------------------------------------------------
Altibase Client Dump Disk Database File utility.
Release Version 6.3.1.0.0
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
[BEGIN DATABASE FILE HEADER]
Binary DB Version [ 6.2.1 ]
Redo LSN [1, 5867599 ]
Create LSN [0, 1914 ]
MustRedo LSN [0, 0 ]
DataFileDescSlot ID [ 1, 2 ]
[BEGIN BACKUPFILE INFORMATION] -->incremental backup information stored in the backup file
Begin Backup Time [ 2012_11_06 23:18:44 ]
End Backup Time [ 2012_11_06 23:18:46 ]
IBChunk Count [ 0 ]
Backup Target [ DATABASE ]
Backup Level [ LEVEL0 ]
Backup Type [ FULL ]
TableSpace ID [ 2 ]
File ID [ 0 ]
Backup Tag Name [ MONDAY ]
Backup File Name [ /backup_dir/TAG_MONDAY/system001.dbf_TAG_MONDAY.ibak ]
[END BACKUPFILE INFORMATION]
[END DATABASE FILE HEADER]
dumpla#
About dumpla#
ddumpla outputs the contents of loganchor files, which are saved in binary form, in the form of text.
Loganchor files contain information that is necessary in order to recover physically stored information (i.e. data files).When a database is created using the CREATE DATABASE statement, Altibase creates these files and stores them with the sequential names loganchor# (where “#” = 1, 2, or 3). Altibase stores these three files, which have the same contents, in the three respective directories specified using the LOGANCHOR_DIR property in altibase.properties. The reason that three files are maintained is to be prepared in the event that some of the files become lost or corrupt. These files contain information about all of the database's tablespaces and the data files stored in them, as well as recovery-related information. When the database is started, this information is used to load the database into memory and prepare to provide service.
dumpla <loganchor_file_name>
Syntax#

Description#
Outputs the content of a loganchor file in the form of text.
Example#
At a shell prompt, type the following:
$ dumpla loganchor0
Output#
dumpla displays the contents of a loganchor file in the following format:
[LOGANCHOR ATTRIBUTE SIZE]#
This section indicates the amount of space that is occupied by each kind of data in the loganchor file. The contents of this section are as follows:
| Field Name | Value (bytes) | Description |
|---|---|---|
| Loganchor Static Area | From 0 (zero) to the maximum value of the unsigned int type | The size of the static information in the loganchor file. Most of this information is information that is required for recovery. |
| Tablespace Attribute | From 0 (zero) to the maximum value of the unsigned int type | The size of the stored tablespace attributes |
| Checkpoint Path Attribute | From 0 (zero) to the maximum value of the unsigned int type | The size of the stored checkpoint path attributes |
| Checkpoint Image Attribute | From 0 (zero) to the maximum value of the unsigned int type | The size of the stored checkpoint image attributes |
| Disk Datafile Attribute | From 0 (zero) to the maximum value of the unsigned int type | The size of the stored disk datafile attributes |
[LOGANCHOR HEADER]#
This is loganchor header information, such as the version of the database and the checkpoint Log Sequence Number (LSN). For more information about Log Sequence Numbers, please refer to "dumplf Output Items".
| Field Name | Value | Description |
|---|---|---|
| Binary DB Version | Major.minor.patch ex) 6.2.1 | The version of the database executable file with which the loganchor file was created |
| Archivelog Mode | Archivelog |No-Archivelog | Indicates whether the database is running in archive mode |
| Transaction Segment Entry Count | ||
| Begin Checkpoint LSN | FileNo, Offset | The LSN that was current when checkpointing most recently began. |
| End Checkpoint LSN | FileNo, Offset | The LSN that was current when checkpointing was most recently completed. |
| Disk Redo LSN | FileNo, Offset | The redo start point for a DRDB. |
| LSN for Recovery from Replication | FileNo, Offset | Recovers from replicaiton starts with this LSN. |
| Server Status | SERVER_SHUTDOWN |SERVER_STARTED | Logs the server state. This value is changed to SERVER_STARTED when the server is started and to SERVER_SHUTDOWN when the server is shut down normally. If this value is already set to SERVER_STARTED when the server starts, this indicates that the server was shut down abnormally, so the server will perform restart recovery. |
| End LSN | FileNo, Offset | The LSN of the first log that is written to when the server is started up after having shut down normally |
| ResetLog LSN | FileNo, Offset | The Reset LSN that was set during incomplete recovery |
| Last Created Logfile Num | From 0 (zero) to the maximum value of the unsigned int type | The number of the most recently created log file |
| Delete Logfile(s) Range | Format: [first logfile no. ~ last logfile no.] The numbers of the first and last log files that were deleted. | The range of the most recently deleted log files. When checkpointing is completed, log files that are no longer necessary are deleted. These numbers indicate the range of log files that were deleted. |
| Update And Flush Count | From 0 (zero) to the maximum value of the unsigned int type | The number of times that loganchor files were changed and flushed |
| New Tablespace ID | From 0 (zero) to the maximum value of the unsigned int type | The identifier for the next new tablespace. When a tablespace is created, this value will be used as its identifier, and will then be incremented. |
[TABLESPACE ATTRIBUTE]#
This section provides information about the tablespace. The contents of this section are as follows:
| Field Name | Value | Description |
|---|---|---|
| Tablespace ID | From 0 (zero) to the maximum value of the unsigned int type | The identifier of the tablespace |
| Tablespace Name | String Ex.) SYS_TBS_MEM_DIC | The name of the tablespace |
| New Database File ID | From 0 (zero) to the maximum value of the unsigned int type | The identifier that will be given to the next file to be added to the tablespace |
| Extent Management | FREE EXTENT BITMAP TABLESPACE | This indicates how extents are managed when a disk tablespace is created. At present, only FREE EXTENT BITMAP TABLESPACE is supported. If FREE EXTENT BITMAP TABLESPACE is enabled, bitmaps can be used to manage the free extents in a disk tablespace. |
| Tablespace Status | Refer to Possible Tablespace Status Values in [TABLESPACE ATTRIBUTE]. | Indicates the current status of the tablespace |
| Tablespace Type | 0 - 8 (Refer to Possible Tablespace Type Values in [TABLESPACE ATTRIBUTE]) | Indicates the type of the tablespace |
| Checkpoint Path Count | The number of checkpoint paths | The number of checkpoint image file paths. This applies only to memory tablespaces. |
| Autoextend Mode | AutoExtend |Non-AutoExtend | Indicates whether the tablespace extends in size automatically. This applies only to memory tablespaces |
| Shared Memory Key | From 0 (zero) to the maximum value of the unsigned int type | The shared memory key for a database that resides in shared memory. This applies only to memory tablespaces |
| Stable Checkpoint Image Num | 0|1 | The number corresponding to the set of checkpoint image files that is stable after checkpointing has taken place. This applies only to memory tablespaces |
| Init Size | From 0 (zero) to the maximum value of the unsigned int type | The initial size (MB) of the tablespace |
| Next Size | From 0 (zero) to the maximum value of the unsigned int type | The increment by which the tablespace automatically increases in size (MB) |
| Maximum Size | From 0 (zero) to the maximum value of the unsigned int type | The maximum size of the tablespace. |
| Split File Size | From 0 (zero) to the maximum value of the unsigned int type | When a memory tablespace is created, it consists of multiple files of this size. For example, if a tablespace 1 GB in size is to be created and the split file size is 100 MB, then 10 files will be created. |
In [TABLESPACE ATTRIBUTE], Tablespace Status can have the following values:
| Value | Description |
|---|---|
| OFFLINE | Currently offline |
| ONLINE | Currently online |
| INCONSISTENT | In an inconsistent state |
| CREATING | Being created |
| DROPPING | Waiting to be dropped, because the transaction that will drop the database has not been committed yet |
| DROP_PENDING | The transaction that will drop the database has been committed but the tablespace is still waiting to be dropped because one or more operations are still pending. |
| DROPPED | Deleted (dropped) |
| DISCARDED | Discarded |
| BACKUP | Being backed up |
| SWITCHING_TO_OFFLINE | Being brough online |
| SWITCHING_TO_ONLINE | Being taken offline |
The possible values of Tablespace Type in [TABLESPACE ATTRIBUTE] are as follows:
| Value | Description |
|---|---|
| 0 | MEMORY SYSTEM DICTIONARY |
| 1 | MEMORY SYSETM DATA |
| 2 | MEMORY USER DATA |
| 3 | DISK SYSTEM DATA |
| 4 | DISK USER DATA |
| 5 | DISK SYSTEM TEMP |
| 6 | DISK USER TEMP |
| 7 | DISK SYSTEM UNDO |
| 8 | VOLATILE USER DATA |
[MEMORY CHECKPOINT PATH ATTRIBUTE]#
This section indicates the path in which checkpoint image files are saved for a memory tablespace. The contents of this section are as follows:
| Field Name | Value | Description |
|---|---|---|
| Tablespace ID | From 0 (zero) to the maximum value of the unsigned int type | The identifier of the tablespace |
| Checkpoint Path | String | The checkpoint impage file path |
[MEMORY CHECKPOINT IMAGE ATTRIBUTE]#
This section indicates the checkpoint image information for a memory tablespace. The contents of this section are as follows:
| Field Name | Value | Description |
|---|---|---|
| Tablespace ID | From 0 (zero) to the maximum value of the unsigned int type | The identifier of the tablespace |
| File Number | From 0 (zero) to the maximum value of the unsigned int type | The file number |
| Create LSN | \< FileNo, Offset> | The LSN that was current at the time at which the data file was created |
| Create On Disk (PingPong 0) | Created|None | Whether the set of checkpointing files identified by #0 has been created |
| Create On Disk (PingPong 1) | Created|None | Whether the set of checkpointing files identified by #1 has been created |
| ChangeTracking DataFileDescSlot ID | From 0(zero) to the maximum value of the unsigned int type | The DataFileDescSlot ID of the changeTracking file bound to the memory checkpoint image |
[DISK DATABASE FILE ATTRIBUTE]#
This information indicates the path in which the data file or files for a disk tablespace are saved. The contents of this section are as follows:
| Field Name | Value | Description |
|---|---|---|
| Tablespace ID | From 0(zero) to the maximum value of the unsigned int type | The identifier of the tablespace |
| Database File ID | From 0(zero) to the maximum value of the unsigned int type | The identifier of the data file |
| Database File Path | String | The data file path |
| Create LSN | \< FileNo, Offset> | The LSN that was current at the time that the dat file was created |
| Database File Status | Refer to Database File Status Values for [DISK DATABASE FILE ATTRIBUTE] | The file state |
| Autoextend Mode | AutoExtend| Non-AutoExtend | Whether auto extension mode has been set |
| Create Mode | 0|1 | 0: The file was reused 1: The file is a newly created file |
| Initialize Size | From 0 (zero) to the maximum value of the unsigned int type | The initial size (MB) of the data file |
| Current Size | From 0 (zero) to the maximum value of the unsigned int type | The initial size (MB) of the data file |
| Next Size | From 0 (zero) to the maximum value of the unsigned int type | The increment by which the data file automatically increases in size (MB) |
| Maximum Size | From 0 (zero) to the maximum value of the unsigned int type | The maximum size (MB) of the data file |
| ChangeTracking DataFileDescSlot ID | From 0(zero) to the maximum value of the unsigned int type | The ID of the DataFileDescSlot of the changeTracking file bound to the disk datafile |
In [DISK DATABASE FILE ATTRIBUTE], Database File Status means the following:
| Value | Description |
|---|---|
| OFFLINE | Offline |
| ONLINE | Online |
| CREATING | Being created |
| BACKUP_BEGIN | Backup has started |
| BACKUP_END | Backup is being completed |
| DROPPING | Being dropped (deleted) |
| RESIZING | Being resized |
| DROPPED | Has been dropped |
The following is an example of some of the information output by dumpla:
[ DISK DATABASE FILE ATTRIBUTE ]
Tablespace ID [ 2 ]
Database File ID [ 0 ]
Database File Path C:\altibase_home\dbs\system001.dbf]
Create LSN [0, 4443 ]
Database File Status [ ONLINE ]
Autoextend Mode [ Non-Autoextend ]
Create Mode [ 0 ]
Initialize Size [10 MBytes(1280 Pages)]
Current Size [10 MBytes(1280 Pages)]
Next Size [0 MBytes(0 Pages)]
Maximum Size [0 MBytes(0 Pages)]
[Change Tracking ATTRIBUTE]#
This section provides information about the changeTracking file. The contents of this section are as follows:
| Field Name | Value | Description |
|---|---|---|
| Last Flush LSN | FileNo, Offset | The LSN at the time data changed in memory were written to files |
| Change Tracking Manager State | String ex) CHANGE TRACKING MGR ENABLED | The page change tracking state |
| Change Tracking File Name | String | The changeTracking file path |
[Backup Info ATTRIBUTE]#
This section provides information about the backupInfo file. The contents of this section are as follows:
| Field Name | Value | Description |
|---|---|---|
| Delete Archivelog File Range | FileNo, Offset | The number of the archive log file which can be completely recovered, even after deletion |
| Last Backup LSN | FileNo, Offset | The LSN at the time of the most recently performed backup |
| Before Backup LSN | FileNo, Offset | The LSN prior to the time of the most recently performed backup |
| Backup Info Manager State | 문자열 예) BACKUP INFO MGR INITIALIZED | The backup information file manager state |
| Backup Directory Path | String e.g.) /backup_dir/ | The backup path |
| Backup Info File Name | String | The backup information file name |
dumplf#
ABout dumplf#
When a transaction performs an operation that changes the contents of the database, such as an INSERT, DELETE or UPDATE operation, changes are made not only to the database's data buffers, but also to log files. These files are maintained for use in performing recovery if it becomes necessary. To minimize I/O, these logs are recorded in binary format. These log files are stored with the name logfile# (where “#” is the number of the log file, which continuously increments) in the directory specified in the LOG_DIR property in the altibase.properties file.
dumplf is a utility that converts and outputs the contents of these log files in text form. These logs can be used to check the types of operations that are performed on the database and determine the frequency of transactions that change the contents of the database.
dumplf {-f log_file_name} [-t transaction_id][-s] [-l][-S lsn [-F path] [-g]]
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -f | Specifies the name of the file which is to be output. |
| -t | Specifies the ID of the transaciton for which the logs are to be output. |
| -s | Specifies that only the header of the logs is to be output. If this option is omitted, both the header and the body will be output. |
| -l | Displays only information corresponding to log types (LT field) and sub-logtypes (OPTYPE and UTYPE fields) in the specified log file. |
| -S | Outputs the number of logs of INSERT, UPDATE, DELETE, COMMIT, and ROLLBACK in MMDB. If specified lsn is inserted, only the log after sn is displayed. If ‘0, 0’ is inserted, the entire logs are displayed. |
| -F | Specifies the object target path, and it analyzes $ALTIBASE_HOME/logs if omitted. |
| -g | Outputs ID statistic of table object along with the entire statistics information. The entire statistic information is output if omitted. |
Description#
Converts the contents of a log file to text form and outputs it.
Example#
The following is executed at a shell prompt:
$ dumplf -f logfile0
Output#
The following is an example of dumplf output:
LSN=<0,820>, COMP:N, MAGIC:820, TID: 6400,BE: N, REP: Y, ISVP: N, ISVP_DEPTH: 0 PLSN=<0,739>, LT: SMR_LT_MEMTRANS_COMMIT, SZ: 45
Each field in a log file has the following meaning:다음과 같은 의미를 갖는다.
| Field Name | Value | Description |
|---|---|---|
| LSN | Format: (FileNo, Offset) Offset range: From 0 (zero) to the maximum value of the unsigned int type | This is the log sequence number, which contains information about the physical location of the current log in a log file. The LSN consists of the identifier of the file number and an offset value. |
| COMP | Y|N | Indicates whether logs are compressed. Y: Compressed N: Not compressed |
| MAGIC | From 0 (zero) to the maximum value of the unsigned short type | This value is generated using the log file number and offset portions of the LSN to determine whether a log record is valid. When a Redo or Undo action is performed, even if a log record having garbage data is in a log file, it is possible to determine whether the log record is valid. |
| TID | From 0 (zero) to the maximum value of the unsigned int type | The identifier of the transaction |
| BE | Y|N | Y: Indicates that the Sender must check whether to send this log to the Receiver. N: This log is not used by the replication Sender. |
| REP | Y|N | Y: Indicates that the Sender must check whether to send this log to the Receiver. N: This log is not used by the replication Sender. |
| ISVP | Y|N | Y: Indicates that this log is an Implicit Savepoint Log, that is, the first log that is recorded after the start of execution of a statement. If an error occurs while the statement is executing, the transaction is partially rolled back; that is, it is rolled back only as far as this log. |
| ISVP_DEPTH | 0 - 255 | Implicit Savepoint Depth, that is, the nesting depth when a statement is nested within one or more other statements |
| PLSN | Format: (FileNo, Offset) Offset range: From 0 (zero) to the maximum value of the unsigned int type | This value is used to connect all of the logs recorded by the same transaction in a chain. |
| LT | String | Indicates the Log Type (LT). |
| SZ | From 0 (zero) to the maximum value of the unsigned int type | Indicates the size of the log, in bytes |
| RdSz | From 0 (zero) to the maximum value of the unsigned int type | indicates the size of the redo log record, in bytes |
| DMIOff | From 0 (zero) to the maximum value of the unsigned int type | Indicates the location of the logical log that is used to undo a transaction, or is used for replication |
| TableOID | From 0 (zero) to the maximum value of the unsigned int type | The object identifier of the table |
| OID | From 0 (zero) to the maximum value of the unsigned int type | The object identifier of all objects other than tables. This includes record objects |
| ContType | 0, 1 | An itnernal vlaue that is used for replicaiton |
| OPTYPE | LogTypeName\<LogTypeNumber> | The operation type of a Nested Top Action (NTA) log |
| AFTER | SZ: \<size>, Value: \<value> | The after name image of the log record |
| BEFORE | SZ: \<size>, Value: \<value> | The before image of the log record |
| UTYPE | LogTypeName\<LogTypeNumber> | The operation type of an UPDATE log |
| UPOS | Format: (SPACEID:\<SpaceID>, PID:\<PageID>, OFFSET:\<Offset> => OID:\<OID>) | The address of the object that was updated. Additionally contains information about what happened during an update operation. |
| SPACEID | From 0 (zero) to the maximum value of the unsigned short type | The identifier of the tablespace containing the object that was updated |
| PID | From 0 (zero) to the maximum value of the unsigned int type | The identifier of the page containing the object that was updated |
| Offset | From 0 (zero) to the maximum value of the unsigned short type | The offset from the beginning of the page containing the object that was updated |
| FLISlot PrevPID NextPID | Format: (\<BeforePID> => \<AfterPID>) | An internal value used for managing MMDB tablespaces |
| ESLSN | Format: (FileNo, Offset) Offset range: From 0 (zero) to the maximum value of the unsigned int type | This is the LSN from which recovery would be performed, if necessary |
| Lob Locator | From 0 (zero) to the maximum value of the unsigned long type | An interally used value related to the use of replication with the LOB type |
The possible values of LT (Log Type) in the dumplf output are as follows:
| Value | Description |
|---|---|
| SMR_LT_DUMMY | Dummy Log |
| SMR_LT_CHKPT_BEGIN | Checkpoint Being Log |
| SMR_LT_DIRTY_PAGE | Dirty Page Log |
| SMR_LT_CHKPT_END | Checkpoint End Log |
| SMR_LT_MEMTRANS_COMMIT | Memory Transaction Commit Log |
| SMR_LT_MEMTRANS_ABORT | Memory Transaction Abort Log |
| SMR_LT_DSKTRANS_COMMIT | Disk Transaction Commit Log |
| SMR_LT_DSKTRANS_ABORT | Disk Transaction Abort Log |
| SMR_LT_SAVEPOINT_SET | Savepoint Set Log |
| SMR_LT_SAVEPOINT_ABORT | Savepoint Abort Begin Log |
| SMR_LT_XA_PREPARE | XA Prepare Log |
| SMR_LT_TRANS_PREABORT | Abort Begin Log |
| SMR_LT_DDL | DDL (Data Definition Language) Log |
| SMR_LT_XA_SEGS | XA Prepare Transaction Segment Information |
| SMR_LT_LOB_FOR_REPL | LOB Log for Replication |
| SMR_LT_UPDATE | MMDB(Main Memory Database) Update Log |
| SMR_LT_NTA | MMDB NTA(Nested Top Action) Log |
| SMR_LT_COMPENSATION | Compensation Log |
| SMR_LT_DUMMY_COMPENSATION | Dummy Compensation Log |
| SMR_LT_FILE_BEGIN | File Begin Log |
| SMR_LT_FILE_TBS_UPDATE | Tablespace Update Log |
| SMR_LT_FILE_END | File End Log |
| SMR_DLT_READONLY | DRDB(Disk Resident Database) Redo Only Log |
| SMR_DLT_UNDOABLE | DRDB Undo Log |
| SMR_DLT_NTA | DRDB NTA Log |
| SMR_DLT_COMPENSATION | DRDB Compensation Log |
| SMR_DLT_REF_NTA | DRDB Reference NTA Log |
| SMR_LT_TABLE_META | Table Meta Log for Replication |
Possible LogTypeName Values for OPTYPE and UTYPE
| Value | Description |
|---|---|
| SMR_OP_SMM_PERS_LIST_ALLOC SMR_OP_SMC_FIXED_SLOT_ALLOC SMR_OP_SMC_VAR_SLOT_ALLOC SMR_OP_SMC_FIXED_SLOT_FREE SMR_OP_SMC_VAR_SLOT_FREE |
Logs related to pages and slots in an MMDB |
| SMR_OP_CREATE_TABLE SMR_OP_CREATE_INDEX SMR_OP_DROP_INDEX SMR_OP_ALTER_TABLE SMR_OP_SMM_CREATE_TBS SMR_OP_INSTANT_AGING_AT_ALTER_TABLE SMR_OP_SMC_TABLEHEADER_ALLOC |
Logs related to the execution of DDL statements in an MMDB |
| SMR_MEM_LOB_CURSOR_OPEN SMR_DISK_LOB_CURSOR_OPEN SMR_LOB_CURSOR_CLOSE SMR_PREPARE4WRITE SMR_FINISH2WRITE |
Logs related to controlling LOB values in an MMDB |
| SDR_OP_SDP_CREATE_TABLE_SEGMENT SDR_OP_SDP_CREATE_LOB_SEGMENT SDR_OP_SDP_CREATE_INDEX_SEGMENT SDR_OP_SDP_ADD_LOB_PAGE_TO_AGINGLIST SDR_OP_SDC_ALLOC_UNDO_PAGE SDR_OP_SDPTB_ALLOCATE_AN_EXTENT_FROM_TBS SDR_OP_SDPTB_ALLOCATE_AN_EXTDIR_FROM_LIST SDR_OP_SDPTB_RESIZE_GG SDR_OP_SDPST_ALLOC_PAGE SDR_OP_SDPSF_ALLOC_PAGE SCT_UPDATE_MRDB_CREATE_TBS SCT_UPDATE_MRDB_CREATE_CIMAGE_FILE SCT_UPDATE_MRDB_DROP_TBS SCT_UPDATE_MRDB_ALTER_AUTOEXTEND SCT_UPDATE_MRDB_ALTER_TBS_ONLINE SCT_UPDATE_MRDB_ALTER_TBS_OFFLINE SCT_UPDATE_DRDB_CREATE_TBS SCT_UPDATE_DRDB_DROP_TBS SCT_UPDATE_DRDB_ALTER_TBS_ONLINE SCT_UPDATE_DRDB_ALTER_TBS_OFFLINE SCT_UPDATE_DRDB_CREATE_DBF SCT_UPDATE_DRDB_DROP_DBF SCT_UPDATE_DRDB_EXTEND_DBF SCT_UPDATE_DRDB_SHRINK_DBF SCT_UPDATE_DRDB_AUTOEXTEND_DBF SCT_UPDATE_DRDB_ALTER_DBF_ONLINE SCT_UPDATE_DRDB_ALTER_DBF_OFFLINE SCT_UPDATE_VRDB_CREATE_TBS SCT_UPDATE_VRDB_DROP_TBS SCT_UPDATE_VRDB_ALTER_AUTOEXTEND SCT_UPDATE_COMMON_ALTER_ATTR_FLAG |
Logs related to tablespaces and segments |
| SDR_OP_SDPST_UPDATE_WMINFO_4DPATH SDR_OP_SDPST_UPDATE_MFNL_4DPATH SDR_OP_SDPST_UPDATE_BMP_4DPATH SDR_OP_SDPSF_ADD_PIDLIST_PVTFREEPIDLIST_4DPATH SDR_OP_SDPSF_MERGE_SEG_4DPATH SDR_OP_SDPSF_UPDATE_HWMINFO_4DPATH SDR_OP_SDP_DPATH_ADD_SEGINFOSET |
Logs related to page management for Direct Page Insert in a DRDB |
| SDR_OP_SDN_INSERT_KEY_WITH_NTA SDR_OP_SDN_DELETE_KEY_WITH_NTA |
NTA Logs for DRDB B-tree Indexes |
| SDR_OP_STNDR_INSERT_KEY_WITH_NTA SDR_OP_STNDR_DELETE_KEY_WITH_NTA |
NTA Logs for DRDB R-tree Indexes |
| SDR_SDP_1BYTE SDR_SDP_2BYTE SDR_SDP_4BYTE SDR_SDP_8BYTE SDR_SDP_BINARY |
Physical DRDB logs |
| SDR_SDP_PAGE_CONSISTENT SDR_SDP_INIT_PHYSICAL_PAGE SDR_SDP_INIT_LOGICAL_HDR SDR_SDP_INIT_SLOT_DIRECTORY SDR_SDP_FREE_SLOT SDR_SDP_FREE_SLOT_FOR_SID SDR_SDP_RESTORE_FREESPACE_CREDIT SDR_SDP_RESET_PAGE SDR_SDP_WRITE_PAGEIMG SDR_SDP_WRITE_DPATH_INS_PAGE |
Logs related to page and slot management in a DRDB |
| SDR_SDPST_INIT_SEGHDR SDR_SDPST_INIT_BMP SDR_SDPST_INIT_LFBMP SDR_SDPST_INIT_EXTDIR SDR_SDPST_ADD_RANGESLOT SDR_SDPST_ADD_SLOTS SDR_SDPST_ADD_EXTDESC SDR_SDPST_ADD_EXT_TO_SEGHDR SDR_SDPST_UPDATE_WM SDR_SDPST_UPDATE_MFNL SDR_SDPST_UPDATE_PBS SDR_SDPST_UPDATE_LFBMP_4DPATH SDR_SDPSC_INIT_SEGHDR SDR_SDPSC_INIT_EXTDIR SDR_SDPSC_ADD_EXTDESC_TO_EXTDIR SDR_SDPTB_INIT_LGHDR_PAGE SDR_SDPTB_ALLOC_IN_LG SDR_SDPTB_FREE_IN_LG |
The log related to segment and tablespace management for DRDB |
| SDR_SDC_INSERT_ROW_PIECE SDR_SDC_INSERT_ROW_PIECE_FOR_UPDATE SDR_SDC_INSERT_ROW_PIECE_FOR_DELETEUNDO SDR_SDC_UPDATE_ROW_PIECE SDR_SDC_OVERWRITE_ROW_PIECE SDR_SDC_CHANGE_ROW_PIECE_LINK SDR_SDC_DELETE_FIRST_COLUMN_PIECE SDR_SDC_ADD_FIRST_COLUMN_PIECE SDR_SDC_DELETE_ROW_PIECE_FOR_UPDATE SDR_SDC_DELETE_ROW_PIECE SDR_SDC_LOCK_ROW |
Logs related to the management of rows in tables in a DRDB |
| SDR_SDC_UPDATE_LOBDESC SDR_SDC_UPDATE_LOBDESC_KEY SDR_SDC_LOB_WRITE_PIECE SDR_SDC_LOB_WRITE_PIECE4DML SDR_SDC_INIT_LOBPAGE SDR_SDC_LOB_PAGE_TO_AGING_LIST |
Logs related to the use of the LOB type in a DRDB |
| SDR_SDC_PK_LOG | Logs related to the use of primary keys for replication in a DRDB |
| SDR_SDC_INIT_CTL SDR_SDC_EXTEND_CTL SDR_SDC_BIND_CTS SDR_SDC_UNBIND_CTS SDR_SDC_BIND_ROW SDR_SDC_UNBIND_ROW SDR_SDC_ROW_TIMESTAMPING SDR_SDC_DATA_SELFAGING |
Logs related to MVCC for records in a DRDB |
| SDR_SDC_BIND_TSS SDR_SDC_UNBIND_TSS SDR_SDC_SET_INITSCN_TO_TSS SDR_SDC_INIT_TSS_PAGE SDR_SDC_INIT_UNDO_PAGE SDR_SDC_INSERT_UNDO_REC |
Logs related to Transaction Status Slots (TSS) and undo records in a DRDB |
| SDR_SDN_INSERT_INDEX_KEY SDR_SDN_FREE_INDEX_KEY SDR_SDN_INSERT_UNIQUE_KEY SDR_SDN_INSERT_DUP_KEY SDR_SDN_DELETE_KEY_WITH_NTA SDR_SDN_FREE_KEYS SDR_SDN_COMPACT_INDEX_PAGE |
Logs related to B-tree indexes in a DRDB |
| SDR_SDN_MAKE_CHAINED_KEYS SDR_SDN_MAKE_UNCHAINED_KEYS SDR_SDN_KEY_STAMPING SDR_SDN_INIT_CTL SDR_SDN_EXTEND_CTL SDR_SDN_FREE_CTS |
Logs related to MVCC for B-tree index keys in a DRDB |
| SDR_STNDR_MAKE_CHAINED_KEYS SDR_STNDR_MAKE_UNCHAINED_KEYS SDR_STNDR_KEY_STAMPING |
Logs related to MVCC for R-tree index keys in a DRDB |
| SMR_PHYSICAL | Physical logs in an MMDB |
| SMR_SMM_MEMBASE_SET_SYSTEM_SCN SMR_SMM_MEMBASE_ALLOC_PERS_LIST SMR_SMM_MEMBASE_ALLOC_EXPAND_CHUNK SMR_SMM_PERS_UPDATE_LINK SMR_SMM_PERS_UPDATE_NEXT_FREE_PAGE_LINK SMR_SMM_MEMBASE_INFO |
Logs related to base information in an MMDB |
| SMR_SMC_TABLEHEADER_INIT SMR_SMC_TABLEHEADER_UPDATE_INDEX SMR_SMC_TABLEHEADER_UPDATE_COLUMNS SMR_SMC_TABLEHEADER_UPDATE_INFO SMR_SMC_TABLEHEADER_SET_NULLROW SMR_SMC_TABLEHEADER_UPDATE_ALL SMR_SMC_TABLEHEADER_UPDATE_ALLOCINFO SMR_SMC_TABLEHEADER_UPDATE_FLAG SMR_SMC_TABLEHEADER_SET_SEQUENCE SMR_SMC_TABLEHEADER_UPDATE_TABLE_COLUMN_COUNT SMR_SMC_TABLEHEADER_UPDATE_TABLE_SEGMENT SMR_SMC_TABLEHEADER_UPDATE_FLAG_FOR_MEDIA_RECV SMR_SMC_TABLEHEADER_SET_SEGSTOATTR SMR_SMC_TABLEHEADER_SET_INSERTLIMIT SMR_SMC_INDEX_SET_FLAG SMR_SMC_INDEX_SET_SEGATTR SMR_SMC_INDEX_SET_SEGSTOATTR SMR_SMC_INDEX_SET_DROP_FLAG |
Logs related to table headers and index headers in an MMDB |
| SMR_SMC_PERS_INIT_FIXED_PAGE SMR_SMC_PERS_INIT_FIXED_ROW SMR_SMC_PERS_UPDATE_FIXED_ROW SMR_SMC_PERS_UPDATE_FIXED_ROW_NEXT_FREE SMR_SMC_PERS_UPDATE_FIXED_ROW_NEXT_VERSION SMR_SMC_PERS_SET_FIX_ROW_DROP_FLAG SMR_SMC_PERS_SET_FIX_ROW_DELETE_BIT SMR_SMC_PERS_INIT_VAR_PAGE SMR_SMC_PERS_UPDATE_VAR_ROW_HEAD SMR_SMC_PERS_UPDATE_VAR_ROW SMR_SMC_PERS_SET_VAR_ROW_FLAG SMR_SMC_PERS_SET_VAR_ROW_NXT_OID SMR_SMC_PERS_WRITE_LOB_PIECE SMR_SMC_PERS_INSERT_ROW SMR_SMC_PERS_UPDATE_INPLACE_ROW SMR_SMC_PERS_UPDATE_VERSION_ROW SMR_SMC_PERS_DELETE_VERSION_ROW |
Logs related to rows in tables in an MMDB |
Please refer to the Atibase Administrator’s Manual for more information about MVCC.
dumptrc#
About dumptrc#
dumptrc outputs a trace log file recorded in $ALTIBASE_HOME/trc directory by converting into a format that a user can identify when the ALTIBASE HDB server is abnormally shut down.
dumptrc [-h |[-p file_path][-c [-s]]
[-a|-i file_name [-i file_name]..|-e file_name [-e file_name]..] [-n file_count] [x] |-f |-v]
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| -h | This outputs help. If the parameter is omitted or used as a duplicate with other parameter, the help would be preceding. |
| -p | This parameter specify the path brining a trace log file. Basically, if the path is not specified, a log file in $ALTIBASE_HOME/trc is retrieved. |
| -c | This parameter converts ALTIBASE process call stack recorded in altibase_error.log into a function name which a user can identify and return. Use -s option if you do not wish to convert the call stack address into a function name. Only the call stack is recorded if the parameter is used with -a, -i, -e, -n. |
| -s | This parameter outputs only the call stack recorded in a trace log and does not modify a function name. |
| -a | This parameter sorts and outputs all the trace log files. |
| -i | This parameter outputs specific trace log files. Multiple log files can be output. However, this parameter cannot be used with -e parameter. |
| -e | This parameter outputs all files except a specified trace log file. Multiple log files cannot be repeatedly removed, and this parameter cannot be used with -i parameter. |
| -n | This parameter specifies the number of logs which will be output at once. 1 to 127 logs can be output and 10 logs are output unless otherwise specified. |
| -f | This parameter outputs a log message which is added whenever a trace log file is recorded. |
| -v | This parameter outputs dumptc version |
Description#
The information of Altibase internal modules executed during Altibase termination is recorded in the process call stack. The module informaiton can be retrieved with dumptrc and retrievable trace log files can use the following files that are recorded into $ALTIBASE_HOME/trc.
-
ERROR : altibase_error.log
-
SERVER : altibase_boot.log
-
SM : altibase_sm.log
-
RP : altibase_rp.log
-
QP : altibase_qp.log
-
DK : altibase_dk.log
-
DR : altibase_dr.log
-
XA : altibase_xa.log
-
MM : altibase_mm.log
-
RP_CONFLICT : altibase_rp_conflict.log
-
DUMP : altibase_dump.log
-
TRC : altibase_trace.log
-
SNMP : altibase_snmp.log
-
CM : altibase_cm.log
-
MISC : altibase_misc.log
-
SD : altibase_sd.log
If outputting a trace log file located from a different path other than $ALTIBASE_HOME/trc, the path can be modified by using -p parameter.
If experiencing abnormal termination of Altibase server, converts the process call stack into dumptrc and send it to Altibase technical service team so that the problem can be quickly solved.
Precaution#
The exact call stack information can be checked only when the version of the Altibase executable file and the version of dumptrc are the same. If the version is incorrect, an incorrect value may be displayed, so a warning message is displayed by default and the call stack is not displayed. If the version is incorrect, the -x option can be used to forcefully display the call stack.
Examples#
$ dumptrc -i server -i error
[2015/10/21 17:29:42 55C][PID:32702][Thread-2]
==> Initialize Disaster Recovery Manager
[2015/10/21 17:29:42 55D][PID:32702][Thread-2]
... [SUCCESS]
[2015/10/21 17:29:42 55E][PID:32702][Thread-2]
==> Initialize MMX Service
[2015/10/21 17:29:42 55F][PID:32702][Thread-2]
... [SUCCESS]
[2015/10/21 17:29:42 560][PID:32702][Thread-2]
==> Initialize Audit Service
[2015/10/21 17:29:42 561][PID:32702][Thread-2]
... [SUCCESS]
[2015/10/21 17:29:42 562][PID:32702][Thread-2]
==> Initialize Job Manager
[2015/10/21 17:29:42 563][PID:32702][Thread-2]
... [SUCCESS]
[2015/10/21 17:29:42 564][PID:32702][Thread-2]
--- STARTUP Process SUCCESS ---
[2015/10/21 17:30:51 57B] Dump of Stack
SIGNAL INFORMATION ==============================
Signal 6(SIGABRT) caught.
Sent by process : 2331
Sent by user : 1000
BEGIN-DUMP ======================================
===== SERVER =====
ALTIBASE hdb
Product version : 6.7.1.0.0
CPU : X86
Operating System : x86_64-unknown-linux-gnu
Process ID : 32698
Thread No : 0
END-DUMP ========================================
BEGIN-STACK [CRASH] =============================
Caller[0] 00000000011E0EBF
Caller[1] 0000000000426CFE
Caller[2] 00007FD306FD4CB0
Caller[3] 00007FD30609F763
Caller[4] 000000000042F66F
Caller[5] 00000000004213CE
Caller[6] 000000000041D1E0
Caller[7] 00007FD305FD376D
Caller[8] 00000000004206BD
END-STACK =======================================
10 logs printed.
$ dumptrc -e error
[2015/10/21 17:29:48 571][PID:32702][Thread-2]
[EXEC_DDL_BEGIN : DROP TABLE T1]
[2015/10/21 17:29:48 572][PID:32702][Thread-2]
[EXEC_DDL_END : SUCCESS]
[2015/10/21 17:29:49 573][PID:32702][Thread-2]
[EXEC_DDL_BEGIN : CREATE TABLE T1 ( I1 INTEGER )]
[2015/10/21 17:29:49 574][PID:32702][Thread-2]
[EXEC_DDL_END : SUCCESS]
[2015/10/21 17:29:49 575][PID:32702][Thread-2]
[EXEC_DDL_BEGIN : DROP TABLE T1]
[2015/10/21 17:29:49 576][PID:32702][Thread-2]
[EXEC_DDL_END : SUCCESS]
[2015/10/21 17:29:53 577][PID:32702][Thread-2]
[EXEC_DDL_BEGIN : CREATE TABLE T1 ( I1 INTEGER )]
[2015/10/21 17:29:53 578][PID:32702][Thread-2]
[EXEC_DDL_END : SUCCESS]
[2015/10/21 17:29:53 579][PID:32702][Thread-2]
[EXEC_DDL_BEGIN : DROP TABLE T1]
[2015/10/21 17:29:53 57A][PID:32702][Thread-2]
[EXEC_DDL_END : SUCCESS]
10 logs printed.
$ dumptrc -c -i error -i server -i sm -n 20
=================================================
= Callstack Information 0
=================================================
[2015/10/21 17:29:42 551][PID:32702][Thread-2]
==> Initialize Security Module
[2015/10/21 17:29:42 552][PID:32702][Thread-2]
... [SUCCESS]
...
[2015/10/21 17:29:42 564][PID:32702][Thread-2]
--- STARTUP Process SUCCESS ---
[2015/10/21 17:30:51 57B] Dump of Stack
SIGNAL INFORMATION ==============================
Signal 6(SIGABRT) caught.
Sent by process : 2331
Sent by user : 1000
BEGIN-DUMP ======================================
===== SERVER =====
ALTIBASE hdb
Product version : 6.7.1.0.0
CPU : X86
Operating System : x86_64-unknown-linux-gnu
Process ID : 32698
Thread No : 0
END-DUMP ========================================
BEGIN-STACK [CRASH] =============================
Caller[0] 00000000011E0EBF => iduStack::dumpStack(iduSignalDef const*, siginfo*, ucontext*)
Caller[1] 0000000000426CFE => mmmSignalHandler
Caller[2] 00007FD306FD4CB0 => not found
Caller[3] 00007FD30609F763 => not found
Caller[4] 000000000042F66F => mmtSessionManager::run()
Caller[5] 00000000004213CE => mmi::serverStart(int, int)
Caller[6] 000000000041D1E0 => main
Caller[7] 00007FD305FD376D => not found
Caller[8] 00000000004206BD => _start
END-STACK =======================================
20 logs printed.
$ dumptrc -p /home/djin/work/altidev4/trunk/altibase_home/trc -c -n 20
Path : /home/djin/work/altidev4/trunk/altibase_home/trc
=================================================
= Callstack Information 0
=================================================
[2015/10/21 17:29:45 568][PID:32702][Thread-2]
[EXEC_DDL_END : SUCCESS]
[2015/10/21 17:29:45 569][PID:32702][Thread-2]
[EXEC_DDL_BEGIN : DROP TABLE T1]
...
[2015/10/21 17:30:51 57B] Dump of Stack
SIGNAL INFORMATION ==============================
Signal 6(SIGABRT) caught.
Sent by process : 2331
Sent by user : 1000
BEGIN-DUMP ======================================
===== SERVER =====
ALTIBASE hdb
Product version : 6.7.1.0.0
CPU : X86
Operating System : x86_64-unknown-linux-gnu
Process ID : 32698
Thread No : 0
END-DUMP ========================================
BEGIN-STACK [CRASH] =============================
Caller[0] 00000000011E0EBF => iduStack::dumpStack(iduSignalDef const*, siginfo*, ucontext*)
Caller[1] 0000000000426CFE => mmmSignalHandler
Caller[2] 00007FD306FD4CB0 => not found
...
Caller[8] 00000000004206BD => _start
END-STACK =======================================
20 logs printed.
killCheckServer#
About killCheckServer#
killCheckServer terminates the checkServer utility if it is currently running.
killCheckServer
Syntax#

Description#
killCheckServer terminates the checkServer utility if it is currently running.
If the server stop or server kill command was issued to stop the Altibase server, the server script terminates checkServer process by executing this utility before terminating the Altibase instance. In that case, the following results of killCheckServer execution will be recorded in the killCheckServer.log file under the $ALTIBASE_HOME/trc directory:
- When checkServer is running:
checkServer killed.
- When checkServer is not running:
ERROR CODE : -27
If the user executes the killCheckServer command directly, then the result will not be recorded in the file.
Example#
At a shell prompt, enter the following:
$ killCheckServer
server#
About server#
server is a shell script that is used to create, start up, shut down and check the status of Altibase.
server { start | stop | restart | kill | status | create db_charset national_charset | startRoleManager | stopRoleManager }
Syntax#

Parameters#
| Parameter | Description |
|---|---|
| start | Starts up the Altibase process |
| stop | Shuts down the Altibase process |
| restart | Restarts the Altibase process |
| kill | Forcibly termincates the Altibase process |
| status | Displays the status of the Altibase process |
| create | Creates a database that is 10MB in size, runs in noarchivelog mode, and uses the specified character sets |
| startRoleManager | Starts the Altibase process as the role manager for Disaster Recovery |
| stopRoleManager | Terminates the role manager |
Description#
iSQL is used to execute SQL statements for creating, starting up and shutting down Altibase. These frequently used commands have been combined and provided in the form of the server shell script for the convenience of DBAs.
The server script includes the following functionalities:
- Starting up the Altibase process
- Shutting down the Altibase process
- Restarting the Altibase process
- Forcibly terminating the Altibase process
- Displaying the result of querying “SELECT * from TAB;”
- Creating an Altibase
- Starting the Altibase process as the role manager
For more information about using SQL to manage Altibase databases, please refer to the SQL Reference.
Examples#
The server shell command is used as follows:
$ server start
$ server restart
$ server stop
$ server status
$ server kill
$ server create ksc5601 utf16
$ server startRoleManager
$ server stopRoleManager
References#
Please refer to the Administrator’s Manual and SQL Reference.