Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Connection Failure

...

There may be a case when the DB cannot be accessed while the server or Altibase process is running normally. There can be five types of situations like this:

...

Type

Checklist

 

User account restrictions

The user account restrictions can be resolved by checking the result of limit -n, increasing this value, and restarting Altibase.

Generally, it is recommended to set the file descriptor value to unlimited, and it should be set to at least 4096.

 

Error in conenction connection attempt

If there is an error in the connection attempt, the configuration part must be checked in which the connection is attempted.

Check whether the entered use account and password or the IP address to connect is are entered incorrectly, and whether a value different from PORT_NO set in $ALTIBASE/conf/altibase.properties is not attempted.

 

Network failure

It is necessary to first check whether pack errors occur with netstat, and to check whether normal ftp/telnet connection from other devices to the drive where Altibase is installed is possible, and that there is no significant performance degradation in packet transmission and reception.

 

Insufficient disk space

Check the disk usage by using a command such as df (bdf), and then replenish insufficient disk space.

Caution:

Icon

At this time, be cautious not to delete the online log file of Altibase. If online log files are deleted arbitrarily, the DB cannot be recovered.

...

Resources include all of the logical space used by Altibase form from physical memory/disk space. This section describes how to respond to each situation that may occur during the operation.

...

Type

Method

Insufficient user memory tablespace

ALTER TABLESPACE
Code Block
languagesql
ALTER TABLESPACE [tablespace name]
 ALTER AUTOEXTEND OFF
;
ALTER TABLESPACE [tablespace nameALTER AUTOEXTEND ON MAXSIZE 1G
 ALTER AUTOEXTEND OFF
;
ALTER TABLESPACE [tablespace name] ALTER AUTOEXTEND ON MAXSIZE 1G
;

 

Execute the above commands in order.
Since the tablespace name is specified when an error message occurs earlier, specify the tablespace name.                    
MAXSIZE should be set large than the current MAXSIZE.

Insufficient SYS_TBS_MEM_DATA/SYS_TBS_MEM_DIC tablespace

or

If it cannot be resolved with the ALTER TABLESPACE command.

If the above error occurs in the SYS_TBS_MEM_DATA/SYS_TBS_MEM_DIC tablespace, it annot cannot be solved with the above method.
In addition, it cannot be resolved when the total amount of all memory tablespaces has already exceeded the MEM_MAX_DB_SIZE value.
In this case, after cleaning up unnecessary table data in the tablespace, execute the compact command, or if this method does not work, increase the MEM_MAX_DB_SIZE value in the $ALTIBASE_HOME/conf/altibase.properties file and then restart ALTIBASE.

 

DELETE FROM 
Code Block
languagesql
DELETE FROM [table name]

;

TRUNCATE
 
 TABLE
 
 [table name]

;

ALTER
 
 TABLE
 
 [table name] COMPACT

;

Insufficient disk tablespace

ALTER TABLESPACE
Code Block
languagesql
ALTER TABLESPACE [tablespace name]
 ADD DATAFILE 
 ADD DATAFILE 'abcd.dbf'
 
 SIZE
 
 1G
AUTOEXTEND 
 AUTOEXTEND OFF

;

 

Since the tablespace name is specified when an error message displays earlier, specify the tablespace name.
The name of the data file is designated by the user according to the naming rule, and the size is appropriately designated by referring to the size of another data file using the same tablespace.                      

...

In case of insufficient memory, there is no separate countermeasure during the service. However, it is recommended to periodically collect the following results because the current status must be acquired.

SET LINESIZE 1000
 
SELECT *
FROM   V$MEMSTAT
ORDER  BY 
Code Block
languagesql
SET LINESIZE 1000
 
SELECT *
FROM   V$MEMSTAT
ORDER  BY MAX_TOTAL_
SIZE 
SIZE DESC

;

 

                                                                                                                                                                                                                                     


The above query shows the current usage status of memory resources inside Altibase. With this information, it is possible to compare and analyze which module has a large memory increase with a periodic result log. (Comparison of results of the previous day/same day)

...

Altibase supports MVCC. MVCC is a technique that can improve the performance of DBMS itself by preventing waiting between inquiry/change transactions. (For more detailed information, please refer to the "Altibase MVCC & GC Guide".) According to the implementation of MVCC, there are data to be deleted called Garage Data. If there is a large amount of data to be deleted or queries with a long-running time, the data to be deleted cannot be deleted until the corresponding transaction is completed. As a result, an increase in online log files or an increase in physical memory may occur. Queries with a long-running time that cause this phenomenon can be checked as follows.

 

Code Block
SELECT
 
 *

FROM
   
   V$STATEMENT

WHERE
  
  TOTAL_TIME >
100000000       AND 
 100000000
       AND EXECUTE_FLAG = 1

;

 

This query retrieves queries that are currently being executed and execution time is more than 100 seconds.

 

SELECT 
Code Block
languagesql
SELECT SESSION_ID,
       ID,
       

       ID,
       RPAD(QUERY, 150)

FROM
   
   V$STATEMENT

WHERE
  
  TX_ID = (SELECT
 ID
                FROM   V$TRANSACTION
                WHERE  
 ID
                FROM   V$TRANSACTION
                WHERE  MEMORY_VIEW_
SCN 
SCN IN
 
 (SELECT
 MINMEMSCNINTXS
                                           FROM   V$MEMGC
                                           LIMIT  1))
 MINMEMSCNINTXS
                                           FROM   V$MEMGC
                                           LIMIT  1))
;

 

This query retrieves queries that have been executing for a long time to prevent the processing of the data to be deleted.

...

If the above error types occur as a cause in the Altibase trace log, there are cases where the system error code is also recorded when an error message is recorded. It is also possible to check whether insufficient system resources occurs occur with the corresponding system error code.

...

Replication Failure

...

Altibase provides a data replication method using TCP/IP network for high availability. If there is any delay or other error during the service with replication, take the following actions.

...

Type                         

Method

Existence of Sender                   

SELECT 
Code Block
languagesql
SELECT COUNT(*)

FROM
   
   V$REPSENDER

;

 

If the Sender is running normally, the result of the above query should be displayed as "1" or higher. 

Existence of Receiver

SELECT 
Code Block
languagesql
SELECT COUNT(*)

FROM
   
   V$REPRECEIVER

;

 

If the Receiver is running normally, the result of the above query should be displayed as "1" or higher.

(Must exist as many as the number of redundant objects)

...

The problem that will be caused in the replication Sender/Receiver is that the data to be sent with replication cannot be sent, and data is changed. Therefore, it is necessary to monitor the status of the replication Sender, which is called the replication gap.

SELECT 
Code Block
languagesql
SELECT REP_NAME,
       

       REP_GAP

FROM
   
   V$REPGAP
 
REP_NAME         REP_GAP                                                                                    

; 
 
REP_NAME         REP_GAP                                                                                    
------------------------------------------------------------------
REP1             0
1 row

REP1             0
1 row selected.

                                                                                                                                                                                                                                                    

REP_NAME refers to the object name of the replication, and the size from the log record currently being sent by REP_GAP to the last log record that has not been sent yet (default in MB).

...