Skip to content

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#
  1. Set the JAVE_HOME environment variables.

  2. Run the command.

  3. Unix Platforms

$ altimon.sh start
  1. 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 PICL Library
AIX
AIX 5.3 AIX 6.1 AIX 7.1 PowerPC aix-ppc64-5.so
HP-UX
HP-UX 11.31 Itanium (IA-64) hpux-ia64-11.sl
Linux
Red Hat Enterprise Linux 6.0 x86-64 linux-x64.so
Red Hat Enterprise Linux 6.5 PowerPC linux-ppc64.so
Red Hat Enterprise Linux 7.2 PowerPC (Little Endian) 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

  1. Verify that PICL for lower versions works.
$ cd $ALTIBASE_HOME/altiMon 
$ java -Dpicl="aix-ppc64-5.so" -jar lib/com.altibase.picl.jar
  1. 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"
  1. Run altimon
$ altimon.sh start
Notes#

altiMon requires Java 8 version or later 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🇲🇲ss Refer to the Java Document for the date format which is available to select.
\<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
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 output 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#

altiwrap

Parameters#

Parameter Description
-h/--h Outputs 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#

awrite

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#

checkserver

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#

dumpbi

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#

dumpct

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#

dumpdb

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

This example outputs the free pages of the memory tablespace. By adding the - s suboption, information only regarding a certain tablespace can be output.

% dumpdb -j 3

This example outputs information on all of the objects created in the database. By adding the -o suboption(the SelfOID in the example below), detailed information only regarding a certain object can be output; by adding the -d suboption, information on columns and indexes of the object can also be output.

% dumpdb -j 4

This example outputs information on all of the objects created in the database, along with information on columns and indexes.

% dumpdb -j 4 -d

This example outputs the schema and data of a certain table.

% 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#

dumpddf

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#

dumpla

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] |-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 the user does 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, convert the process call stack into dumptrc and send it to Altibase technical service team so that the problem can be quickly solved.

Precaution#

The version of Altibase executable file and that of the dumptrc should be identical to confirm the call stack information in order to normally operate the dumptrc.

Examples#

altibase_error.log and altibase_boot.log are bound to output

$ 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.

Output except error.log.

$ 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.

Output a call stack, altibase_boot.log, and altiabse_sm.log together, but output the top 20 logs.

$ 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.

Output a call stack from trc log of a different directory

$ 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#

killcheckserver

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#

server

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.