Error Codes

GOLDILOCKS provides user error codes as follows. The error messages can be viewed with V$ERROR_CODE.

This chapter describes the cause and action of the error in the following form.

ErrorCode (SQLSTATE): Message
• ErrorCode: GOLDILOCKS-specific error code
• SQLSTATE: SQL standard state code
• Message: Error message

Cause

It is the cause of an error.

Action

It is the action.

OS Related Error

11000 (SQLSTATE: HY000): Invalid argument

Cause

An invalid argument was used.


% glsnr --test

ERR-HY000(11000): Invalid argument

Action

Use a valid argument when executing the command.


% glsnr --stop

Listener is stopped.

11001 (SQLSTATE: HY000): The operation was incomplete although some processing was performed and the results are partially valid

Cause

Failed to retrieve some of the requested file information.

Action

Verify that the requested file is a regular file, as certain information may not be provided for special files or virtual file systems.

11002 (SQLSTATE: HY000): Permission denied '%s'

Cause

Insufficient privilege to access the file or directory.

Action

Use the chown or chmod command to change the access privileges.

11003 (SQLSTATE: HY000): Standard Layer has encountered the end of the file

Cause

This error corresponds to EOF and is an error code used within the server.

Action

If this error occurs, contact our customer service department.

11004 (SQLSTATE: HY000): Unable to duplicate a file

Cause

The file replication has failed.

Action

Check the file privileges, available disk space, and whether the target path is valid.

11005 (SQLSTATE: HY000): File Lock Error

Cause

File locking has failed.

Action

Check for other processes using the file and try again after a short wait.

11006 (SQLSTATE: HY000): File Unlock Error

Cause

Failed to unlock the file.

Action

Check the file lock status and unlock the file with appropriate privileges.

11007 (SQLSTATE: HY000): Unable to open the file '%s'

Cause

The file may not exist, access privilege is lacking, or the file is locked by another process.

Action

Check the file path and privileges, and verify if another process is using the file.

11008 (SQLSTATE: HY000): Unable to close the file

Cause

The file descriptor is invalid or an I/O error has occurred.

Action

Verify that the file has been opened correctly and check the condition of the disk.

11009 (SQLSTATE: HY000): Unable to remove the file

Cause

The file may not exist, delete privilege is lacking, or the file may be in use by another process.

Action

Verify the file’s existence and privileges, terminate any processes using the file, and then retry.

11010 (SQLSTATE: HY000): Unable to link the file

Cause

Failed to create the file link. This may be due to insufficient privileges or lack of support from the file system.

Action

Verify the file privileges and confirm whether the file system supports this feature.

11011 (SQLSTATE: HY000): Unable to read the file

Cause

The file may lack read privileges, there may be a disk I/O error, or the file may be corrupted.

Action

Verify the file privileges and disk status, and perform a file integrity check.

11012 (SQLSTATE: HY000): Unable to write the file

Cause

The file may lack write privileges, disk space may be insufficient, or a disk I/O error may have occurred.

Action

Verify the file privileges and available disk space, and check the disk status.

11013 (SQLSTATE: HY000): Unable to sync the file

Cause

The file system synchronization failed, or a disk I/O error has occurred.

Action

Verify the disk status and perform a file system integrity check.

11014 (SQLSTATE: HY000): Unable to seek the file

Cause

An attempt was made to move to an invalid file position, or a file descriptor error occurred.

Action

Verify the file size and the target position, and check the validity of the file descriptor.

11015 (SQLSTATE: HY000): Unable to truncate the file

Cause

There may be a lack of privilege to modify the file size, or the disk space may be insufficient.

Action

Verify the file privileges and the available disk space.

11016 (SQLSTATE: HY000): Unable to get the status of the file

Cause

The file does not exist, or the privilege to retrieve its status has not been granted.

Action

Verify the file path and privileges.

11017 (SQLSTATE: HY000): Unable to create a pipe

Cause

Failed to create a pipe due to insufficient system resources.

Action

Check system resource usage and terminate unnecessary processes.

11018 (SQLSTATE: HY000): Unable to wait for the given process

Cause

Failed to wait for the child process because no child process exists.

Action

Check the process relationships and inspect the signal handling status.

11019 (SQLSTATE: HY000): Insufficient resource

Cause

System resources are insufficient.

Action

Check system resource usage and terminate unnecessary processes.

11020 (SQLSTATE: HY000): Unable to send signal to given process

Cause

The attempt to send a signal failed because the target process does not exist.

Action

Verify that the target process exists and check signal privileges.

11021 (SQLSTATE: HY000): Unable to set a signal handler

Cause

Failed to set signal handler.

Action

Check whether the system supports signals.

11022 (SQLSTATE: HY000): Unable to block a signal

Cause

Failed to block the signal.

Action

Check the signal mask settings and verify that the system supports the signal.

11023 (SQLSTATE: HY000): Unable to set thread attribute

Cause

Failed to set thread attributes.

Action

Check the thread attribute values and verify the system's thread limits.

11024 (SQLSTATE: HY000): Unable to create a thread

Cause

Failed to create a thread. The system may be low on resources or may have reached the maximum number of threads.

Action

Check the system's thread limit settings and verify memory usage.

11025 (SQLSTATE: HY000): Unable to join with a terminated thread

Cause

Failed to wait for thread termination due to an invalid thread ID.

Action

Check the thread status and verify whether a deadlock has occurred.

11026 (SQLSTATE: HY000): Unable to set thread once code

Cause

Failed to set the Thread Once Code.

Action

Review the thread synchronization code.

11027 (SQLSTATE: HY000): Truncation occurred on I/O operation

Cause

The string was truncated due to insufficient buffer size during the I/O operation.

Action

Ensure the buffer size is sufficiently allocated and verify the length of the input string.

11028 (SQLSTATE: HY000): The given name(%s) is too long

Cause

The given name is too long.

Action

Shorten the name length to comply with system limitations.

11029 (SQLSTATE: HY000): shared memory segment exists

Cause

The shared memory segment already exists.

Action

Either release the existing shared memory and recreate it, or reuse the existing segment.

11030 (SQLSTATE: HY000): Unable to allocate a shared memory segment

Cause

Failed to create shared memory due to insufficient privileges or memory.

Action

Check the system limits for shared memory and verify the privilege settings.

11031 (SQLSTATE: HY000): Unable to attach the shared memory segment

Cause

Failed to connect to shared memory due to an invalid segment ID.

Action

Verify the shared memory segment ID and check the process privileges.

11032 (SQLSTATE: HY000): Unable to detach the shared memory segment

Cause

The segment has already been released, so the shared memory could not be detached.

Action

Check the shared memory attachment status.

11033 (SQLSTATE: HY000): Unable to destroy the shared memory segment

Cause

Failed to destroy shared memory due to insufficient privileges.

Action

Check the ownership privileges of the shared memory.

11034 (SQLSTATE: HY000): Unable to create a semaphore

Cause

Failed to create semaphore due to insufficient system resources.

Action

Check the system limits for semaphores and clean up IPC resources.

11035 (SQLSTATE: HY000): Unable to acquire the given semaphore

Cause

A deadlock occurred due to failure in acquiring a semaphore.

Action

Verify the semaphore usage patterns and implement logic to prevent deadlocks.

11036 (SQLSTATE: HY000): Unable to release the given semaphore

Cause

The semaphore has already been released, so the semaphore release failed.

Action

Check the semaphore status to prevent duplicate releases.

11037 (SQLSTATE: HY000): Unable to destory the given semaphore

Cause

Failed to destroy the semaphore due to insufficient privileges.

Action

Check the ownership privileges of the semaphore.

11038 (SQLSTATE: HY000): The given object was busy

Cause

The resource is currently in use.

Action

Wait until the resource is no longer in use, then retry.

11039 (SQLSTATE: HY000): Operation timed out

Cause

The operation has timed out.

Action

Adjust the timeout value and check the system performance.

11040 (SQLSTATE: HY000): No such object (%s)

Cause

The requested object does not exist.

Action

Check the object name and path.

11041 (SQLSTATE: HY000): Two objects do not match

Cause

The two objects do not match.

Action

Verify if the objects being compared match.

11042 (SQLSTATE: HY000): Not enough memory

Cause

System memory is insufficient as the memory allocation limit has been reached.

Action

Check system memory usage, terminate unnecessary processes, or consider upgrading the memory.

11043 (SQLSTATE: HY000): File system is full

Cause

The disk space is insufficient.

Action

Delete unnecessary files to free up disk space, or consider expanding the storage.

11044 (SQLSTATE: HY000): Unable to execute the program

Cause

The program failed to execute. The executable file may not exist or there may be insufficient privileges.

Action

Check the executable file path and privileges, and verify the PATH environment variable.

11045 (SQLSTATE: HY000): not supported function

Cause

An unsupported feature was used.

Action

Use an alternative feature or upgrade the system.

11046 (SQLSTATE: HY000): given buffer does not have enough space

Cause

The given buffer does not have enough space.

Action

Check the data size and increase the buffer capacity.

11047 (SQLSTATE: HY000): invalid network address

Cause

The network address is invalid.

Action

Check the network address format and use a valid IP address.

11048 (SQLSTATE: HY000): sendto() system call returned failure

Cause

The sendto() system call failed.

Action

Check the network connection status and verify the validity of the target address.

11049 (SQLSTATE: HY000): recvfrom() system call returned failure

Cause

The recvfrom() system call failed.

Action

Check the network connection status and inspect the socket state.

11050 (SQLSTATE: HY000): fail to get address from socket with getsockname()

Cause

Failed to retrieve the socket address using getsockname().

Action

Check the socket binding status.

11051 (SQLSTATE: HY000): fail to get peer address from socket with getpeername()

Cause

Failed to retrieve the peer address using getpeername().

Action

Check the socket connection status.

11052 (SQLSTATE: HY000): fail to manipulate file descriptor with fcntl()

Cause

Failed to manipulate the file descriptor using fcntl().

Action

Check the validity of the file descriptor and the requested operation.

11053 (SQLSTATE: HY000): fail to manipulate socket descriptor with setsockopt()

Cause

Failed to set socket options using setsockopt().

Action

Check the socket option values and the socket status.

11054 (SQLSTATE: HY000): not implemented feature

Cause

The feature is not implemented.

Action

Use a supported alternative feature.

11055 (SQLSTATE: HY000): fail to manipulate device parameters of special file with ioctl()

Cause

Failed to manipulate device parameters using ioctl().

Action

Check the device status and the requested parameters.

11056 (SQLSTATE: HY000): fail to get hostname

Cause

Failed to retrieve the host name.

Action

Check the network settings and verify the host name configured on the system.

11057 (SQLSTATE: HY000): fail to close a socket

Cause

Failed to close the socket.

Action

Check the socket status and then properly terminate the network connection.

11058 (SQLSTATE: HY000): fail to shutdown a socket

Cause

Failed to shutdown the socket.

Action

Check the socket connection status.

11059 (SQLSTATE: HY000): fail to create a socket

Cause

Socket creation failed due to insufficient system resources.

Action

Check the system socket limit and verify the network settings.

11060 (SQLSTATE: HY000): fail to get property of a file descriptor

Cause

Failed to retrieve the attributes of the file descriptor.

Action

Check the validity of the file descriptor.

11061 (SQLSTATE: HY000): fail to set property of a file descriptor

Cause

Failed to set file descriptor attributes.

Action

Check the validity of the file descriptor and its configuration values.

11062 (SQLSTATE: HY000): fail to bind a socket to address

Cause

Failed to bind the socket to the address because it is already in use.

Action

Check the current port usage and either use a different port or terminate the process that is using the port.

11063 (SQLSTATE: HY000): fail to listen on a socket

Cause

Failed to listen on the socket due to an error in the backlog queue configuration.

Action

Check the socket status and network configuration.

11064 (SQLSTATE: HY000): fail to accept a connection request with a socket

Cause

Failed to accept the connection due to a network error.

Action

Check the network connection status and review the firewall settings.

11065 (SQLSTATE: HY000): system call was interrupted by a signal

Cause

The system call was interrupted due to a signal.

Action

Check the signal handling logic and retry the system call.

11066 (SQLSTATE: HY000): fail to get options of a socket

Cause

Failed to retrieve the socket options.

Action

Check the socket status and the validity of the options.

11067 (SQLSTATE: HY000): fail to connect to a host with a socket

Cause

Failed to connect to the host because the target server is unreachable.

Action

Check the status of the target server and network, and review the firewall settings.

11068 (SQLSTATE: HY000): fail to wait for some file descriptors with poll()

Cause

Failed to wait for the file descriptor using poll().

Action

Check the validity of the file descriptor and the poll configuration.

11069 (SQLSTATE: HY000): internal error

Cause

This is an error code used within the server.

Action

Check the system logs and contact our customer service department.

11070 (SQLSTATE: HY000): sendmsg() system call returned failure

Cause

The sendmsg() system call failed.

Action

Check the message structure and the socket status.

11071 (SQLSTATE: HY000): recvmsg() system call returned failure

Cause

The recvmsg() system call failed.

Action

Check the message buffer and the socket status.

11072 (SQLSTATE: HY000): socketpair() system call returned failure

Cause

The socketpair() system call failed.

Action

Check the system socket resource.

11073 (SQLSTATE: HY000): converted value is out of range (overflow or underflow)

Cause

The converted value is out of range. (overflow/underflow)

Action

Check the range of the input value and use an appropriate data type.

11074 (SQLSTATE: HY000): given string is not number

Cause

The given string is not a valid number.

Action

Check the format of the input string and convert it to a numeric format.

11075 (SQLSTATE: HY000): not a valid file descriptor

Cause

An invalid file descriptor was used.

Action

Check whether the file was opened properly and reassign the file descriptor.

11076 (SQLSTATE: HY000): resource temporarily unavailable

Cause

The resource is temporarily unavailable.

Action

Try again after a short while.

11077 (SQLSTATE: HY000): given address is already in use

Cause

The address is already in use.

Action

Either use a different port or terminate the existing process before trying again.

11078 (SQLSTATE: HY000): fail to initialize communication context

Cause

Failed to initialize the communication context.

Action

Check the network configuration and system resources.

11079 (SQLSTATE: HY000): fail to finalize communication context

Cause

Failed to finalize the communication context

Action

Check the context status and clean up the resources.

11080 (SQLSTATE: HY000): fail to connect communication context

Cause

Failed to connect to the communication context.

Action

Check the network connection and the status of the target server.

11081 (SQLSTATE: HY000): fail to poll communication context

Cause

Failed to poll the communication context.

Action

Check the network connection and the status of the context.

11082 (SQLSTATE: HY000): fail to write packet through communication context

Cause

Failed to write a packet using the communication context.

Action

Check the network connection status and the packet size.

11083 (SQLSTATE: HY000): fail to read packet through communication context

Cause

Failed to read a packet using the communication context.

Action

Check the network connection status and the buffer size.

11084 (SQLSTATE: HY000): fail to send descriptor through communication context

Cause

Failed to transmit the descriptor using the communication context.

Action

Check the status of the context and the data to be transmitted.

11085 (SQLSTATE: HY000): fail to receive descriptor through communication context

Cause

Failed to receive the descriptor using the communication context.

Action

Check the status of the context and the receive buffer.

11086 (SQLSTATE: HY000): fail to get current file path

Cause

Failed to retrieve the current file path.

Action

Check the file privilege and the validity of the path.

11087 (SQLSTATE: HY000): fail to open library (%s)

Cause

Failed to open the library.

Action

Check whether the library file exists and verify the path.

11088 (SQLSTATE: HY000): fail to close library

Cause

Failed to close the library.

Action

Check the status of the library.

11089 (SQLSTATE: HY000): fail to get symbol address (%s)

Cause

Failed to retrieve the symbol address.

Action

Check the symbol name and the status of the library.

11090 (SQLSTATE: HY000): not supported query

Cause

The query is not supported.

Action

Use a supported query syntax.

11091 (SQLSTATE: HY000): fail to check file (%s)

Cause

Failed to check the existence of the file.

Action

Verify the file path and check the file system privileges.

11092 (SQLSTATE: HY000): input is too long

Cause

The input value is too long.

Action

Shorten the input value to meet the allowed length limit.

11093 (SQLSTATE: HY000): system call error (function : %s, error no : %d)

Cause

A system call error occurred.

Action

Check the system logs and inspect the system status.

11094 (SQLSTATE: HY000): divide zero

Cause

Attempted to divide by zero.

Action

Check whether the denominator in the division operation is zero.

11095 (SQLSTATE: HY000): Unable to open a semaphore

Cause

Failed to open the semaphore.

Action

Verify the semaphore name and privileges.

11096 (SQLSTATE: HY000): Unable to close the given semaphore

Cause

Failed to close the semaphore.

Action

Check the semaphore status.

11097 (SQLSTATE: HY000): Unable to unlink the given semaphore

Cause

Failed to unlink the semaphore.

Action

Check the semaphore status and privileges.

11098 (SQLSTATE: HY000): permission denied - '%s'

Cause

Access permission to the file was denied.

Action

Check the file access privileges and verify the user's privileges.

11099 (SQLSTATE: HY000): not supported os

Cause

Unsupported operating system.

Action

Run on a supported operating system.

11100 (SQLSTATE: HY000): Environment Variable "%s" is not defined.

Cause

Environment variable is not defined.

Action

Set the required environment variable.

11101 (SQLSTATE: HY000): License file(%s) does not exist

Cause

License file does not exist.

Action

Check the license file path and install the license file.

11102 (SQLSTATE: HY000): License is out of date. License is valid after %4d-%02d-%02d

Cause

License validity period has not started yet.

Action

Check the system time and install the correct license file.

11103 (SQLSTATE: HY000): License date is expired. License is expired in %4d-%02d-%02d

Cause

The license has expired.

Action

Renew the license and install the new license file.

11104 (SQLSTATE: HY000): License core count mismatch.

Cause

License core count does not match system core count.

Action

Acquire a license appropriate for the system's core count.

11105 (SQLSTATE: HY000): License key is corrupted.

Cause

The license key is corrupted or invalid.

Action

Reinstall a valid license file.

11106 (SQLSTATE: HY000): License host name mismatch.

Cause

Licensed hostname does not match system hostname.

Action

Verify the hostname and acquire an appropriate license for it.

11107 (SQLSTATE: HY000): failed to set thread affinity.

Cause

Unable to configure thread affinity.

Action

Check the system CPU configuration and thread privileges.

11108 (SQLSTATE: HY000): failed to create timer.

Cause

Failed to create timer.

Action

Check the system timer resources.

11109 (SQLSTATE: HY000): failed to set timer.

Cause

Failed to set timer.

Action

Check the timer value and system status.

11110 (SQLSTATE: HY000): failed to destroy timer.

Cause

Failed to delete timer.

Action

Check the timer status.

11111 (SQLSTATE: HY000): address is not given.

Cause

Address not provided.

Action

Provide the required address information.

11112 (SQLSTATE: HY000): Unable to access the message queue.

Cause

Failed to access the message queue.

Action

Verify the message queue privileges and its existence.

11113 (SQLSTATE: HY000): A message queue exists.

Cause

Message queue already exists.

Action

Use the existing message queue or specify a different name.

11114 (SQLSTATE: HY000): Unable to create a message queue.

Cause

Failed to create message queue.

Action

Check the system IPC resource limits.

11115 (SQLSTATE: HY000): The message queue was removed.

Cause

Message queue has been removed.

Action

Recreate the message queue or use a different one.

11116 (SQLSTATE: HY000): Unable to destroy the message queue.

Cause

Failed to delete the message queue.

Action

Check the message queue privileges and the queue status.

11117 (SQLSTATE: HY000): Unable to send message.

Cause

Failed to send the message.

Action

Check the message size and the queue status.

11118 (SQLSTATE: HY000): Unable to receive message.

Cause

Failed to receive the message.

Action

Check the message queue status and buffer size.

11119 (SQLSTATE: HY000): No message was available in the message queue.

Cause

No available messages in the message queue.

Action

Try again later or use blocking mode.

11120 (SQLSTATE: HY000): fail to get property of a file status

Cause

Failed to retrieve file status attributes.

Action

Check the validity of the file descriptor.

11121 (SQLSTATE: HY000): fail to set property of a file status

Cause

Failed to set file status attributes.

Action

Check the file descriptor and the configuration values.

11122 (SQLSTATE: HY000): infiniband ibv/rdma interface returned error

Cause

InfiniBand verbs interface error.

Action

Check the status of the InfiniBand hardware and drivers.

11123 (SQLSTATE: HY000): no infiniband device was found

Cause

InfiniBand device not found.

Action

Check the installation and recognition status of the InfiniBand hardware.

11124 (SQLSTATE: HY000): cannot find specified infiniband device

Cause

Specified InfiniBand device not found.

Action

Check the device name and configuration.

11125 (SQLSTATE: HY000): cannot find suitable Memory Region for specified ptr and size

Cause

Suitable memory region not found for the specified pointer and size.

Action

Verify that the memory region is properly registered and configured.

11126 (SQLSTATE: HY000): fail to get semaphore value

Cause

Failed to retrieve semaphore value.

Action

Check the status of the semaphore.

11127 (SQLSTATE: HY000): fail to control pollset

Cause

Failed to control the pollset.

Action

Check the pollset status and control commands.

11128 (SQLSTATE: HY000): fail to create pollset

Cause

Failed to create the pollset.

Action

Check the system resources and pollset configuration.

11129 (SQLSTATE: HY000): overflow fd

Cause

The system has reached the limit of file descriptors.

Action

Increase the system’s file descriptor limit.

11130 (SQLSTATE: HY000): invalid INI file format

Cause

The INI file format is invalid.

Action

Check the INI file syntax and correct the file format.

11131 (SQLSTATE: HY000): path '%s' does not exist

Cause

The path does not exist.

Action

Verify if the path exists and create the directory if necessary.

11132 (SQLSTATE: HY000): Unable to get maximum undo semaphores per array

Cause

Failed to retrieve the maximum number of undo semaphores per array.

Action

Check the system semaphore settings.

11133 (SQLSTATE: HY000): Unable to create a undo semaphore

Cause

Failed to create undo semaphore.

Action

Check the system semaphore resources.

11134 (SQLSTATE: HY000): Unable to bind the given undo semaphore

Cause

Failed to bind the undo semaphore.

Action

Check the semaphore status and privileges.

11135 (SQLSTATE: HY000): Unable to unbind the given undo semaphore

Cause

Failed to unbind the undo semaphore.

Action

Check the binding status of the semaphore.

11136 (SQLSTATE: HY000): Unable to get the given undo semaphore state

Cause

Failed to retrieve the status of the undo semaphore.

Action

Check the validity of the semaphore.

11137 (SQLSTATE: HY000): Unable to destroy the given undo semaphore

Cause

Failed to delete the undo semaphore.

Action

Check the semaphore status and privileges.

11138 (SQLSTATE: HY000): Unable to suspend asyncronous io

Cause

Failed to suspend asynchronous I/O.

Action

Check the status of the asynchronous I/O.

11139 (SQLSTATE: HY000): Unable to control the shared memory segment

Cause

Failed to control the shared memory segment.

Action

Check the shared memory privileges and status.

11140 (SQLSTATE: HY000): Unable to detach a thread

Cause

Failed to detach the thread because it is already detached.

Action

Check the status of the thread.

11141 (SQLSTATE: 08S01): Communication link failure

Cause

Communication link failure occurred.

Action

Check the network connection status and communication infrastructure.

11142 (SQLSTATE: HY000): No such process

Cause

The specified process does not exist.

Action

Check the existence of the process and verify the process ID.

11143 (SQLSTATE: HY000): getaddrinfo() system call returned failure

Cause

Failed to execute the getaddrinfo() system call.

Action

Check the hostname and DNS configuration.

11144 (SQLSTATE: HY000): address is unavailable

Cause

The address is unavailable.

Action

Check the network interface and address configuration.

11145 (SQLSTATE: HY000): semaphore set exists

Cause

The semaphore set already exists.

Action

Use the existing semaphore or choose a different key.

11146 (SQLSTATE: HY000): unable to create a semaphore set

Cause

Failed to create the semaphore set.

Action

Check the system semaphore limits.

11147 (SQLSTATE: HY000): unable to return a semaphore set

Cause

Failed to return the semaphore set.

Action

Check the semaphore key and privileges.

11148 (SQLSTATE: HY000): unable to set value a semnum-th semaphore

Cause

Failed to set the semaphore value.

Action

Check the semaphore index and value.

11149 (SQLSTATE: HY000): unable to performs operations on selected semaphores

Cause

Failed to perform semaphore operation.

Action

Check the semaphore operation command and status.

11150 (SQLSTATE: HY000): unable to remove a semaphore set

Cause

Failed to remove the semaphore set.

Action

Check the semaphore privileges and status.

11151 (SQLSTATE: HY000): An error occurred while using the OpenSSL function

Cause

Failed to invoke OpenSSL library function.

Action

Check whether the certificate file and private key file are valid, and verify the version of the OpenSSL library.

11152 (SQLSTATE: HY000): bad abi

Cause

An error occurred during the ABI (Application Binary Interface) configuration process for invoking external functions or libraries.

Action

Check whether the external library being used is compatible with the current database version.

11153 (SQLSTATE: HY000): bad typedef

Cause

There is an issue with the data type or structure definition used in the external function call.

Action

Check whether the data types used as parameters for the external function are correctly defined.

11154 (SQLSTATE: HY000): Unable to create the directory '%s'

Cause

Failed to create the directory.

Action

Check privilege settings and ensure sufficient disk space.

11155 (SQLSTATE: HY000): Unable to remove the directory

Cause

Failed to remove the directory.

Action

Check privilege settings and ensure the directory is empty.

11156 (SQLSTATE: HY000): Unable to open the directory

Cause

Failed to open the directory and read its contents.

Action

Check privilege settings and ensure that the directory exists.

Datatype and Operation Related Error

12000 (SQLSTATE: HY000): failed to initialize datatype layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12001 (SQLSTATE: HYC00): not implemented feature, in a function %s

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12002 (SQLSTATE: 22001): byte length of data greater than column length

Cause

The bytes bigger than the column length were input.


gSQL> CREATE TABLE t1 ( c1 VARCHAR(3) );


gSQL> INSERT INTO t1 VALUES ( 'abcd' );


ERR-22001(12002): byte length of data greater than column length :

INSERT INTO t1 VALUES ( 'abcd' )

*

ERROR at line 1:

Action

Input the data which matches the column length as follows.


gSQL> INSERT INTO t1 VALUES ( 'abc' );


1 row created.

12003 (SQLSTATE: 22001): character length of data greater than column length

Cause

The characters whose length is longer than the character length of the column was input.


gSQL> CREATE TABLE t1 ( c1 VARCHAR(2 char) );


gSQL> INSERT INTO t1 VALUES ( '두글자' );

ERR-22001(12003): character length of data greater than column length :

INSERT INTO t1 VALUES ( '두글자' )

*

ERROR at line 1:

Action

Check the number of characters allowed for the column.


gSQL> INSERT INTO t1 VALUES ( '두자' );


1 row created.

12004 (SQLSTATE: 22001): data converted with truncation of fractional digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12005 (SQLSTATE: 22001): conversion of data would result in loss of whole digits

Cause

It is the conversion causing data loss.


gSQL> SELECT TO_NATIVE_BIGINT( '9223372036854775808' ) AS RESULT FROM DUAL;


ERR-22001(12005): conversion of data would result in loss of whole digits :

SELECT TO_NATIVE_BIGINT( '9223372036854775808' ) AS RESULT FROM DUAL

*

ERROR at line 1:

Action

Use an input which does not cause data loss.


gSQL> SELECT TO_NATIVE_BIGINT( '9223372036854775807' ) AS RESULT FROM DUAL;


RESULT

-------------------

9223372036854775807


1 row selected.

12006 (SQLSTATE: 22018): data value is not a numeric literal

Cause

The characters which can not be converted to the number were used.


gSQL> SELECT 1 + 'a' FROM dual;


ERR-22018(12006): data value is not a numeric literal :

SELECT 1 + 'a' FROM dual

*

ERROR at line 1:

Action

Use characters which can be converted to numbers or use numbers as follows.


gSQL> SELECT 1 + '2' FROM dual;


1 + '2'

-------

3


1 row selected.


gSQL> SELECT 1 + 2 FROM dual;


1 + 2

-----

3


1 row selected.

12007 (SQLSTATE: 22003): data is outside the range of the data type to which the number is being converted

Cause

The value is out of the data type range when converting.


gSQL> SELECT TO_NATIVE_SMALLINT( '32768' ) AS RESULT FROM DUAL;


ERR-22003(12007): data is outside the range of the data type to which the number is being converted :


SELECT TO_NATIVE_SMALLINT( '32768' ) AS RESULT FROM DUAL

*

ERROR at line 1:

Action

Input the value that is within the data type range as follows.


gSQL> SELECT TO_NATIVE_SMALLINT( '32767' ) AS RESULT FROM DUAL;


RESULT

------

32767


1 row selected.

12008 (SQLSTATE: 22001): data is greater than 0, less than 2, and not equal to 1

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12009 (SQLSTATE: 22003): data is less than 0 or greater than or equal to 2

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12010 (SQLSTATE: 22001): (byte length of data)/2 is greater than column byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12011 (SQLSTATE: 22003): data value is not a hexadecimal value

Cause

The invalid hexadecimal value was used.


gSQL> SELECT UNHEX( '41424' ) FROM DUAL;


ERR-22003(12011): data value is not a hexadecimal value :

SELECT UNHEX( '41424' ) FROM DUAL

*

ERROR at line 1:

Action

Use the valid hexadecimal value as follows.


gSQL> SELECT UNHEX( '414243' ) FROM DUAL;


UNHEX( '414243' )

-----------------

414243


1 row selected.

12012 (SQLSTATE: 22008): data value is a valid timestamp literal; time portion is nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12013 (SQLSTATE: 22018): data value is not a valid date literal or timestamp literal

Cause

The input timestamp string is out of the column's valid range.


gSQL> CREATE TABLE t1 ( c1 TIMESTAMP(3) );

Table created.

gSQL> INSERT INTO T1 VALUES( '9999-12-31 23:59:59.999999' );

ERR-22018(12013): data value is not a valid date literal or timestamp literal :

INSERT INTO T1 VALUES( '9999-12-31 23:59:59.999999' )

*

ERROR at line 1:

Action

Input the value within the column's valid range as follows.

gSQL> INSERT INTO T1 VALUES( '9999-12-31 23:59:59.999' );

1 row created.

12014 (SQLSTATE: 22008): data value is a valid timestamp literal; fractional seconds portion is nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12015 (SQLSTATE: 22018): data value is not a valid time literal or timestamp literal

Cause

The time string input in the application is out of the time's valid range.

Action

Use the time string which is within the time's valid range.

12016 (SQLSTATE: 22008): data value is a valid timestamp literal; fractional seconds portion truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12017 (SQLSTATE: 22018): data value is not a valid date literal or time literal or timestamp literal

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12018 (SQLSTATE: 22015): data value is a valid interval value; the value in one of the fields is truncated

Cause

The wrong INTERVAL literal was used.


SELECT INTERVAL'1-11' YEAR FROM DUAL;

ERR-22015(12018): data value is a valid interval value; the value in one of the fields is truncated :

SELECT INTERVAL'1-11' YEAR FROM DUAL

*

ERROR at line 1:

Action

Use the correct INTERVAL literal as follows.


gSQL> SELECT INTERVAL'1' YEAR FROM DUAL;

INTERVAL'1' YEAR

----------------

+01-00

1 row selected.

12019 (SQLSTATE: 22018): data value is not a valid interval literal

Cause

The INTERVAL literal expression is wrong.


gSQL> SELECT INTERVAL'1' YEAR TO MONTH FROM DUAL;

ERR-22018(12019): data value is not a valid interval literal :

SELECT INTERVAL'1' YEAR TO MONTH FROM DUAL

*

ERROR at line 1:

Action

Use the correct INTERVAL literal expression.


gSQL> SELECT INTERVAL'1-1' YEAR TO MONTH FROM DUAL;

INTERVAL'1-1' YEAR TO MONTH

---------------------------

+01-01

1 row selected.

12020 (SQLSTATE: 22001): number of digits greater than column byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12021 (SQLSTATE: 22001): number of characters greater than column byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12022 (SQLSTATE: 22003): data converted with truncation of whole digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12023 (SQLSTATE: 22003): data is outside the range of the data type to which the number is being converted

Cause

The number is out of the data type's range.


CREATE TABLE t1( c1 NATIVE_BIGINT );

INSERT INTO t1 VALUES( 9223372036854775807 );

COMMIT;


gSQL> SELECT CAST( c1 AS NATIVE_INTEGER ) FROM t1;


ERR-22003(12023): data is outside the range of the data type to which the number is being converted :

SELECT CAST( c1 AS NATIVE_INTEGER ) FROM t1

*

ERROR at line 1:

Action

Check the range of the data type which allows the number.


gSQL> SELECT CAST( c1 AS NUMBER ) FROM t1;


CAST( C1 AS NUMBER )

--------------------

9223372036854775807


1 row selected.

12024 (SQLSTATE: 22001): data is greater than 0, less than 2, and not equal to 1

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12025 (SQLSTATE: 22003): data is less than 0 or greater than or equal to 2

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12026 (SQLSTATE: 22015): interval data truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12027 (SQLSTATE: 22001): byte length of data greater than column length

Cause

The byte length of the binary data exceeds the column length.


gSQL> SELECT CAST(X'01AF' AS BINARY(1)) FROM dual;


ERR-22001(12027): byte length of data greater than column length :

SELECT CAST(X'01AF' AS BINARY(1)) FROM dual

*

ERROR at line 1:

Action

Use the binary data of the valid byte length as follows.


gSQL> SELECT CAST(X'AF' AS BINARY(1)) FROM dual;


CAST(X'AF' AS BINARY(1))

------------------------

AF


1 row selected.

12028 (SQLSTATE: 22001): character length of data greater than column length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12029 (SQLSTATE: 22003): byte length of data not equal to SQL data length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12030 (SQLSTATE: 22001): column byte length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12031 (SQLSTATE: 22008): data value is not a valid date

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12032 (SQLSTATE: 22007): data value is not a valid date format

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12033 (SQLSTATE: 22001): column byte length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12034 (SQLSTATE: 22018): data value is not a valid GUID

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12035 (SQLSTATE: 22001): column byte length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12036 (SQLSTATE: 22001): data value is not a valid time

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12037 (SQLSTATE: 22007): data value is not a valid time format

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12038 (SQLSTATE: 22001): column byte length is between %d and character byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12039 (SQLSTATE: 22001): column byte length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12040 (SQLSTATE: 22008): data value is not a valid timestamp

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12041 (SQLSTATE: 22008): time fields are nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12042 (SQLSTATE: 22007): data value does not contain a valid date

Cause

The datetime value of the operation result, is out of the supported date range.

The value range: '4714-11-24 BC' ~ '9999-12-31 AD'


gSQL> SELECT TO_CHAR( c1, 'YYYY-MM-DD HH24:MI:SS' ) FROM t1;


TO_CHAR( C1, 'YYYY-MM-DD HH24:MI:SS' )

--------------------------------------

9999-12-31 23:59:59


1 row selected.


--# The result of executing the following example exceeds '9999-12-31'.


gSQL> SELECT ROUND( c1, 'HH' ) AS RESULT FROM t1;


ERR-22007(12042): data value does not contain a valid date :

SELECT ROUND( c1, 'HH' ) AS RESULT FROM t1

*

ERROR at line 1:

Action

Check if the datetime value of the operation result is out of the supported date range.

12043 (SQLSTATE: 22008): fractional seconds fields are nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12044 (SQLSTATE: 22007): data value does not contain a valid time

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12045 (SQLSTATE: 22008): fractional seconds fields are truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12046 (SQLSTATE: 22007): data value does not contain a valid timestamp

Cause

The datetime value is invalid. (This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12047 (SQLSTATE: 22001): column byte length is less than character byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12048 (SQLSTATE: 22015): data value is not a valid interval literal

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12049 (SQLSTATE: 22003): conversion resulted in truncation of whole digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12050 (SQLSTATE: 22015): one or more fields of data value were truncated during conversion

Cause

The value that was out of the INTERVAL type range was used.


gSQL> CREATE TABLE T1 ( I1 INTERVAL YEAR TO MONTH );


gSQL> INSERT INTO T1 VALUES ( '100-01' );


ERR-22015(12050): one or more fields of data value were truncated during conversion :

INSERT INTO T1 VALUES ( '100-01' )

*

ERROR at line 1

Action

Use the value within the interval type range.


gSQL> INSERT INTO T1 VALUES ( '99-01' );


1 row created.

12051 (SQLSTATE: 22001): column byte length is less than character byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12052 (SQLSTATE: 22015): data value is not a valid interval literal

Cause

When checking the interval value, the interval indicator or the fractional second precision is invalid.

Action

If this error occurs, contact our customer service department.

12053 (SQLSTATE: 22003): conversion resulted in truncation of whole digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12054 (SQLSTATE: 22015): one or more fields of data value were truncated during conversion

Cause

The value that was out of the interval type range was used.


gSQL> CREATE TABLE T1( I1 INTERVAL DAY );


gSQL> INSERT INTO T1 VALUES ( '100' );


ERR-22015(12054): one or more fields of data value were truncated during conversion :

INSERT INTO T1 VALUES ( '100' )

*

ERROR at line 1:

Action

Use the value within the interval type range.


gSQL> INSERT INTO T1 VALUES ( '99' );


1 row created.

12055 (SQLSTATE: 01004): byte length of data greater equal than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12056 (SQLSTATE: 01004): character length of data greater equal than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12057 (SQLSTATE: 01S07): data converted with truncation of fractional digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12058 (SQLSTATE: 22003): conversion of data would result in loss of whole digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12059 (SQLSTATE: 22018): data is not numeric literal

Cause

The strings which can not be converted to the number were used.


gSQL> SELECT TO_NATIVE_DOUBLE( 'a' ) FROM DUAL;


ERR-22018(12059): data is not numeric literal :

SELECT TO_NATIVE_DOUBLE( 'a' ) FROM DUAL

*

ERROR at line 1:

Action

Use the numeric string.


gSQL> SELECT TO_NATIVE_DOUBLE( '123.45' ) FROM DUAL;


TO_NATIVE_DOUBLE( '123.45' )

----------------------------

123.45


1 row selected.

12060 (SQLSTATE: 22003): data is outside the range of the data type to which the number is being converted

Cause

The value that was out of the data type range was used.


gSQL> SELECT TO_NUMBER( '1E+1000', '9EEEE' ) FROM DUAL;


ERR-22003(12060): data is outside the range of the data type to which the number is being converted :

SELECT TO_NUMBER( '1E+1000', '9EEEE' ) FROM DUAL

*

ERROR at line 1:

Action

Use the value within the data type range.


gSQL> SELECT TO_NUMBER( '1E+100', '9EEEE' ) FROM DUAL;


TO_NUMBER( '1E+100', '9EEEE' )

------------------------------

1E+100


1 row selected.

12061 (SQLSTATE: 01S07): data is greater than 0, less than 2, and not equal to 1

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12062 (SQLSTATE: 22003): data is less than 0 or greater than or equal to 2

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12063 (SQLSTATE: 01S07): data value is a valid timestamp-value; time portion is nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12064 (SQLSTATE: 22018): data value is not a valid date-value or timestamp-value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12065 (SQLSTATE: 01S07): data value is a valid timestamp-value; fractional seconds portion is nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12066 (SQLSTATE: 22018): data value is not a valid time-value or timestamp-value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12067 (SQLSTATE: 22018): data value is not a valid date-value or time-value or timestamp-value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12068 (SQLSTATE: 01S07): data value is a valid interval value;truncation of one or more trailing fields

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12069 (SQLSTATE: 22015): data value is a valid interval; leading field significant precision is lost

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12070 (SQLSTATE: 22018): data value is not a valid interval value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12071 (SQLSTATE: 01004): number of whole digits is less than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12072 (SQLSTATE: 22003): number of whole digits is greater than buffer length

Cause

The number of numeric digits is bigger than the buffer size.


gSQL> SELECT CAST( 2.43e307D AS CHAR(8) ) FROM dual;


ERR-22003(12072): number of whole digits is greater than buffer length :


SELECT CAST( 2.43e307D AS CHAR(8) ) FROM dual

*

ERROR at line 1:

Action

Use the buffer size which can include the number of numeric digits.


gSQL> SELECT CAST( 2.43e307D AS CHAR(10) ) FROM dual;


CAST( 2.43E307D AS CHAR(10) )

-----------------------------

2.43E+307


1 row selected.

12073 (SQLSTATE: 01S07): data converted with truncation of fractional digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12074 (SQLSTATE: 22003): conversion of data would result in loss of whole digits

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12075 (SQLSTATE: 22003): data is outside the range of the data type to which the number is being converted

Cause

It is the number that is out of the data type range.


gSQL> SELECT CAST(40000 AS NATIVE_SMALLINT) FROM T1;


ERR-22003(12075): data is outside the range of the data type to which the number is being converted :


SELECT CAST(40000 AS NATIVE_SMALLINT) FROM T1

*

ERROR at line 1:

Action

Use the number within the data type range.


gSQL> SELECT CAST(30000 AS NATIVE_SMALLINT) FROM T1;


CAST(30000 AS NATIVE_SMALLINT)

------------------------------

30000


1 row selected.

12076 (SQLSTATE: 01S07): data is greater than 0, less than 2, and not equal to 1

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12077 (SQLSTATE: 22003): data is less than 0 or greater than or equal to 2

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12078 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

The data length is longer than the buffer length.


gSQL> SELECT CAST( 0.0000949525 AS CHAR( 10 ) ) from t1;


ERR-22003(12078): byte length of data is greater than buffer length :

SELECT CAST( 0.0000949525 AS CHAR( 10 ) ) from t1

*

ERROR at line 1:

Action

Use the buffer size that is bigger or the same size as the data length.


gSQL> SELECT CAST( 0.0000949525 AS CHAR( 11 ) ) from t1;


CAST( 0.0000949525 AS CHAR( 11 ) )

----------------------------------

.0000949525


1 row selected.

12079 (SQLSTATE: 01S07): fractional seconds portion truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12080 (SQLSTATE: 22015): whole part of number truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12081 (SQLSTATE: 22003): buffer length is less equal than 1

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12082 (SQLSTATE: 22003): buffer length is less than 1

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12083 (SQLSTATE: 01004): (byte length of data)/2 is greater equal than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12084 (SQLSTATE: 01004): (character length of data)/2 is greater equal than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12085 (SQLSTATE: 01004): byte length of data is greater than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12086 (SQLSTATE: 01004): buffer length is between %d and character byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12087 (SQLSTATE: 22003): buffer length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12088 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

When converting the datetime value to a string, the storage for the string is insufficient.

Action

If this error occurs, contact our customer service department.

12089 (SQLSTATE: 22003): buffer length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12090 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12091 (SQLSTATE: 01004): buffer length is between %d and character byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12092 (SQLSTATE: 22003): buffer length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12093 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12094 (SQLSTATE: 01004): buffer length is between %d and character byte length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12095 (SQLSTATE: 22003): buffer length is less than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12096 (SQLSTATE: 01004): buffer length is between %d and character length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12097 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12098 (SQLSTATE: 01S07): time portion of timestamp is nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12099 (SQLSTATE: 01S07): fractional seconds portion of timestamp is nonzero

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12100 (SQLSTATE: 01S07): fractional seconds portion of timestamp is truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12101 (SQLSTATE: 01S07): trailing fields portion truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12102 (SQLSTATE: 22015): leading precision of target is not big enough to hold data from source

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12103 (SQLSTATE: 22003): interval precision was a single field and truncated whole

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12104 (SQLSTATE: 22015): interval precision was not a single field

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12105 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12106 (SQLSTATE: 01004): number of whole digits is less than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12107 (SQLSTATE: 22003): number of whole digits is greater equal than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12108 (SQLSTATE: 01S07): trailing fields portion truncated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12109 (SQLSTATE: 22015): leading precision of target is not big enough to hold data from source

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12110 (SQLSTATE: 01S07): interval precision was a single field and truncated fractional

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12111 (SQLSTATE: 22003): interval precision was a single field and truncated whole

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12112 (SQLSTATE: 07006): interval precision was not a single field

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12113 (SQLSTATE: 22003): byte length of data is greater than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12114 (SQLSTATE: 01004): number of whole digits is less than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12115 (SQLSTATE: 22003): number of whole digits is greater equal than buffer length

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12116 (SQLSTATE: 22009): invalid time zone displacement value

Cause

The range of the TIME ZONE value is invalid.


gSQL> SELECT TIMESTAMP'2000-01-01 23:59:59.999999 +14:59' FROM dual;


ERR-22009(12116): invalid time zone displacement value :

SELECT TIMESTAMP'2000-01-01 23:59:59.999999 +14:59' FROM dual

*

ERROR at line 1:

Action

The range of the TIME ZONE value has to be '-14:00' ~ '+14:00'.


gSQL> SELECT TIMESTAMP'2000-01-01 23:59:59.999999 +09:00' FROM dual;


TIMESTAMP'2000-01-01 23:59:59.999999 +09:00'

--------------------------------------------

2000-01-01 23:59:59.999999 +09:00


1 row selected.

12117 (SQLSTATE: 42000): invalid number of arguments

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12118 (SQLSTATE: 42000): inconsistent datatype of function parameters: %s

Cause

The data type combination which can not be executed as a function argument was used.


gSQL> SELECT 4 * DATE'2024-01-01' FROM dual;


ERR-42000(12118): inconsistent datatype of function parameters: NUMBER, DATE :

SELECT 4 * DATE'2024-01-01' FROM dual

*

ERROR at line 1:

Action

Use the data type which can be used as a function argument.


gSQL> SELECT 4 + DATE'2024-01-01' FROM dual;


4 + DATE'2024-01-01'

--------------------

2024-01-05


1 row selected.

12119 (SQLSTATE: 42000): comparison is not applicable: %s and %s

Cause

The data type combination which can not be compared was used.


gSQL> SELECT 'OK' FROM dual WHERE 100 = DATE'2024-01-01';


ERR-42000(12119): comparison is not applicable: NUMBER and DATE :

SELECT 'OK' FROM dual WHERE 100 = DATE'2024-01-01'

*

ERROR at line 1:

Action

Use the data type combination which can be compared.


gSQL> SELECT 'OK' FROM dual WHERE 100 = INTERVAL '10' YEAR;


no rows selected.

12120 (SQLSTATE: 42000): conversion is not applicable: from %s to %s

Cause

It is the data type which can not be converted.


gSQL> SELECT CAST( 100 AS BOOLEAN ) FROM dual;


ERR-42000(12120): conversion is not applicable: from NUMBER to BOOLEAN :

SELECT CAST( 100 AS BOOLEAN ) FROM dual

*

ERROR at line 1:

Action

Use the convertible data type.


gSQL> SELECT CAST( 'TRUE' AS BOOLEAN ) FROM dual;


CAST( 'TRUE' AS BOOLEAN )

-------------------------

TRUE


1 row selected.

12121 (SQLSTATE: 22021): invalid character value in characterset repertoire

Cause

It is required to check if the character belongs to the specified character set, which does not apply.

Action

Check if the character belongs to the specified character set.

12122 (SQLSTATE: 22012): divisor is equal to zero

Cause

The value 0 was used as the denominator.


gSQL> SELECT 5 / 0 FROM dual;


ERR-22012(12122): divisor is equal to zero :

SELECT 5 / 0 FROM dual

*

ERROR at line 1:

Action

Do not use 0 as the denominator when executing division operation.

12123 (SQLSTATE: 22018): data is not boolean literal

Cause

It is the string which can not be converted to boolean type.


gSQL> SELECT CAST( 'a' AS BOOLEAN ) FROM dual;


ERR-22018(12123): data is not boolean literal :

SELECT CAST( 'a' AS BOOLEAN ) FROM dual

*

ERROR at line 1:

Action

Use the string that can be converted to boolean type such as TRUE, FALSE.


gSQL> SELECT CAST( 'TRUE' AS BOOLEAN ) FROM dual;


CAST( 'TRUE' AS BOOLEAN )

-------------------------

TRUE


1 row selected.

12124 (SQLSTATE: HY000): invalid argument for factorial function

Cause

It is the value that can not be used as an argument for FACTORIAL() function.


gSQL> SELECT factorial(0.6) FROM dual;


ERR-HY000(12124): invalid argument for factorial function :

SELECT factorial(0.6) FROM dual

*

ERROR at line 1:

Action

Use an integer value as follows.


gSQL> SELECT factorial(5) FROM dual;


FACTORIAL(5)

------------

120


1 row selected.

12125 (SQLSTATE: 22027): trim set should have only one character

Cause

Only one character is allowed for the trim set.


gSQL> SELECT TRIM( BOTH 'ab' FROM 'abca' ) FROM dual;


ERR-22027(12125): trim set should have only one character :

SELECT TRIM( BOTH 'ab' FROM 'abca' ) FROM dual

*

ERROR at line 1:

Action

Describe only one character in the trim set as follows.


gSQL> SELECT TRIM( BOTH 'a' FROM 'abca' ) FROM dual;


TRIM( BOTH 'a' FROM 'abca' )

----------------------------

bc


1 row selected.

12126 (SQLSTATE: 22008): datetime field overflow

Cause

It is out of datetime value range.


gSQL> SELECT DATEADD( YEAR, 7999, DATE'2001-01-01' ) FROM DUAL;


ERR-22008(12126): datetime field overflow :

SELECT DATEADD( YEAR, 7999, DATE'2001-01-01' ) FROM DUAL

*

ERROR at line 1:

Action

The operation must not exceed the datetime value range.


gSQL> SELECT DATEADD( YEAR, 7998, DATE'2001-01-01' ) FROM DUAL;


DATEADD( YEAR, 7998, DATE'2001-01-01' )

---------------------------------------

9999-01-01

1 row selected.

12127 (SQLSTATE: HY000): invalid ROWID

Cause

ROWID which can not exist was used.


gSQL> CREATE TABLE t1 ( c1 ROWID );


Table created.


gSQL> INSERT INTO T1 VALUES ( '*-ADuwAAAAAAACAAAAAiAAC' );


ERR-HY000(12127): invalid ROWID :

INSERT INTO T1 VALUES ( '*-ADuwAAAAAAACAAAAAiAAC' )

*

ERROR at line 1:

Action

Input ROWID value that exists.


gSQL> INSERT INTO t1 SELECT t2.ROWID FROM t2;


1 row created.

12128 (SQLSTATE: 22019): invalid escape character

Cause

The escape is wrongly used.


gSQL> SELECT c1 FROM t1 WHERE c1 LIKE '____%' ESCAPE '__';


ERR-22019(12128): invalid escape character :

SELECT c1 FROM t1 WHERE c1 LIKE '____%' ESCAPE '__'

*

ERROR at line 1:

Action

gSQL> SELECT c1 FROM t1 WHERE c1 LIKE '____%' ESCAPE '_';


C1

---------

____%____

____A____


2 rows selected.

12129 (SQLSTATE: HY000): invalid character set identifier

Cause

When specifying the character set or the host variable related to the language while creating DB, the character set that was not supported was specified by the server.

Action

The server supports the character set such as SQL_ASCII, UTF8, UHC, GB18030.

12130 (SQLSTATE: HY000): invalid extract field for extract source

Cause

The field to extract does not exist.


gSQL> SELECT c1, EXTRACT( YEAR FROM c1 ) FROM t1;


ERR-HY000(12130): invalid extract field for extract source :

SELECT c1, EXTRACT( YEAR FROM c1 ) FROM t1

*

ERROR at line 1:

Action

Use the field which can be extracted as follows.


gSQL> SELECT c1, EXTRACT( HOUR FROM c1 ) FROM t1;


C1 EXTRACT( HOUR FROM C1 )

--------------- -----------------------

18:18:25.868024 18


1 row selected.

12131 (SQLSTATE: 42000): inconsistent datatypes: argument[%d] expected %s

Cause

A non-comparable data type was used.


gSQL> SELECT GREATEST( DATE'2024-03-31', 8080 ) FROM dual;


ERR-42000(12131): inconsistent datatypes: argument[2] expected DATE :

SELECT GREATEST( DATE'2024-03-31', 8080 ) FROM dual

*

ERROR at line 1:

Action

Use the identical data type as follows.


gSQL> SELECT GREATEST( DATE'2024-03-31', DATE'2024-04-01' ) FROM dual;


GREATEST( DATE'2024-03-31', DATE'2024-04-01' )

----------------------------------------------

2024-04-01


1 row selected.

12132 (SQLSTATE: HY000): date format value exceeds maximum length (%d)

Cause

It exceeded the maximum length of the date format.


gSQL>

SELECT TO_CHAR( DATE'1999-01-01'

, 'YYYY/1234567890123456789012345678901234567890/MM/1234567890123456789012345678901234567890/DD' )

FROM DUAL;


ERR-HY000(12132): date format value exceeds maximum length (80) :

SELECT TO_CHAR( DATE'1999-01-01'

*

ERROR at line 1:

Action

Decrease the length of the date format as follows.


gSQL>

SELECT TO_CHAR( DATE'1999-01-01'

, 'YYYY / MM / DD' )

FROM DUAL;


TO_CHAR( DATE'1999-01-01'

-------------------------

1999 / 01 / 01


1 row selected.

12133 (SQLSTATE: HY000): date format not recognized

Cause

An invalid date format was used.


gSQL>

SELECT TO_CHAR( DATE'1999-01-01', 'YYYY/FF/DD' ) FROM dual;


ERR-HY000(12133): date format not recognized :

SELECT TO_CHAR( DATE'1999-01-01', 'YYYY/FF/DD' ) FROM dual

*

ERROR at line 1:

Action

Use the valid date format as follows.


gSQL>

SELECT TO_CHAR( DATE'1999-01-01', 'YYYY/MM/DD' ) FROM dual;


TO_CHAR( DATE'1999-01-01', 'YYYY/MM/DD' )

-----------------------------------------

1999/01/01


1 row selected.

12134 (SQLSTATE: HY000): format code appears twice

Cause

The identical format code was used twice.


gSQL>

SELECT TO_DATE( '1999-01-01', 'YYYY-DD-DD' ) FROM dual;


ERR-HY000(12134): format code appears twice :

SELECT TO_DATE( '1999-01-01', 'YYYY-DD-DD' ) FROM dual

*

ERROR at line 1:

Action

Use the valid date format as follows.


gSQL>

SELECT TO_DATE( '1999-01-01', 'YYYY-MM-DD' ) FROM dual;


TO_DATE( '1999-01-01', 'YYYY-MM-DD' )

-------------------------------------

1999-01-01


1 row selected.

12135 (SQLSTATE: HY000): %s conflicts with %s

Cause

The date information about the input string is wrong.


gSQL> SELECT TO_DATE( '2024-02-28 SUNDAY', 'YYYY-MM-DD DAY' ) FROM dual;


ERR-HY000(12135): day of week conflicts with Julian date :

SELECT TO_DATE( '2024-02-28 SUNDAY', 'YYYY-MM-DD DAY' ) FROM dual

*

ERROR at line 1:

Action

Describe the input string about the correct date information.


gSQL> SELECT TO_DATE( '2024-02-28 WEDNESDAY', 'YYYY-MM-DD DAY' ) FROM dual;


TO_DATE( '2024-02-28 wednesday', 'yyyy-mm-dd day' )

---------------------------------------------------

2024-02-28


1 row selected.

12136 (SQLSTATE: HY000): literal does not match format string

Cause

The string is not appropriate for the format string.


gSQL>

SELECT DATE'2024' FROM dual;


ERR-HY000(12136): literal does not match format string :

SELECT DATE'2024' FROM dual

*

ERROR at line 1:

Action

Use the valid string as follows.


gSQL>

SELECT DATE'2024-02-28' FROM dual;


DATE'2024-02-28'

----------------

2024-02-28


1 row selected.

12137 (SQLSTATE: HY000): input value not long enough for date format

Cause

The length of the input value is smaller than the date format.


gSQL>

SELECT CAST( '2024' AS DATE ) AS result FROM dual;


ERR-HY000(12137): input value not long enough for date format :

SELECT CAST( '2024' AS DATE ) AS result FROM dual

*

ERROR at line 1:

Action

Use the input value that is appropriate for the date format as follows.


gSQL>

SELECT CAST( '2024-03-01' AS DATE ) AS result FROM dual;


RESULT

----------

2024-03-01


1 row selected.

12138 (SQLSTATE: HY000): date format picture ends before converting entire input string

Cause

The date format is smaller than the input value.


gSQL> SELECT TO_DATE ( '2000', 'YYY' ) FROM dual;


ERR-HY000(12138): date format picture ends before converting entire input string :

SELECT TO_DATE ( '2000', 'YYY' ) FROM dual

*

ERROR at line 1:

Action

Use the date format which can interpret the input value as follows.


gSQL> SELECT TO_DATE ( '2000', 'YYYY' ) FROM dual;


TO_DATE ( '2000', 'YYYY' )

--------------------------

2000-01-01


1 row selected.

12139 (SQLSTATE: HY000): year must be between %s and %s, and not be 0

Cause

The year does not exist.


gSQL> SELECT TO_DATE ( '0', 'YYYY' ) FROM dual;


ERR-HY000(12139): year must be between 4714 BC and 9999 AD, and not be 0 :

SELECT TO_DATE ( '0', 'YYYY' ) FROM dual

*

ERROR at line 1:

Action

Use the year within the valid range.


gSQL> SELECT TO_DATE ( '1', 'YYYY' ) FROM dual;


TO_DATE ( '1', 'YYYY' )

-----------------------

0001-01-01


1 row selected.

12140 (SQLSTATE: 2200C): missing or illegal character following the escape character

Cause

'_' or '%' must be described after the escape character.


gSQL> SELECT c1 FROM t1 WHERE c1 LIKE '_A%' ESCAPE '_';


ERR-2200C(12140): missing or illegal character following the escape character :

SELECT c1 FROM t1 WHERE c1 LIKE '_A%' ESCAPE '_'

*

ERROR at line 1:

Action

Describe the specified escape character before '_' or '%' of the pattern.


gSQL> SELECT c1 FROM t1 WHERE c1 LIKE '__A%' ESCAPE '_';


C1

----

_ABC


1 row selected.

12141 (SQLSTATE: HY000): not a valid month

Cause

The input value does not correspond to a month.


gSQL> SELECT TO_DATE( '13', 'MM' ) FROM DUAL;


ERR-HY000(12141): not a valid month :

SELECT TO_DATE( '13', 'MM' ) FROM DUAL

*

ERROR at line 1:

Action

Use the valid value corresponding to a month.


gSQL> SELECT TO_DATE( '12', 'MM' ) FROM DUAL;


TO_DATE( '12', 'MM' )

---------------------

2024-12-01


1 row selected.

12142 (SQLSTATE: HY000): a non-numeric character was found where a numeric was expected

Cause

The character which can not be converted to numbers was used.


gSQL> SELECT CAST( 'ABC' AS DATE ) FROM dual;


ERR-HY000(12142): a non-numeric character was found where a numeric was expected :

SELECT CAST( 'ABC' AS DATE ) FROM dual

*

ERROR at line 1:

Action

Use the string consisting of numbers that are appropriate for the data type as follows.


gSQL> SELECT CAST( '2024-01-01' AS DATE ) FROM dual;


CAST( '2024-01-01' AS DATE )

----------------------------

2024-01-01


1 row selected.

12143 (SQLSTATE: HY000): day of month must be between 1 and last day of month

Cause

The value which can not be used as a date was used.


gSQL> INSERT INTO t1 VALUES ( '2024-02-00' );


ERR-HY000(12143): day of month must be between 1 and last day of month :

INSERT INTO t1 VALUES ( '2024-02-00' )

*

ERROR at line 1:

Action

Input the valid day of the month as follows.


gSQL> INSERT INTO t1 VALUES ( '2024-02-01' );


1 row created.

12144 (SQLSTATE: HY000): not a valid day of the week

Cause

The input day of the week value is wrong.


gSQL> SELECT NEXT_DAY( DATE'2017-05-31', '3' ) FROM dual;


ERR-HY000(12144): not a valid day of the week :

SELECT NEXT_DAY( DATE'2017-05-31', '3' ) FROM dual

*

ERROR at line 1:

Action

Describe the day of the week as follows, or use numbers.


gSQL> SELECT NEXT_DAY( DATE'2017-05-31', 'TUESDAY' ) FROM dual;


NEXT_DAY( DATE'2017-05-31', 'TUESDAY' )

---------------------------------------

2017-06-06


1 row selected.


gSQL> SELECT NEXT_DAY( DATE'2017-05-31', 3 ) FROM dual;


NEXT_DAY( DATE'2017-05-31', 3 )

-------------------------------

2017-06-06


1 row selected.

12145 (SQLSTATE: HY000): day of year must be between 1 and 365 (366 for leap year)

Cause

The number of the days value exceeding the range of the year was used.


gSQL> SELECT TO_DATE( '2024 367', 'YYYY DDD' ) FROM DUAL;


ERR-HY000(12145): day of year must be between 1 and 365 (366 for leap year) :

SELECT TO_DATE( '2024 367', 'YYYY DDD' ) FROM DUAL

*

ERROR at line 1:

Action

Use the number of the days value within the range of the year.


gSQL> SELECT TO_DATE( '2024 365', 'YYYY DDD' ) FROM DUAL;


TO_DATE( '2024 365', 'YYYY DDD' )

---------------------------------

2024-12-30


1 row selected.

12146 (SQLSTATE: HY000): format code cannot appear in date input format

Cause

The format element which was not allowed for to_datetime function was used.


gSQL> SELECT TO_DATE( '1999-01-01', 'CC' ) FROM dual;


ERR-HY000(12146): format code cannot appear in date input format :

SELECT TO_DATE( '1999-01-01', 'CC' ) FROM dual

*

ERROR at line 1:

Action

Use the format element which is allowed for to_datetime function.


gSQL> SELECT TO_DATE( '2000-01-01', 'YYYY-MM-DD' ) FROM dual;


TO_DATE( '2000-01-01', 'YYYY-MM-DD' )

------------------------------------

2000-01-01


1 row selected.


  • Get the value for the format element by using to_char function.


gSQL> SELECT c1, TO_CHAR( c1, 'CC' ) FROM t1;


C1 TO_CHAR( C1, 'CC' )

-------------- -------------------

2000-01-01 20


1 row selected.

12147 (SQLSTATE: HY000): BC/B.C. or AD/A.D. required

Cause

The input string is not same as BC/B.C. or AD/A.D. format element.


gSQL> SELECT TO_DATE( '2000-01-01 A', 'YYYY-MM-DD AD' ) FROM DUAL;


ERR-HY000(12147): BC/B.C. or AD/A.D. required :

SELECT TO_DATE( '2000-01-01 A', 'YYYY-MM-DD AD' ) FROM DUAL

*

ERROR at line 1:

Action

Describe the input string which is same as BC/B.C. or AD/A.D. format element


gSQL> SELECT TO_DATE( '2000-01-01 AD', 'YYYY-MM-DD AD' ) FROM DUAL;


TO_DATE( '2000-01-01 AD', 'YYYY-MM-DD AD' )

-------------------------------------------

2000-01-01


1 row selected.

12148 (SQLSTATE: HY000): julian date must be between 0 and 5373484

Cause

It is not a valid date which can be expressed in format element J.


gSQL> SELECT TO_DATE( ' 5373485 ', 'J' ) FROM DUAL;


ERR-HY000(12148): julian date must be between 0 and 5373484 :

SELECT TO_DATE( ' 5373485 ', 'J' ) FROM DUAL

*

ERROR at line 1:

Action

Specify the valid value that can be expressed in format element J.

( BC 4714-11-24 ( 0 ) ~ 9999-12-31 ( 5373484 ) )


gSQL> SELECT TO_DATE( ' 5373484 ', 'J' ) FROM DUAL;


TO_DATE( ' 5373484 ', 'J' )

---------------------------

9999-12-31


1 row selected.

12149 (SQLSTATE: HY000): %s may only be specified once

Cause

The identical hour format code was used twice.


gSQL> SELECT TO_TIME( '11:22:33', 'HH:MI:HH24' ) FROM DUAL;


ERR-HY000(12149): hour may only be specified once :

SELECT TO_TIME( '11:22:33', 'HH:MI:HH24' ) FROM DUAL

*

ERROR at line 1:

Action

Use the correct format code as follows.


gSQL> SELECT TO_TIME( '11:22:33', 'HH:MI:SS' ) FROM DUAL;


TO_TIME( '11:22:33', 'HH:MI:SS' )

---------------------------------

11:22:33.000000


1 row selected.

12150 (SQLSTATE: HY000): Julian date precludes use of day of year

Cause

J and DDD can not be used together as a format element.


gSQL> SELECT TO_DATE( '2456653 360', 'J DDD' ) FROM DUAL;


ERR-HY000(12150): Julian date precludes use of day of year :

SELECT TO_DATE( '2456653 360', 'J DDD' ) FROM DUAL

*

ERROR at line 1:

Action

Delete J or DDD from the format element.


gSQL> SELECT TO_DATE( '2456653', 'J' ) FROM DUAL;


TO_DATE( '2456653', 'J' )

-------------------------

2013-12-26


1 row selected.


gSQL> SELECT TO_DATE( '360', 'DDD' ) FROM DUAL;


TO_DATE( '360', 'DDD' )

-----------------------

2024-12-25


1 row selected.

12151 (SQLSTATE: HY000): Not enough format info buffer

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12152 (SQLSTATE: HY000): hour must be between %d and %d

Cause

The time value should be between 0 ~ 23.


gSQL> SELECT TIME '25:10:10.000000' FROM DUAL;


ERR-HY000(12152): hour must be between 0 and 23 :

SELECT TIME '25:10:10.000000' FROM DUAL

*

ERROR at line 1:

Action

Use the value between 0 ~ 23 as follows.


gSQL> SELECT TIME '23:10:10.000000' FROM DUAL;


TIME '23:10:10.000000'

----------------------

23:10:10.000000


1 row selected.

12153 (SQLSTATE: HY000): minute must be between 0 and 59

Cause

The minute value should be between 0 ~ 59.


gSQL> SELECT TIME '10:60:00.000000' FROM DUAL;


ERR-HY000(12153): minute must be between 0 and 59 :

SELECT TIME '10:60:00.000000' FROM DUAL

*

ERROR at line 1:

Action

Use the value between 0 ~ 59 as follows.


gSQL> SELECT TIME '11:00:00.000000' FROM DUAL;


TIME '11:00:00.000000'

----------------------

11:00:00.000000


1 row selected.

12154 (SQLSTATE: HY000): second must be between 0 and 59

Cause

The second value should be between 0 ~ 59.


gSQL> SELECT TIME '10:00:60.000000' FROM DUAL;


ERR-HY000(12154): second must be between 0 and 59 :

SELECT TIME '10:00:60.000000' FROM DUAL

*

ERROR at line 1:

Action

Use the value between 0 ~ 59 as follows.


gSQL> SELECT TIME '10:01:00.000000' FROM DUAL;


TIME '10:01:00.000000'

----------------------

10:01:00.000000


1 row selected.

12155 (SQLSTATE: HY000): the fractional seconds must be between 0 and 999999

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12156 (SQLSTATE: HY000): time zone hour must be between -14 and 14

Cause

The time value of the time zone should be between -14 ~ 14.


gSQL> SELECT TIME WITH TIME ZONE '12:23:34.567 +24:00' FROM DUAL;


ERR-HY000(12156): time zone hour must be between -14 and 14 :

SELECT TIME WITH TIME ZONE '12:23:34.567 +24:00' FROM DUAL

*

ERROR at line 1:

Action

Use the value between -14 ~ 14 as follows.


gSQL> SELECT TIME WITH TIME ZONE '12:23:34.567 +09:00' FROM DUAL;


TIME WITH TIME ZONE '12:23:34.567 +09:00'

-----------------------------------------

12:23:34.567000 +09:00


1 row selected.

12157 (SQLSTATE: HY000): time zone minute must be between 0 and 59

Cause

The minute value of the time zone should be between 0 ~ 59.


gSQL> SELECT TIME WITH TIME ZONE '12:23:34.567 +09:99' FROM DUAL;


ERR-HY000(12157): time zone minute must be between 0 and 59 :

SELECT TIME WITH TIME ZONE '12:23:34.567 +09:99' FROM DUAL

*

ERROR at line 1:

Action

Use the value between 0 ~ 59 as follows.


gSQL> SELECT TIME WITH TIME ZONE '12:23:34.567 +09:00' FROM DUAL;


TIME WITH TIME ZONE '12:23:34.567 +09:00'

-----------------------------------------

12:23:34.567000 +09:00


1 row selected.

12158 (SQLSTATE: HY000): seconds in day must be between 0 and 86399

Cause

The second value in a day should be between 0 ~ 86399.


gSQL> SELECT TO_TIME( '86400', 'SSSSS' ) FROM DUAL;


ERR-HY000(12158): seconds in day must be between 0 and 86399 :

SELECT TO_TIME( '86400', 'SSSSS' ) FROM DUAL

*

ERROR at line 1:

Action

Use the value between 0 ~ 86399 as follows.


gSQL> SELECT TO_TIME( '3600', 'SSSSS' ) FROM DUAL;


TO_TIME( '3600', 'SSSSS' )

--------------------------

01:00:00.000000


1 row selected.

12159 (SQLSTATE: HY000): AM/A.M. or PM/P.M. required

Cause

It is not the input string which is same as AM/A.M. or PM/P.M. format element.


gSQL> SELECT TO_TIMESTAMP( '2014-07-10 10:00:00 A.M.', 'YYYY-MM-DD HH12:MI:SS AM' ) FROM DUAL;


ERR-HY000(12159): AM/A.M. or PM/P.M. required :

SELECT TO_TIMESTAMP( '2014-07-10 10:00:00 A.M.', 'YYYY-MM-DD HH12:MI:SS AM' ) FROM DUAL

*

ERROR at line 1:

Action

Describe the input string which is same as AM/A.M. or PM/P.M. format element.


gSQL> SELECT TO_TIMESTAMP( '2014-07-10 10:00:00 AM', 'YYYY-MM-DD HH12:MI:SS AM' ) FROM DUAL;


TO_TIMESTAMP( '2014-07-10 10:00:00 AM', 'YYYY-MM-DD HH12:MI:SS AM' )

--------------------------------------------------------------------

2014-07-10 10:00:00.000000


1 row selected.

12160 (SQLSTATE: HY000): HH24 precludes use of meridian indicator

Cause

HH24 and (AM/PM) can not be used together.


gSQL> SELECT TO_TIME( '12:59:59.999999 AM', 'HH24:MI:SS.FF6 AM' ) FROM DUAL;


ERR-HY000(12160): HH24 precludes use of meridian indicator :

SELECT TO_TIME( '12:59:59.999999 AM', 'HH24:MI:SS.FF6 AM' ) FROM DUAL

*


ERROR at line 1:

Action

Do not use (AM/PM) as follows.


gSQL> SELECT TO_TIME( '12:59:59.999999', 'HH24:MI:SS.FF6' ) FROM DUAL


TO_TIME( '12:59:59.999999', 'HH24:MI:SS.FF6' )

----------------------------------------------

12:59:59.999999


1 row selected.

12161 (SQLSTATE: HY000): %s conflicts with use of %s

Cause

The datetime format elements can not be mixed.

For example, AM/PM and A.M./P.M. can not be used together.


gSQL> SELECT TO_TIMESTAMP( '2000-01-01 11:22:33 A.M. AM', 'YYYY-MM-DD HH:MI:SS A.M. AM' ) FROM DUAL;


ERR-HY000(12161): AM/PM conflicts with use of A.M./P.M. :

SELECT TO_TIMESTAMP( '2000-01-01 11:22:33 A.M. AM', 'YYYY-MM-DD HH:MI:SS A.M. AM' ) FROM DUAL

*

ERROR at line 1:

Action

Use the valid datetime format as follows.


gSQL> SELECT TO_TIMESTAMP( '2000-01-01 11:22:33 A.M.', 'YYYY-MM-DD HH:MI:SS A.M.' ) FROM DUAL;


TO_TIMESTAMP( '2000-01-01 11:22:33 A.M.', 'YYYY-MM-DD HH:MI:SS A.M.' )

----------------------------------------------------------------------

2000-01-01 11:22:33.000000


1 row selected.

12162 (SQLSTATE: HY000): invalid XID string

Cause

xid of the target xa transaction to execute in-doubt commit/rollback is invalid..


gSQL> COMMIT FORCE '0.';


ERR-HY000(16259): the XID string is not valid:

COMMIT FORCE '0.'

*

ERROR at line 1:

ERR-HY000(12162): invalid XID string


gSQL> ROLLBACK FORCE '0.';


ERR-HY000(16259): the XID string is not valid:

ROLLBACK FORCE '0.'

*

ERROR at line 1:


ERR-HY000(12162): invalid XID string

Action

Check xa transaction to execute commit/rollback by viewing V$XA_TRANSACTION (V$XA_TRANSACTION).

12163 (SQLSTATE: HY000): date not valid for month specified

Cause

The date which can not exist in November was used.


gSQL> SELECT TO_DATE( '2011-11-31' ) FROM DUAL;


ERR-HY000(12163): date not valid for month specified :

SELECT TO_DATE( '2011-11-31' ) FROM DUAL

*


ERROR at line 1:

Action

Use the date which exists in the corresponding month.


gSQL> SELECT TO_DATE( '2011-11-30' ) FROM DUAL;


TO_DATE( '2011-11-30' )

-----------------------

2011-11-30


1 row selected.

12164 (SQLSTATE: HY000): signed year precludes use of BC/AD

Cause

SYYYY and BC/AD can not be used together.


gSQL> SELECT TO_DATE( '2013-09-24 AD', 'SYYYY-MM-DD AD' ) FROM DUAL;


ERR-HY000(12164): signed year precludes use of BC/AD :

SELECT TO_DATE( '2013-09-24 AD', 'SYYYY-MM-DD AD' ) FROM DUAL

*

ERROR at line 1:

Action

Do not use SYYYY and BC/AD together as follows.


gSQL> SELECT TO_DATE( '2013-09-24', 'SYYYY-MM-DD' ) FROM DUAL;


TO_DATE( '2013-09-24', 'SYYYY-MM-DD' )

--------------------------------------

2013-09-24


1 row selected.

12165 (SQLSTATE: HY000): number format value exceeds maximum length (%d)

Cause

The format string length exceeds the maximum length.


gSQL> SELECT TO_CHAR( c1, 'FM99999999999999999999999999999999999999999999999999999999999999999999999' ) FROM t1;


ERR-HY000(12165): number format value exceeds maximum length (64) :

SELECT TO_CHAR( c1, 'FM99999999999999999999999999999999999999999999999999999999999999999999999' ) FROM t1

*

ERROR at line 1:

Action

Set the format string length within the maximum length.


gSQL> SELECT TO_CHAR( c1, 'FM999999' ) FROM t1;


TO_CHAR( C1, 'FM999999' )

-------------------------

123

99999


2 rows selected.

12166 (SQLSTATE: HY000): invalid number format model

Cause

The format which can not be converted to a number was used.


gSQL> SELECT TO_NUMBER( '12345 ', '99999 ' ) FROM DUAL;


ERR-HY000(12166): invalid number format model :

SELECT TO_NUMBER( '12345 ', '99999 ' ) FROM DUAL

*


ERROR at line 1:

Action

Remove the white space as follows.


gSQL> SELECT TO_NUMBER( '12345', '99999' ) FROM DUAL;


TO_NUMBER( '12345', '99999' )

-----------------------------

12345


1 row selected.

12167 (SQLSTATE: HY000): cannot use %s twice

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12168 (SQLSTATE: HY000): cannot use %s and %s together

Cause

Some number format elements can not be mixed.


gSQL> SELECT TO_CHAR( -12, 'S999MI' ) FROM DUAL;


ERR-HY000(12168): cannot use MI and S PR together :

SELECT TO_CHAR( -12, 'S999MI' ) FROM DUAL

*

ERROR at line 1:

Action

Describe the number format element independently.


gSQL> SELECT TO_CHAR( -12, 'S999' ) FROM DUAL;


TO_CHAR( -12, 'S999' )

----------------------

-12


1 row selected.


gSQL> SELECT TO_CHAR( -12, '999MI' ) FROM DUAL;


TO_CHAR( -12, '999MI' )

-----------------------

12-


1 row selected.

12169 (SQLSTATE: 22001): string data, right truncation

Cause

deprecated

Action

If this error occurs, contact our customer service department.

12170 (SQLSTATE: HY000): argument '%d' is out of range

Cause

The argument value of INSTR() function is wrong.


gSQL> SELECT INSTR( 'AB AB AB AB', 'AB', 1, -1 ) FROM t1;


ERR-HY000(12170): argument '-1' is out of range :

SELECT INSTR( 'AB AB AB AB', 'AB', 1, -1 ) FROM t1

*

ERROR at line 1:

Action

The fourth argument of INSTR() function should be an integer 1 or bigger.


gSQL> SELECT INSTR( 'AB AB AB AB', 'AB', 1, 3 ) FROM t1;


INSTR( 'AB AB AB AB', 'AB', 1, 3 )

----------------------------------

7


1 row selected.

12171 (SQLSTATE: HY000): invalid datepart for data type %s

Cause

datepart (DAY) which can not be applied to the data type was used.


gSQL> SELECT DATEADD( DAY, 1, TIME'11:22:33.123456' ) FROM DUAL;


ERR-HY000(12171): invalid datepart for data type TIME WITHOUT TIME ZONE :

SELECT DATEADD( DAY, 1, TIME'11:22:33.123456' ) FROM DUAL

*

ERROR at line 1:

Action

Use datepart (HOUR) which can be applied to the data type as follows.


gSQL> SELECT DATEADD( HOUR, 1, TIME'11:22:33.123456' ) FROM DUAL;


DATEADD( HOUR, 1, TIME'11:22:33.123456' )

-----------------------------------------

12:22:33.123456


1 row selected.

12172 (SQLSTATE: 42000): maximum number of arguments exceeded

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12173 (SQLSTATE: 42000): invalid char length units(%s): use OCTETS or CHARACTERS

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12174 (SQLSTATE: 22023): The argument of %s function is invalid

Cause

The argument value of the function is wrong.


gSQL> SELECT LOG(0) FROM dual;


ERR-22023(12174): The argument of LOG function is invalid :

SELECT LOG(0) FROM dual

*

ERROR at line 1:

Action

The argument of the function should be a positive number.


gSQL> SELECT LOG(100) FROM dual;


LOG(100)

--------

2


1 row selected.

12175 (SQLSTATE: 22023): The argument [%d] of %s function is invalid

Cause

The argument value of the function is wrong.


gSQL> SELECT LOG(0, 4) FROM dual;


ERR-22023(12175): The argument [1] of LOG function is invalid :

SELECT LOG(0, 4) FROM dual

*

ERROR at line 1:

Action

Use the valid argument value of the function as follows.


gSQL> SELECT LOG(2, 4) FROM dual;


LOG(2, 4)

---------

2


1 row selected.

12176 (SQLSTATE: HY000): internal error, in a function %s

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12177 (SQLSTATE: HY000): not supported data type ( %s )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12178 (SQLSTATE: HY000): data type specifier is out of range ( type : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12179 (SQLSTATE: HY000): precision specifier is out of range( type : %s, precision : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12180 (SQLSTATE: HY000): leading precision specifier is out of range( type : %s, precision : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12181 (SQLSTATE: HY000): scale specifier is out of range( type : %s, scale : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12182 (SQLSTATE: HY000): fractional second precision specifier is out of range( type : %s, precision : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12183 (SQLSTATE: HY000): character length unit specifier is out of range( type : %s, character length unit : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12184 (SQLSTATE: HY000): interval indicator specifier is out of range( type : %s, indicator : %d, range : %d to %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

12185 (SQLSTATE: 42000): %s and %s cannot be matched

Cause

The type which can not be used together was used.


gSQL>

SELECT 'A' FROM dual

UNION ALL

SELECT 1 FROM dual

;


ERR-42000(12185): CHAR and NUMBER cannot be matched :


SELECT 'A' FROM dual

*

ERROR at line 1:

Action

Use the type which can be used together as follows.


gSQL>

SELECT 'A' FROM dual

UNION ALL

SELECT '1' FROM dual

;


'A'

---

A

1


2 rows selected.

12186 (SQLSTATE: 0A000): not supported function %s

Cause

Number can not be used as an argument of HEX() function.


gSQL> SELECT HEX( 123 ) FROM dual;


ERR-0A000(12186): not supported function argument numeric types : Use to_char(num, 'XXXX') instead of hex(num) :

SELECT HEX( 123 ) FROM dual

*

ERROR at line 1:

Action

Use TO_CHAR( number, 'XXXX' ) function.


gSQL> SELECT TO_CHAR( 123, 'XXXX' ) FROM dual;


TO_CHAR( 123, 'XXXX' )

----------------------

7B


1 row selected.

12187 (SQLSTATE: 39000): failed to open customer built-in function library (%s)

Cause

--# result: failed to open library

SELECT MOJ_MATCH_FP( X'111111', X'AABBCCDDEEFF' ) FROM DUAL;


ERR-39000(12187): failed to open customer built-in function library ($GOLDILOCKS_HOME/lib/libMojMatchFP.so) :

SELECT MOJ_MATCH_FP( X'111111', X'AABBCCDDEEFF' ) FROM DUAL

*

ERROR at line 1:

Action

The function can be performed only when a specific library exists.

12188 (SQLSTATE: 42000): window frame offset must not be null

Cause

NULL value can not be used as a window frame offset.

gSQL>

SELECT c1

, MIN(c1) OVER ( ORDER BY c1

RANGE NULL PRECEDING ) min_value

FROM t1;


ERR-42000(12188): window frame offset must not be null :

RANGE NULL PRECEDING )

*

ERROR at line 3:

Action

Use numbers such as RANGE 2 PRECEDING as follows.


gSQL>


SELECT c1

, MIN(c1) OVER ( ORDER BY c1

RANGE 2 PRECEDING ) min_value

FROM t1;


C1 MIN_VALUE

-----------

1 1

2 1

3 1

4 2

5 3


5 rows selected.

12189 (SQLSTATE: 42000): window frame offset must not be negative

Cause

A negative number can not be used as a window frame offset.


gSQL>

SELECT c1

, MIN(c1) OVER ( ORDER BY c1

RANGE -2 PRECEDING ) min_value

FROM t1;


ERR-42000(12189): window frame offset must not be negative :

RANGE -2 PRECEDING ) min_value

*

ERROR at line 3:

Action

Use positive numbers such as RANGE 2 PRECEDING as follows.


gSQL>

SELECT c1

, MIN(c1) OVER ( ORDER BY c1

RANGE 2 PRECEDING ) min_value

FROM t1;


C1 MIN_VALUE

------------

1 1

2 1

3 1

4 2

5 3


5 rows selected.

Resource Management Related Error

13000 (SQLSTATE: HY000): Failed to initialize kernel layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13001 (SQLSTATE: HY000): kernel layer is not initialized yet

Cause

The database has not been fully initialized.

Action

Retry the operation after the initialization is complete.

13002 (SQLSTATE: HY000): Invalid argument

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

13003 (SQLSTATE: HY000): Invalid shared memory segment type

Cause

An incorrect shared memory type was specified.

Action

If this error occurs, contact our customer service department.

13004 (SQLSTATE: HY000): static shared memory segment is corrupted

Cause

The shared memory segment is corrupted.

Action

Shut down the system properly and restart the database.

13005 (SQLSTATE: HY000): maximum number of shared memory segment num exceeded

Cause

Too many shared memory segments have been created.

Action

Increase the system's shared memory limits.

13006 (SQLSTATE: HY000): kernel layer internal error - %s

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

13007 (SQLSTATE: 42000): identifier is too long

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

13008 (SQLSTATE: HY000): comment is too long

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

13009 (SQLSTATE: 42S02): fixed table does not exist

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13010 (SQLSTATE: HY000): Insufficient static area

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13011 (SQLSTATE: HY000): Unable to extend memory: [MAX: %ld, TOTAL: %ld, ALLOC: %ld] DESC: %s

Cause

The memory allocation limit has been exceeded.


gSQL>

SELECT REGEXP_COUNT( RPAD( CAST( 'A' AS LONG VARCHAR ), 10000000, 'A' ) || 'B', 'A+B' )

FROM dual;


ERR-HY000(13011): Unable to extend memory: [MAX: 104857600, TOTAL: 100973408, USED: 93656504, ALLOC: 8388824, REQUESTOR: 81] DESC: private static area :

SELECT REGEXP_COUNT( RPAD( CAST( 'A' AS LONG VARCHAR ), 10000000, 'A' ) || 'B', 'A+B' )

*

ERROR at line 1:

Action

Modify the query or increase the relevant memory-related property values.

13012 (SQLSTATE: HY000): too many files are opened

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13013 (SQLSTATE: HY000): Property(%s) does not exist

Cause

An invalid (non-existent) property name was used.


gSQL> ALTER SESSION SET inavalid_property = ON;

ERR-HY000(13013): Property(INAVALID_PROPERTY) does not exist :

ALTER SESSION SET inavalid_property = ON

*

ERROR at line 1:

Action

Specify the correct property name.


gSQL> ALTER SESSION SET HINT_ERROR = ON;

Session altered.

13014 (SQLSTATE: HY000): Unable to change property at this startup phase.(%s)

Cause

The property cannot be modified during the current startup phase.


gSQL> ALTER SYSTEM SET CONTROL_FILE_COUNT = 2 SCOPE = BOTH;


ERR-HY000(13014): Unable to change property at this startup phase.(CONTROL_FILE_COUNT)

Action

Check which startup phase allows this property to be modified.

13015 (SQLSTATE: 0U000): Unable to change read-only property.(%s)

Cause

Read-only properties cannot be modified.


gSQL> ALTER SESSION SET CHARACTER_SET = 'UTF8';


ERR-0U000(13015): Unable to change permanent property.(CHARACTER_SET)

Action

Verify whether the property is writable.

13016 (SQLSTATE: 22000): Invalid property value.(%s)

Cause

An invalid property value was used.


gSQL> ALTER SESSION SET BLOCK_READ_COUNT = -1;


ERR-22000(13016): Invalid property value.(BLOCK_READ_COUNT) : (check min/max value)

Action

Use a valid property value.


gSQL> ALTER SESSION SET BLOCK_READ_COUNT = -1;


ERR-22000(13016): Invalid property value.(BLOCK_READ_COUNT) : (check min/max value)

13017 (SQLSTATE: 0U000): Specified property cannot be modified.(%s)

Cause

An incorrect syntax was used to modify the property.


gSQL> ALTER SESSION SET TRACE_LOGIN = OFF;


ERR-0U000(13017): Specified property cannot be modified using ALTER SESSION.(TRACE_LOGIN)

Action

Check the correct syntax for modifying the property.


gSQL> ALTER SYSTEM SET TRACE_LOGIN = OFF;

System altered.

13018 (SQLSTATE: 22000): Specified property cannot be modified with this SCOPE option.(%s)

Cause

An invalid SCOPE parameter was used.

Action

Use a valid SCOPE parameter (MEMORY / SPFILE / BOTH) for the property.

13019 (SQLSTATE: 22000): Specified property cannot be modified.(%s)

Cause

The ALTER SYSTEM modification attribute for the property was not specified.


gSQL> ALTER SYSTEM SET BLOCK_READ_COUNT = 20;

ERR-22000(13019): Invalid property modify mode.(BLOCK_READ_COUNT)

Action

Check the ALTER SYSTEM modification attribute for the property.


gSQL> ALTER SYSTEM SET BLOCK_READ_COUNT = 20 DEFERRED;

System altered.

13020 (SQLSTATE: 22000): Invalid GOLDILOCKS_DATA Directory

Cause

The GOLDILOCKS_DATA environment variable is invalid.

Action

Verify that the GOLDILOCKS_DATA environment variable is correctly defined.

13021 (SQLSTATE: 22000): Invalid SID

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13022 (SQLSTATE: HY004): Invalid property data type

Cause

The data type of the property value is incorrect.


gSQL> ALTER SESSION SET HINT_ERROR = 100;

ERR-HY004(13022): Invalid property data type :

ALTER SESSION SET HINT_ERROR = 100

*

ERROR at line 1:

Action

Use a data type value that matches the property.


gSQL> ALTER SESSION SET HINT_ERROR = ON;

Session altered.

13023 (SQLSTATE: 22000): Invalid Property ID

Cause

This is an internally controlled server error.

Action

If this error occurs, contact our customer service department.

13024 (SQLSTATE: HY000): exceeded maximum number of processes

Cause

The number of concurrently connectable processes has been exceeded.

Action

Modify the value of the PROCESS_MAX_COUNT property.

13025 (SQLSTATE: HY000): File does not exist (%s)

Cause

The database property file does not exist.

Action

Check the database property file.

13026 (SQLSTATE: HY000): Property file already exists (%s)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13027 (SQLSTATE: HY000): File Process Error

Cause

The database property file is corrupted.

Action

Check the database property file.

13028 (SQLSTATE: HY000): Property is not ReadOnly

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13029 (SQLSTATE: HY000): Read-only property file already exists

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13030 (SQLSTATE: HY000): Property File Parsing Error Line (%d)

Cause

Unable to parse the property information on a specific line in the database property file.

Action

Check the line for syntax errors.

13031 (SQLSTATE: 0A000): Unsupported return type is used

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13032 (SQLSTATE: 0A000): Function does not exist

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13033 (SQLSTATE: HY000): It can not make range

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13034 (SQLSTATE: 08S01): Service is not available

Cause

This error occurs when the following services are unavailable:

  • Session: whether a session can be created

  • Transaction: whether a transaction can be created

  • Cluster: whether a protocol can be sent to a remote nod

This error may occur frequently because service access is blocked while the server is in the startup or shutdown process.

Action

Retry the operation after startup has completed.

13035 (SQLSTATE: HY000): Specified Breakpoint name is not registered yet

Cause

This is an internally controlled server error.

Action

If this error occurs, contact our customer service department.

13036 (SQLSTATE: HY000): General abort error of Breakpoint

Cause

This is an internally controlled server error.

Action

If this error occurs, contact our customer service department.

13037 (SQLSTATE: HY000): Invalid Session Name

Cause

This is an internally controlled server error.

Action

If this error occurs, contact our customer service department.

13038 (SQLSTATE: HYT00): Exceeded maximum idle time

Cause

The session exceeded the specified wait time in the idle state.

Action

Modify the IDLE_TIMEOUT property.

13039 (SQLSTATE: HYT00): Exceeded maximum query time

Cause

The query execution time has exceeded the limit.

Action

Revise the query or adjust the QUERY_TIMEOUT property.

13040 (SQLSTATE: 08S01): Communication link failure

Cause

The communication link has been disconnected.

Action

Verify the connection configuration and try to reconnect.

13041 (SQLSTATE: RD000): User session ID does not exist

Cause

An invalid (non-existent) session ID was used.


gSQL> ALTER SYSTEM DISCONNECT SESSION 100000000, 100000000;

ERR-RD000(13041): User session ID does not exist

Action

Verify that the session ID is valid and try again.


gSQL> SELECT session_id, serial_no FROM v$session;

13042 (SQLSTATE: 08004): Server rejected the connection

Cause

This error may occur in DA mode when an attempt is made to create a new session while the process is in the process of shutting down due to a received signal.

Action

Restart the client and then retry the operation.

13043 (SQLSTATE: HY008): operation canceled

Cause

The query was forcibly canceled by the user (e.g., via Ctrl-C) during execution.


gSQL> SELECT COUNT(*) FROM dba_tab_cols A, dba_tab_cols B, dba_tab_cols C, dba_tab_cols D, dba_tab_cols E;


C-c

ERR-HY008(13043): operation canceled

Action

This is an expected behavior.

13044 (SQLSTATE: RD000): invalid process identifier

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

13045 (SQLSTATE: 08004): mismatched binary version - server(%s.%d.%d.%d.%s), client(%s.%d.%d.%d.%s)

Cause

The server and client versions are incompatible.

Action

Upgrade the client to a version compatible with the server.

13046 (SQLSTATE: HY000): session cannot be killed now

Cause

This error occurs when attempting to clean up a session belonging to a process that has not yet terminated.


gSQL> select id, serial from x$session where id = session_id();


ID SERIAL

-- ------

4 1


1 row selected.


gSQL> alter system kill session 4, 1;


ERR-HY000(13046): session cannot be killed now : process still alive

Action

The ALTER SYSTEM KILL SESSION command can be executed only on sessions whose processes have already terminated.

13047 (SQLSTATE: 22003): data is outside the range of the data type to which the number is being converted

Cause

The aggregation result exceeded the range of the data type.


gSQL> CREATE TABLE t1 ( c1 NATIVE_BIGINT );

gSQL> INSERT INTO t1 VALUES ( 9223372036854775807 );

gSQL> INSERT INTO t1 VALUES ( 9223372036854775807 );


gSQL> SELECT SUM(c1) FROM t1;

ERR-22003(13047): data is outside the range of the data type to which the number is being converted

Action

Change the column's data type to one that supports a wider range, such as NUMBER.


gSQL> CREATE TABLE t1 ( c1 NUMBER );

gSQL> INSERT INTO t1 VALUES ( 9223372036854775807 );

gSQL> INSERT INTO t1 VALUES ( 9223372036854775807 );

gSQL> SELECT SUM(c1) FROM t1;

SUM(C1)

--------------------

18446744073709551614

1 row selected.

13048 (SQLSTATE: 22015): one or more fields of data value were truncated during conversion

Cause

The aggregation result exceeded the valid value range.


gSQL> CREATE TABLE t1 ( c1 INTERVAL YEAR( 6 ) TO MONTH );

gSQL> INSERT INTO t1 VALUES ( '999999-11' );

gSQL> INSERT INTO t1 VALUES ( '999999-11' );

gSQL> SELECT SUM(c1) FROM t1;


ERR-22015(13048): one or more fields of data value were truncated during conversion

Action

Use data that does not cause the aggregation result to exceed the valid range.


gSQL> CREATE TABLE t1 ( c1 INTERVAL YEAR( 6 ) TO MONTH );

gSQL> INSERT INTO t1 VALUES ( '3-11' );

gSQL> INSERT INTO t1 VALUES ( '5-11' );

gSQL> SELECT SUM(c1) FROM t1;


SUM(C1)

----------

+000009-10


1 row selected.

13049 (SQLSTATE: HYC00): not implemented feature, in a function

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13050 (SQLSTATE: HY000): insufficient plan cache memory

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

13051 (SQLSTATE: HY000): Unable to attache the shared memory segment. File does not exist(%s)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

13052 (SQLSTATE: 42000): invalid dump option string: %s

Cause

The D$ table feature is not provided to customers.

Action

The D$ table feature is not provided to customers.

13053 (SQLSTATE: 42000): dump object modified by concurrent statement

Cause

The D$ table feature is not provided to customers.

Action

The D$ table feature is not provided to customers.

13054 (SQLSTATE: 42000): invalid numa map (%s)

Cause

This error occurs when the value of the NUMA_MAP property is invalid.

If startup is performed with the property configured as shown below, this error will occur.


NUMA = YES

NUMA_MAP = '0:d'


gSQL> \startup


ERR-42000(13054): invalid numa map (d)

ERR-HY000(11074): given string is not number

Action

Set the NUMA_MAP property to a valid value and then retry the operation.

Refer to NUMA_MAP for more information about how to configure the property.

13055 (SQLSTATE: HY000): AS ADMIN must be executed in dedicated session

Cause

Attempted ADMIN login in a shared session.

Action

ADMIN login is allowed only in a dedicated session.

13056 (SQLSTATE: HY000): unable to create file '%s' - already in use

Cause

This error occurs when attempting to create a file using a file that is already registered on the server. It may also occur when file-related DDL operations are performed concurrently in two or more sessions.

Action

Change the file name and then retry the operation.

13057 (SQLSTATE: HY000): Property(%s) is desupported

Cause

This property is not used.


gSQL> ALTER SYSTEM SET CHECK_DEDICATE_SOCKET = 10001;

ERR-HY000(13057): Property(CHECK_DEDICATE_SOCKET) is deprecated :

ALTER SYSTEM SET CHECK_DEDICATE_SOCKET = 10001

*

ERROR at line 1:

Action

This property has no effect in the current version.

13058 (SQLSTATE: HY000): memory alloc size is too large: [MAX: %ld, ALLOC: %ld] DESC: (%d)%s

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

13059 (SQLSTATE: HYT00): Exceeded maximum packet allocation time

Cause

This error may occur in a cluster database environment when packet memory for remote transmission cannot be allocated within the specified time.

Action

Increase the value of the CLUSTER_PACKET_ALLOCATION_TIMEOUT property and then retry the operation.

13060 (SQLSTATE: HY000): Failed to validate the license key

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

13061 (SQLSTATE: HY008): child operation canceled

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

13062 (SQLSTATE: 42000): the statement is disallowed

Cause

A disallowed statement occurred. (This is an error code used within the server.)

Action

If this error occurs, contact our customer service department.

13063 (SQLSTATE: 42000): output value too large (maximum: %ld %s)

Cause

The JSON result exceeded the maximum size of the output data type. (Default value: VARCHAR(4000))


CREATE TABLE t1 ( c1 VARCHAR(1500)

, c2 VARCHAR(1500)

, c3 VARCHAR(1500) );


INSERT INTO t1 VALUES ( RPAD( 'A', 1500, '_' )

, RPAD( 'B', 1500, '_' )

, RPAD( 'C', 1500, '_' ) );


gSQL> SELECT JSON_OBJECT( 'key1' VALUE c1

, 'key2' VALUE c2

, 'key3' VALUE c3 ) AS json_string

FROM t1;


ERR-42000(13063): output value too large (maximum: 4000 OCTETS) :

SELECT JSON_OBJECT( 'key1' VALUE c1

*

ERROR at line 1:

Action

Use the RETURNING LONG VARCHAR option.


--# result: {"key1":"A___....____","key2":"B___....____","key3":"C___....____"}

gSQL> SELECT JSON_OBJECT( 'key1' VALUE c1

, 'key2' VALUE c2

, 'key3' VALUE c3

RETURNING LONG VARCHAR ) AS json_string

FROM t1;


JSON_STRING

----------------------------------------------------------------------------------------------------

{"key1":"A__________________________________________________________________

...

...

Ellipsis

...

...

_____________________________"}


1 row selected.

13064 (SQLSTATE: 42000): name input to JSON generation function cannot be null

Cause

A null value exists in the JSON name of a JSON_OBJECT family function.


CREATE TABLE test ( k_col VARCHAR(20), v_col INTEGER );

INSERT INTO test VALUES ( null, 1 );


gSQL> SELECT JSON_OBJECT( k_col VALUE v_col ) AS result

FROM test;


ERR-42000(13064): name input to JSON generation function cannot be null :

SELECT JSON_OBJECT( k_col VALUE v_col ) AS result

*

ERROR at line 1:

Action

Use an expression for the JSON name that is not null and can be represented as an SQL string.


gSQL> SELECT JSON_OBJECT( NVL( k_col, 'N/A' ) VALUE v_col ) AS result

FROM test;


RESULT

---------

{"N/A":1}

13065 (SQLSTATE: 42000): duplicate key names '%s' in JSON object

Cause

A JSON object that does not allow duplicate key names contains duplicate key names.


CREATE TABLE test ( k_col VARCHAR(20), v_col INTEGER );

INSERT INTO test VALUES ( 'k1', 1 );

INSERT INTO test VALUES ( 'k2', 1 );

INSERT INTO test VALUES ( 'k1', 2 );


gSQL> SELECT JSON_OBJECTAGG( k_col VALUE v_col WITH UNIQUE KEYS ) AS result

FROM test;


ERR-42000(13065): duplicate key names 'k1' in JSON object

Action

Either set the JSON key uniqueness constraint option to WITHOUT UNIQUE KEYS or remove the rows with duplicate key names.


-------------------------------------------------------

--# Use WITHOUT UNIQUE KEYS

gSQL> SELECT JSON_OBJECTAGG( k_col VALUE v_col WITHOUT UNIQUE KEYS ) AS result

FROM test;


RESULT

----------------------

{"k1":1,"k2":1,"k1":2}


1 row selected.


-------------------------------------------------------

--# Remove rows with duplicate key names

gSQL> DELETE FROM test WHERE k_col = 'k1' AND v_col = 2;


1 row deleted.


gSQL> SELECT JSON_OBJECTAGG( k_col VALUE v_col WITH UNIQUE KEYS ) AS result

FROM test;


RESULT

---------------

{"k1":1,"k2":1}


1 row selected.

Storage Management Related Error

14000 (SQLSTATE: HY000): Failed to initialize storage manager layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14001 (SQLSTATE: HY000): storage manager layer is not initialized yet

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14002 (SQLSTATE: HY000): Tablespace(%d) exceed datafile limit

Cause

This error occurs if the number of datafiles to add to a tasblespace exceeds the limit.

Action

The datafile can not be created more than the maximum number (1024) due to GOLDILOCKS constraint.

14003 (SQLSTATE: HY000): Tablespace(%d) is full

Cause

The system has reached the limit of file descriptors.

Action

Increase the system’s file descriptor limit.

14004 (SQLSTATE: HY000): Tablespace(%d) is already dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14005 (SQLSTATE: HY000): System Tablespace exists

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14006 (SQLSTATE: 42000): Table is mutating, trigger/function may not see it

Cause

This error occurs if another operation is operated for the same table while the database function is changing the table.


CREATE OR REPLACE FUNCTION FUNC1( A1 INTEGER, A2 VARCHAR(10) )

RETURN INTEGER

IS

BEGIN

INSERT INTO T1 VALUES( A1, A2 );

RETURN A1;

END;


INSERT INTO T1 VALUES( FUNC1( 1, 'ZZZ' ), 'ZZZ' );

ERR-42000(14006): Table is mutating, trigger/function may not see it :

INSERT INTO T1 VALUES( A1, A2 );

*

ERROR at line 5:

ERROR at FUNCTION("FUNC1")

Action

Modify the query not to change the same table simultaneously in a statement.

14007 (SQLSTATE: RD000): deadlock detected

Cause

This error occurs if the transaction reaches a deadlock while waiting for the resource.

Action

Modify the transaction to guarantee the lock sequence of the object within the transaction.

14008 (SQLSTATE: 24000): fetch out of sequence

Cause

This error occurs if a cursor is closed during the fetch.

Action

Do not execute the statement which closes the cursor during the fetch.

14009 (SQLSTATE: 2200H): sequence generator limit exceeded

Cause

This error occurs if the sequence is out of the range.

Action

Modify MINVALUE or MAXVALUE of the sequence by using ALTER SEQUENCE statement, or shift NO CYCLE to CYCLE.

14010 (SQLSTATE: 22023): MAXVALUE cannot be made to be less than the current value

Cause

This error occurs when trying to modify MAXVALUE to the value smaller than the current sequence value.

Action

Modify MAXVALUE to the value bigger than or equal to the current sequence value.

14011 (SQLSTATE: 22023): MINVALUE cannot be made to exceed the current value

Cause

This error occurs when trying to modify MINVALUE to the value bigger than the current sequence value.

Action

Modify MINVALUE to the value smaller than or equal to the current sequence value.

14012 (SQLSTATE: 22023): cannot be made to be less than the current value

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

14013 (SQLSTATE: 22023): cannot be made to exceed the current value

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

14014 (SQLSTATE: HY000): Fail to extend datafile(%u) of tablespace(%u) in Transaction(%ld)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14015 (SQLSTATE: HY000): there is no extendible datafile in tablespace '%s'

Cause

If the tablespace is full, it searches for the auto extend datafile and extends the datafile. This error occurs if the datafile reaches to the maxsize so that it can not be extended or if the auto extend datafile does not exist.

Action

Add datafile or memory, or activate auto extend option as follows. Auto extend can be used only within the datafile.


------------------------------------------------


--# Add datafile


gSQL> ALTER TABLESPACE TBS_NAME ADD DATAFILE 'TBS_NAME.dbf' SIZE 10M;


Tablespace altered.


------------------------------------------------


--# Add memory


gSQL> ALTER TABLESPACE TEST_TEMP_TBS ADD MEMORY 'TEST_TEMP_TBS' SIZE 10M;


Tablespace altered.


------------------------------------------------


--# Activate AUTOEXTEND


gSQL> ALTER DATABASE DATAFILE 'TBS_NAME.dbf' AUTOEXTEND ON;



Tablespace altered.

14016 (SQLSTATE: 23001): some rows of base table violate uniqueness of index

Cause

This error occurs if the key value is not unique when creating a unique index.


CREATE TABLE T1 (C1 INTEGER, C2 INTEGER);


INSERT INTO T1 VALUES(1,1);


INSERT INTO T1 VALUES(1,2);


INSERT INTO T1 VALUES(1,3);


gSQL> CREATE UNIQUE INDEX IDX_T1_C1 ON T1(C1);


ERR-23001(14016): some rows of base table violate uniqueness of index

Action

Set the unique value as a key.

14017 (SQLSTATE: 42000): invalid operation on fixed table or dump table

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

14018 (SQLSTATE: 42000): the operation is disallowed before %s startup phase

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

14019 (SQLSTATE: HY000): log stream number string is invalid

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14020 (SQLSTATE: HY000): log stream %d already exists

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14021 (SQLSTATE: HY000): log group number string is invalid

Cause

This error occurs if the log group number which is out of the range or does not exist is entered.


gSQL> ALTER DATABASE ADD LOGFILE GROUP 2147483648 ('abc.log') SIZE 20M;


ERR-HY000(14021): log group number string is invalid :

ALTER DATABASE ADD LOGFILE GROUP 2147483648 ('abc.log') SIZE 20M

*

ERROR at line 1:


gSQL> ALTER DATABASE DROP LOGFILE GROUP 10;


ERR-HY000(14021): log group number string is invalid :

ALTER DATABASE DROP LOGFILE GROUP 10

*

ERROR at line 1:

Action

Write the query using the valid log group number.

14022 (SQLSTATE: HY000): log group state must be INACTIVE or UNUSED

Cause

This error occurs if the state of the log group to drop is not inactive, nor is unused.


gSQL> ALTER DATABASE DROP LOGFILE GROUP 0;


ERR-HY000(14022): log group(0) state must be INACTIVE or UNUSED

Action

Only the inactive or unused log group can be dropped.


gSQL> SELECT GROUP_ID, STATE FROM X$LOG_GROUP;


GROUP_ID STATE

-------- -------

0 CURRENT

10 UNUSED

2 UNUSED

3 UNUSED


4 rows selected.


gSQL> ALTER DATABASE DROP LOGFILE GROUP 10;


Database altered.

14023 (SQLSTATE: HY000): log group %d already exists

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14024 (SQLSTATE: HY000): log member %s already exists

Cause

This error occurs if the log member file to add already exists.

Action

Add the log member whose file name does not exist.

14025 (SQLSTATE: 42000): invalid dump option string: %s

Cause

The D$ table feature is not provided to customers.

Action

The D$ table feature is not provided to customers.

14026 (SQLSTATE: HYT00): resource busy or timeout expired

Cause

If DDL simultaneously occurs for the same object, then lock wait occurs. This error occurs if DDL_LOCK_TIMEOUT is exceeded.


Transaction A :

gSQL> ALTER TABLE t1 ADD COLUMN ( new_column NUMBER );


Transaction B :

gSQL> TRUNCATE TABLE t1;


ERR-HYT00(14026): resource busy or timeout expired

Action

Extend DDL_LOCK_TIMEOUT then try again, or try again when the object us unlocked.


gSQL> ALTER SYSTEM SET DDL_LOCK_TIMEOUT = 10;


System altered.

14027 (SQLSTATE: HY000): datafile(%d,%d) is already dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14028 (SQLSTATE: HY000): file '%s' already exists

Cause

This error occurs if the existing file name is entered when adding a log file.


gSQL> ALTER DATABASE ADD LOGFILE MEMBER 'test.log' TO GROUP 10;


ERR-42000(16130): file already exists :

ALTER DATABASE ADD LOGFILE MEMBER 'test.log' TO GROUP 10

*

ERROR at line 1:

Action

Add the log file with a non-duplicate name.

14029 (SQLSTATE: HY000): sequence is not yet defined

Cause

This error occurs if CURRVAL is used to get the current sequence value without using NEXTVAL(seq_name) at all in the session.


gSQL> SELECT SEQ.CURRVAL FROM T1;


ERR-HY000(14029): sequence is not yet defined

Action

Use NEXTVAL(seq_name) at least once, then use CURRVAL.


gSQL> CREATE SEQUENCE seq;


Sequence created.


gSQL> COMMIT;


Commit complete.


gSQL> SELECT seq.NEXTVAL FROM dual;


SEQ.NEXTVAL

-----------

1


1 row selected.

14030 (SQLSTATE: RD000): maximum index depth(%d) exceeded

Cause

This error occurs if the maximum index depth is exceeded.

Action

N/A

14031 (SQLSTATE: HY000): maximum key length(%d) exceeds

Cause

This error occurs if the index key size exceeds the maximum size (1200).

Action

The index key size should not exceed the maximum size (1200).

14032 (SQLSTATE: 42000): can't serialize access for this transaction

Cause

This error occurs if two or more transactions simultaneously try to modify the same data.

Action

Try again after a transaction is completed.

14033 (SQLSTATE: 42000): unable to checkpoint in cds mode

Cause

This error occurs if checkpoint is performed in CDS mode.

Action

The checkpoint can not be performed in CDS mode.

14034 (SQLSTATE: 42000): unable to recover database in cds mode

Cause

This error occurs if the recovery is performed in other mode than TDS mode.

Action

If it was operated in TDS mode before CDS mode, then the recovery is available only when TDS mode was normally shutdown.

14035 (SQLSTATE: 42000): some rows of base table violate not null constraint

Cause

This error occurs if null value exists in the column when trying to add the primary key constraint to the table.

Action

Only the column which does not have NULL value can be set as the primary key.

14036 (SQLSTATE: 42000): invalid ROWID

Cause

This error occurs if INVALID ROWID is entered.

Action

Enter the correct ROWID value.

14037 (SQLSTATE: 42000): Database is READ ONLY - deprecated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14038 (SQLSTATE: 42000): unable to recover database in READ ONLY mode - deprecated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14039 (SQLSTATE: HY000): exceed segment MAXSIZE(%ld)

Cause

This error occurs if maxsize is exceeded because the segment space to store the index is insufficient.


gSQL> ALTER INDEX T1X STORAGE( MAXSIZE 512K );


Index altered.


gSQL> INSERT INTO T1 SELECT * FROM T1;


ERR-HY000(14039): exceed segment MAXSIZE(524288)

Action

Increase the maxsize of the segment to store the index.


gSQL> ALTER INDEX T1X STORAGE( MAXSIZE 100M );


Index altered.


gSQL> INSERT INTO T1 SELECT * FROM T1;


64 rows created.

14040 (SQLSTATE: HY000): Target object of dump table is mutating

Cause

This error occurs if the object to dump is currently being changed.

Action

Try to dump it again after the data modification of the object is completed.

14041 (SQLSTATE: 42000): cannot access the OFFLINE tablespace '%s'

Cause

This error occurs if the tablespace is not accessible because it is offline.


CREATE TABLE T1 ( I1 INTEGER ) TABLESPACE TEST_TBS;


ERR-42000(14041): cannot access the OFFLINE tablespace 'TEST_TBS'

Action

Shift the tablespace to online, then try the operation again.


gSQL> ALTER TABLESPACE TBS_TB ONLINE;


Tablespace altered.

14042 (SQLSTATE: 42000): cannot find the row (%ld)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14043 (SQLSTATE: 42000): file is already used in database '%s'

Cause

This error occurs if the file is already used as the datafile of the tablespace.


gSQL> CREATE DATA TABLESPACE TEST_TBS1 DATAFILE 'TEST_DATAFILE.dbf' SIZE 10M;


Tablespace created.


gSQL> CREATE DATA TABLESPACE TEST_TBS2 DATAFILE 'TEST_DATAFILE.dbf' SIZE 10M REUSE;


ERR-42000(14043): file is already used in database :


CREATE DATA TABLESPACE TEST_TBS2 DATAFILE 'TEST_DATAFILEE.dbf' SIZE 10M REUSE

*

ERROR at line 1:

Action

Use the datafile which is not used in the existing tablespace, or specify the new datafile as follows.


gSQL> CREATE DATA TABLESPACE TEST_TBS2 DATAFILE 'TEST_DATAFILE2.dbf' SIZE 10M REUSE;


Tablespace created.

14044 (SQLSTATE: 42000): datafile not empty

Cause

This error occurs if the datafile which was used at least once is dropped.

Action

Only the tablespace datafile which never has been used since it was created can be dropped. Once it was used the datafile can not be dropped even when all data is dropped.

14045 (SQLSTATE: 42000): cannot drop datafile of OFFLINE tablespace '%s'

Cause

The datafile of the offline tablespace can not be dropped.


gSQL> ALTER TABLESPACE TBS_NAME DROP DATAFILE 'DATAFILE_NAME.dbf';


ERR-42000(16145): cannot drop datafile of OFFLINE tablespace :

ALTER TABLESPACE TBS_NAME DROP DATAFILE 'DATAFILE_NAME.dbf'

*

ERROR at line 1:

Action

Shift the tablespace to online, then drop it.


gSQL> ALTER TABLESPACE TBS_NAME ONLINE;


Tablespace altered.


gSQL> ALTER TABLESPACE TBS_NAME DROP DATAFILE 'DATAFILE_NAME.dbf';


Tablespace altered.

14046 (SQLSTATE: 42000): file does not exist - '%s'

Cause

This error occurs if the file does not exist.

Action

Check if the file exists, or if the path is correct.

14047 (SQLSTATE: 42000): file is READ ONLY - '%s'

Cause

This error occurs if the file privilege is read only.

Action

Modify the file privilege so that it allows writing.

14048 (SQLSTATE: 42000): file is invalid or old version - '%s'

Cause

This error occurs if the datafile is invalid or an old version.

Action

Use the valid datafile.

14049 (SQLSTATE: 42000): tablespace is not online - '%s'

Cause

This error occurs if trying to shift the tablespace to offline when the tablespace is already offline.

Action

N/A

14050 (SQLSTATE: 42000): tablespace is not offline - '%s'

Cause

This error occurs if trying to shift the tablespace to online when the tablespace is already online.

Action

N/A

14051 (SQLSTATE: 42000): media recovery required - '%s'

Cause

This error occurs if the recovery is required when shifting the tablespace to online.


gSQL> ALTER TABLESPACE TEST_TBS ONLINE;


ERR-42000(14051): media recovery required - 'TEST_TBS'

Action

Recover the tablespace.


gSQL> ALTER DATABASE RECOVER TABLESPACE TEST_TBS;


Database altered.

14052 (SQLSTATE: 42000): segment is unusable ( physical id : %ld )

Cause

This error occurs if trying to query for the unrecoverable segment.

Action

Drop the table where the unusable segment exists, then try again.

14053 (SQLSTATE: RD000): insufficient resource for sort

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14054 (SQLSTATE: HY000): internal error ( %s, %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

14055 (SQLSTATE: HY000): segment is corrupted ( physical id : %ld )

Cause

This error occurs if the segment is corrupted.

Action

If this error occurs, contact our customer service department.

14056 (SQLSTATE: HY000): failed to apply redo log ( lsn : %ld, lpsn : %d, physical id : %ld )

Cause

This error occurs if redo fails.

Action

If this error occurs, contact our customer service department.

14057 (SQLSTATE: HY000): dropping log group makes total log group count less than minimum log group count(%d)

Cause

The minimum number of log groups should exist.

Action

N/A

14058 (SQLSTATE: 42000): log member does not exist - '%s'

Cause

This error occurs if the log member does not exists when dropping the log member.

Action

N/A

14059 (SQLSTATE: 42000): log member is already used - '%s'

Cause

This error occurs if the log member name to change already exists.

Action

N/A

14060 (SQLSTATE: HY000): CURRENT logfile is empty - '%s'

Cause

This error occurs if trying to switch the logfile which never has been used.


gSQL> alter system switch logfile;


ERR-HY000(14060): CURRENT logfile is empty - ''

Action

The logfile which never has been used can not be switched.

14061 (SQLSTATE: HY000): next logfile to switch should be INACTIVE or UNUSED - '%s'

Cause

This error occurs if the next logfile is not inactive nor is unused when switching the logfile.


gSQL> ALTER SYSTEM SWITCH LOGFILE;


ERR-HY000(14061): next logfile to switch should be INACTIVE or UNUSED

Action

The active logfile is periodically switched to inactive state by the archive log thread. Perform checkpoint, then try again.


gSQL> ALTER SYSTEM CHECKPOINT;


gSQL> ALTER SYSTEM SWITCH LOGFILE;

14062 (SQLSTATE: 42000): INITRANS must be less equal than MAXTRANS

Cause

This error occurs if INITRANS value is bigger than MAXTRANS value.


gSQL> ALTER INDEX idx1 INITRANS 32 MAXTRANS 4;


ERR-42000(16083): INITRANS must be less equal than MAXTRANS :


ALTER INDEX idx1 INITRANS 32 MAXTRANS 4

*

ERROR at line 1:

Action

INITRANS value should be smaller than or equal to MAXTRANS value.

14063 (SQLSTATE: 42000): cannot be added log member to exceed maximum log member count(%d)

Cause

The log member can not be added any more because the maximum number of log members to be added is exceeded.


gSQL> ALTER DATABASE ADD LOGFILE MEMBER 'test1.log', 'test2.log', 'test3.log', 'test4.log', 'test5.log', 'test6.log' TO GROUP 10;


ERR-42000(14063): cannot be added log member to exceed maximum log member count(5)

Action

N/A

14064 (SQLSTATE: 42000): the operation is disallowed at %s phase

Cause

This error occurs if the operation is disallowed at the PHASE.


gSQL> ALTER DATABASE ADD LOGFILE MEMBER 'test.log' TO GROUP 1;


ERR-42000(14064): the operation is disallowed at MOUNT phase

Action

Alter it to the allowed PHASE, then execute the operation again.


--# Alter NO MOUNT -> MOUNT PHASE.

gSQL>alter system mount database;


--# Alter MOUNT -> OPEN PHASE.

gSQL> alter system open database;

14065 (SQLSTATE: RD000): row size(%d) of the instant table is too large

Cause

This error occurs if the total size of columns is too big when using the instant sort table.


gSQL> SELECT * FROM T1 ORDER BY A1, A2, ...... , A2998, A2999;


ERR-RD000(14065): row size(24009) of the instant table is too large

Action

Increase INST_TABLE_PAGE_SIZE property value, then try again.


gSQL> ALTER SESSION SET INST_TABLE_PAGE_SIZE = 32K;


Session altered.

14066 (SQLSTATE: RD000): key size(%d) of the instant index exceeds the limit(%d)

Cause

This error occurs if the key size exceeds the limit when using the instant b-tree index.


gSQL> SELECT /*+ USE_GROUP_SORT */ A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12

FROM T1

GROUP BY A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12;

ERR-RD000(14066): key size(48033) of the instant index exceeds the limit(16000)

Action

Decrease INSTANT_INDEX_REFERENCE_COLUMN_THRESHOLD property value so that more columns can become reference columns.


gSQL> ALTER SESSION SET INSTANT_INDEX_REFERENCE_COLUMN_THRESHOLD = 64;


Session altered.

14067 (SQLSTATE: HY000): cannot media recover; archivelog mode not enabled

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14068 (SQLSTATE: HY000): logfile does not exist - '%s'

Cause

This error occurs if the logfile does not exist during the recovery.

Action

Execute incomplete recovery to the part which can be recovered.

14069 (SQLSTATE: HY000): cannot support ARCHIVELOG in cds mode

Cause

ARCHIVELOG is not supported in CDS mode.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-HY000(14069): cannot support ARCHIVELOG in cds mode

Action

N/A

14070 (SQLSTATE: HY000): control file is not recent; do media recovery with USING BACKUP CONTROLFILE option

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14071 (SQLSTATE: HY000): cannot BACKUP; tablespace(%s) is offline

Cause

This error occurs if the tablespace is offline when the tablespace backup.


gSQL> ALTER TABLESPACE TEST_TBS BEGIN BACKUP;


ERR-HY000(14071): cannot backup; tablespace(TEST_TBS) is offline

Action

Shift the tablespace state to online, then proceed with backup.


gSQL> ALTER TABLESPACE TEST_TBS ONLINE;


Tablespace altered.


gSQL> ALTER TABLESPACE TEST_TBS BEGIN BACKUP;


Tablespace altered.

14072 (SQLSTATE: HY000): cannot BACKUP; tablespace(%s) is temporary

Cause

This error occurs if the tablespace to backup is a temporary tablespace.

Action

The temporary tablespace can not be backed up.

14073 (SQLSTATE: HY000): cannot BACKUP; tablespace is dropped

Cause

This error occurs if the tablespace to backup is a dropped tablespace.

Action

The dropped tablespace can not be backed up.

14074 (SQLSTATE: HY000): cannot BACKUP; tablespace(%s) is already in backup

Cause

This error occurs if the tablespace to backup is already in progress.

Action

The tablespace in progress can not be backed up.

14075 (SQLSTATE: HY000): cannot execute; tablespace(%s) backup is in progress

Cause

This error occurs if trying to shift the tablespace state to offline when the tablespace bakup is in progress.

Action

The tablespace state can be shifted to offline after the backup is completed.

14076 (SQLSTATE: HY000): cannot END BACKUP; tablespace(%s) is not in backup

Cause

This error occurs if trying to perform the end tablespace backup when the begin tablespace backup has not been performed.


gSQL> ALTER TABLESPACE DICTIONARY_TBS END BACKUP;


ERR-HY000(14076): cannot end backup; tablespace(DICTIONARY_TBS) is not in backup

Action

Perform the end tablespace backup after the begin tablespace backup is performed.

14077 (SQLSTATE: HY000): cannot END BACKUP; none of the tablespaces are in backup

Cause

This error occurs if all tablespaces which tried backup fail.


gSQL> ALTER DATABASE END BACKUP;


ERR-HY000(14077): cannot end backup; none of the tablespaces are in backup

Action

Try backup again.

14078 (SQLSTATE: HY000): cannot BACKUP; tablespace(%s) is proceeding other operation '%s'

Cause

This error occurs if the tablespace to backup is executing the following operations.


  • SHUTDOWN

  • CHANGE TRACKING { ENABLE / DISABLE }

  • CHECKPOINT

  • ONLINE TABLESPACE

  • OFFLINE TABLESPACE

  • DROP TABLESPACE

  • ADD DATAFILE

  • DROP DATAFILE

  • TABLESPACE BEGIN BACKUP

Action

Try backup again after the operation is completed.

14079 (SQLSTATE: HY000): cannot BACKUP; database is already in backup

Cause

This error occurs if trying to backup the database when the database backup is in progress.

Action

Try backup again after the backup is completed.

14080 (SQLSTATE: HY000): cannot END BACKUP; database is not in backup

Cause

This error occurs if trying to perform the database end backup when the database begin backup has not been performed.


gSQL> ALTER DATABASE END BACKUP;


ERR-HY000(14080): cannot end backup; database is not in backup

Action

Perform the database end backup after the database begin backup is performed.

14081 (SQLSTATE: HY000): cannot BACKUP; database is going shutdown

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14082 (SQLSTATE: HY000): (%s) is not an appropriate logfile to recover

Cause

This error occurs if the logfile is inappropriate for the recovery when executing the interactive incomplete recovery.

Action

Try again by entering the logfile which is appropriate for the recovery.

14083 (SQLSTATE: HY000): must use RESETLOGS option for database open

Cause

This error occurs if performing startup with NORESETLOGS option after performing the incomplete recovery.

Action

Perform startup with RESETLOGS option after performing the incomplete recovery.

Refer to Restarting Database after Incomplete Recovery.

14084 (SQLSTATE: HY000): must use NORESETLOGS option for database open

Cause

This error occurs if the startup is impossible with RESETLOGS option.

Action

The startup is possible with RESETLOGS option only when the incomplete recovery was performed just before the operation.

14085 (SQLSTATE: HY000): (%s) was not a sufficiently old backup

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14086 (SQLSTATE: HY000): media recovery canceled

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14087 (SQLSTATE: HY000): cannot SHUTDOWN; backup in progress

Cause

This error occurs if trying to shutdown during the backup.

Action

Shutdown can not be performed during the backup.

14088 (SQLSTATE: HY000): control file is corrupted

Cause

This error occurs if all control files are corrupted.

Action

Restart after performing the incomplete recovery for the database by using the backup control file.

Refer to Corrupted Control File.

14089 (SQLSTATE: HY000): LEVEL 0 INCREMENTAL BACKUP does not exist

Cause

This error occurs if trying to perform the incremental backup of level 1 or above without performing level 0 incremental backup.


gSQL> ALTER TABLESPACE TEST_TBS BACKUP INCREMENTAL LEVEL 1;


ERR-HY000(14089): level 0 incremental backup does not exist

Action

Backup the datafiles of the entire database at level 0 beforehand when performing the incremental backup.

Refer to Incremental Backup.

14090 (SQLSTATE: HY000): cannot flush logs; disabled log flushing

Cause

This error is managed internally by the server, so it is not visible to the client.

Action

If this error occurs, contact our customer service department.

14091 (SQLSTATE: HY000): (%s) is not valid logfile

Cause

This error occurs if the log file is invalid.

Action

Use the valid log file.

14092 (SQLSTATE: HY000): not exist incremental backup

Cause

This error occurs if the incremental backup file which is used when restoring does not exist.

Action

N/A

14093 (SQLSTATE: HY000): not exist valid incremental backup for tablespace(%s)

Cause

This error occurs if the incremental backup file which is used when restoring is invalid.

Action

N/A

14094 (SQLSTATE: HY000): datafile recovery required - datafile(%s) of tablespace(%s) corrupted

Cause

This error occurs if some pages in the data file are corrupted.

Action

Recover the data file by using the backup data file. Refer to ALTER DATABASE RECOVER.

14095 (SQLSTATE: HY000): backup file(%s) is corrupted

Cause

This error occurs if the backup file is corrupted.

Action

Recover the previous backup file by referring to Recovery Using Backup.

14096 (SQLSTATE: 23001): fail to build index ( %ld )

Cause

The no logging index is rebuilt during the startup, and this warning appears if the rebuilding fails.

Action

Check the error message which is output together with this error message, and respond to it. ID and the error code of failed indexes are found in the trace log (system.trc).

14097 (SQLSTATE: HY000): control file is corrupted - '%s'

Cause

This error occurs if the control file is corrupted.

Action

Restart after the Incomplete Recovery of the database by using the backup control file.

14098 (SQLSTATE: HY000): maximum record length(%d) exceeds

Cause

This error occurs if the size of the temporary space to be used while processing the query is bigger than the page size of the instant table.

Action

Set INST_TABLE_PAGE_SIZE property bigger than the exceeded record size.

14099 (SQLSTATE: HY000): log member state must be UNUSED or INACTIVE

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14100 (SQLSTATE: HY000): dropping log member makes log member count of group(%d) less than minimum log member count(%d)

dpCause

This error occurs if the number of the remaining log files is smaller than the minimum log files for the log group when dropping log files.

Action

Maintain the number of log files bigger than or equal to the minimum number of log files.

14101 (SQLSTATE: HY000): log group id does not exist - '%d'

Cause

This error occurs if entering the invalid log group ID when adding/dropping the log file.

Action

Enter the valid log group ID.

Valid log group ID is found in V$LOGFILE as follows.


gSQL> SELECT GROUP_ID, GROUP_STATE FROM V$LOGFILE;

GROUP_ID GROUP_STATE

-------- -----------

0 CURRENT

1 UNUSED

2 UNUSED

3 UNUSED


4 rows selected.

14102 (SQLSTATE: HY000): cannot execute; recovery is in progress

Cause

This error occurs if trying to perform the following operation during the recovery is in progress.


  • Restore the dropped data file.

  • Rename the data file.

  • Offline the tablespace.

  • Alter AUTOEXTEND property of the data file.

  • Add the data file.

Action

Try again after the recovery is completed.

14103 (SQLSTATE: 01000): Warning: media recovery needs a logfile including log (Lsn %ld)

Cause

This error occurs if the log file including the checkpoint log is not found.

Action

Recover it through the archive log corresponding to the suggested LSN. Refer to Incomplete Recovery and Recovery Examples.

14104 (SQLSTATE: 01000): Warning: suggestion '%s'

Cause

This error occurs if the log file which includes the checkpoint log is not found.

Action

Recover it through the suggested archive log file.

14105 (SQLSTATE: HY000): control file '%s' is inconsistent with primary

Cause

This error occurs if the information of the main control file is not same as the information of other control files.

Action

Copy the appropriate control files to other control files, then execute startup.

Refer to Corrupted Control File.

14106 (SQLSTATE: HY000): tablespace (%s) is taken offline as the result of a write error

Cause

This error occurs if the abnormal writing fails in the data file of the tablespace. This OFFLINE the tablespace.

Action

Recover the tablespace by referring to ALTER DATABASE RECOVER.

14107 (SQLSTATE: HY000): given LOG_BLOCK_SIZE(%d) is not a suitable value for a size of log block; LOG_BLOCK_SIZE should be one of 512, 1024, 2048 or 4096.

Cause

This error occurs if the property value set in LOG_BLOCK_SIZE property is not suitable.

Action

Set LOG_BLOCK_SIZE property value to one of 512, 1024, 2048, 4096.

14108 (SQLSTATE: HY000): cannot disable archivelog - exist tablespace needed media recovery.

Cause

This error occurs if offline tablespace exists when shifting archive mode to NOARCHIVELOG.

Action

Try again after make offline tablespaces ONLINE. Refer to to Managing Tablespace State and ALTER TABLESPACE name [ONLINE|OFFLINE] to ONLINE tablespaces.

14109 (SQLSTATE: HY000): OFFLINE NORMAL disallowed; cannot be taken offline consistently.

Cause

OFFLINE NORMAL is not allowed for the tablespace on MOUNT phase after the abnormal termination.

Action

Only OFFLINE IMMEDIATE is allowed. Refer to ALTER TABLESPACE name [ONLINE|OFFLINE].


gSQL> ALTER TABLESPACE test_tbs OFFLINE;


ERR-HY000(14109): OFFLINE NORMAL disallowed; cannot be taken offline consistently.


gSQL> ALTER TABLESPACE TEST_TBS OFFLINE IMMEDIATE;


Tablespace altered.

14110 (SQLSTATE: HY000): OFFLINE IMMEDIATE disallowed; noarchivelog mode

Cause

OFFLINE IMMEDIATE is not allowed on the noarchivelog mode if the recovery is required to shift the tablespace to online.

Action

Execute offline normal for the tablespace, or execute offline immediate on the archive log mode.


gSQL> ALTER TABLESPACE TEST_TBS OFFLINE IMMEDIATE;


ERR-HY000(14110): OFFLINE IMMEDIATE disallowed; noarchivelog mode


ALTER TABLESPACE TEST_TBS OFFLINE NORMAL;


Tablespace altered.

14111 (SQLSTATE: HY000): cannot create COLUMNAR TABLE; given MIN ROW COUNT is too big to put into one page

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14112 (SQLSTATE: HY000): record size is too large for columnar table

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14113 (SQLSTATE: HY000): datafile '%s' is corrupted

Cause

This error occurs if the data file is corrupted.

Action

Recover the data file by referring to Corrupted Data File.

14114 (SQLSTATE: HY000): datafile '%s' is more recent than redo logfile

Cause

This error occurs if the data more recent than the last log used for the recovery exists in the database.

Action

Recover it by using the earlier backup or using the more recent log file. Refer to More Recent Datafile Than Log.

14115 (SQLSTATE: HY000): transaction undo limit exceeded

Cause

This error occurs if the number of undo pages used while processing the transaction is bigger than TRANSACTION_MAXIMUM_UNDO_PAGE_COUNT property value.

Action

Try again after adjusting TRANSACTION_MAXIMUM_UNDO_PAGE_COUNT property value.

14116 (SQLSTATE: HY000): unable to access incomplete journal log

Cause

If INDEX REBUILD, REBALANCE are executed on ONLINE mode, then journal logs for DML are created. This error occurs if the operation related to the journal log fails.

Action

The error appears in the clause after caused by is the cause of an incomplete journal log. Try again after resolving this error.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


ERR-HY000(14116): unable to access incomplete journal log :

Caused by : ERR-HY000(14125): exceed maximum journal file size

14117 (SQLSTATE: HY000): cannot end incomplete recovery; incomplete recovery never been begun

Cause

This error occurs if trying END INCOMPLETE RECOVERY though the incomplete recovery has not been started.

Action

N/A

14118 (SQLSTATE: HY000): property TRANSACTION_TABLE_SIZE value must be equal to or greater than '%d'

Cause

This error occurs if TRANSACTION_TABLE_SIZE property is smaller than the number of transactions required for the operation after the recovery.

Action

Set TRANSACTION_TABLE_SIZE property bigger than or equal to the value output in the error message.

14119 (SQLSTATE: HY000): property UNDO_RELATION_COUNT value must be equal to or greater than '%ld'

Cause

This error occurs if the number of new undo relations is smaller then the number of existing undo relations during the recovery.

Action

Set UNDO_RELATION_COUNT property bigger than or equal to the value output in the error message.

14120 (SQLSTATE: HY000): sequence is dropped

Cause

This error occurs if sync or DDL is performed while dropping the sequence.

Action

N/A

14121 (SQLSTATE: HY000): file '%s' does not match with database - file signature '%s', database signature '%s'

Cause

This error occurs if inappropriate file is used when recovering through the backup file.

Action

Try recovery by using the backup file having the signature of the same database. The signature of the backup file is found as follows through gdump.


$ gdump BACKUP filename -h | grep signature


Database signature : 28E278E40CE011EF9BD45323C4EAD45D

14122 (SQLSTATE: HY000): there is a possibility that a deadlock occurs

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14123 (SQLSTATE: 22023): INCREMENTBY sign cannot be changed in the cluster system

Cause

This error occurs if the sign (+/-) of INCREMENT BY option value is switched when performing ALTER SEQUENCE in cluster environment.

Action

If the sign should be switched, then create the sequence again after dropping the sequence.

14124 (SQLSTATE: HY000): RESTORE in progress

Cause

This error occurs if trying to drop the backup file while it is being restored.

Action

Try again after it is completely recovered.

14125 (SQLSTATE: HY000): exceed maximum journal file size

Cause

This error occurs if the journal file bigger than MAX_JOURNAL_FILE_SIZE property value is required.

Action

Set MAX_JOURNAL_FILE_SIZE property value big enough.

14126 (SQLSTATE: HY000): there must be at least one recoverable member in the group

Cause

This error occurs if all members of the group can become irrecoverable when executing ALTER SYSTEM IRRECOVERABLE CLUSTER MEMBER.

Action

Check if one or more recoverable members exist in the group. The state of the member is found through gdump as follows.


$ gdump CONTROL control_0.ctl -h

[CLUSTER MEMBER #0]

MEMBER NAME : G1N1

MEMBER TYPE : LOCAL

MEMBER STATUS : RECOVERABLE

GROUP ID : 1

GROUP NAME : G1

MEMBER ID : 1

MEMBER POSITION : 0


[CLUSTER MEMBER #1]

MEMBER NAME : G1N2

MEMBER TYPE : REMOTE

MEMBER STATUS : IRRECOVERABLE

GROUP ID : 1

GROUP NAME : G1

MEMBER ID : 2

MEMBER POSITION : 1

14127 (SQLSTATE: HY000): object no longer exists

Cause

This error occurs if trying to use the dropped global temporary table.

Action

N/A

14128 (SQLSTATE: HY000): invalid remote view scn

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14129 (SQLSTATE: HYT00): transaction allocation time exceeded

Cause

This error occurs if the transaction is not allocated for the time longer than TRANSACTION_ALLOCATION_TIMEOUT property value.

Action

Set TRANSACTION_ALLOCATION_TIMEOUT property value bigger, or set TRANSACTION_TABLE_SIZE value bigger if TRANSACTION_TABLE_SIZE value is too small.

14130 (SQLSTATE: HYT00): undo relation allocation time exceeded

Cause

This error occurs if the undo relation is not allocated for the time longer than UNDO_RELATION_ALLOCATION_TIMEOUT property value.

Action

Set UNDO_RELATION_ALLOCATION_TIMEOUT property value bigger, or set UNDO_RELATION_COUNT value bigger if UNDO_RELATION_COUNT value is too small.

14131 (SQLSTATE: 42000): unable to enable change tracking in cds mode

Cause

This error occurs if the change tracking is changed in CDS mode.

Action

It can be changed when it is operated in TDS mode.

14132 (SQLSTATE: 42000): unable to enable change tracking in noarchivelog mode

Cause

This error occurs if the change tracking is enabled in NOARCHIVELOG mode.

Action

The change tracking can be enabled only in ARCHIVELOG mode.

14133 (SQLSTATE: HY000): change tracking is already enabled

Cause

This error occurs if trying to enable the change tracking when it is already enabled.

Action

N/A

14134 (SQLSTATE: HY000): change tracking is not enabled

Cause

This error occurs if trying to disable the change tracking when it is already disabled.

Action

N/A

14135 (SQLSTATE: HY000): change tracking file is corrupted - '%s'

Cause

This warning occurs if the corrupted change tracking file is found during the startup process.

Action

N/A

14136 (SQLSTATE: HY000): failed to backup incremental because change tracking is being altered

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14137 (SQLSTATE: HY000): failed to disable change tracking because incremental backup is in progress

Cause

This error occurs if trying to disable the change tracking while the incremental backup is in progress.

Action

Try again after the incremental backup is completed.

14138 (SQLSTATE: HY000): exceed maximum insertable records ( %lu ) by transaction

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14139 (SQLSTATE: HY000): transaction(%ld) is timed out for waiting to resolve cluster deadlock

Cause

deprecated

Action

If this error occurs, contact our customer service department.

14140 (SQLSTATE: HY000): the value of MAXTRANS to be changed must be equal to or greater than the current MAXTRANS '%d'

Cause

This error occurs if trying to change the index MAXTRANS value to a smaller value.

Action

INDEX REBUILD is required to set MAXTRANS value to a smaller value.

14141 (SQLSTATE: HY000): shard '%d' exceeds maximum shard sequence

Cause

This error occurs if the shard sequence of the index exceeds the limit when altering the shad.

Action

REBUILD or COALESCE the index related to the shard.

14142 (SQLSTATE: HY000): cannot recover; database is going shutdown

Cause

This error occurs if trying to recover while the database is being shutdown.

Action

It can not be recovered during the shutdown.

14143 (SQLSTATE: HY000): cannot backup; database is proceeding other operation '%s'

Cause

This error occurs if trying to backup while the following operation is in progress.


  • CHECKPOINT,

  • SHUTDOWN,

  • CHANGE TRACKING,

  • OFFLINE TBS,

  • ONLINE TBS,

  • DROP TBS,

  • ADD DATAFILE,

  • DROP DATAFILE

Action

위 작업이 완료되면 다시 시도한다.

14144 (SQLSTATE: HY000): file is not in use for global transaction log - '%s'

Cause

This error occurs if the global transaction logfile to alter its name is not found.

Action

Check the name of the global transaction logfile, then try again. The path of the global transaction logfile is found as follows through V$DB_FILE.


gSQL> SELECT FILE_NAME FROM V$DB_FILE WHERE FILE_TYPE = 'Global Transaction Log File';


FILE_NAME


-------------------------------------------------------------------


/path/to/wal/commit_0.log


/path/to/wal/commit_1.log


2 rows selected.

14145 (SQLSTATE: HY000): file is already in use for global transaction log - '%s'

Cause

This error occurs if the name of the global transaction logfile is already in use.

Action

Check the name of the global transaction logfile in use, then try again. The path of the global transaction logfile is found as follows through V$DB_FILE.


gSQL> SELECT FILE_NAME FROM V$DB_FILE WHERE FILE_TYPE = 'Global Transaction Log File';


FILE_NAME


-------------------------------------------------------------------


/path/to/wal/commit_0.log


/path/to/wal/commit_1.log


2 rows selected.

14146 (SQLSTATE: 01000): shard(%d) of index(%ld) used all shard sequences

Cause

This error occurs when INDEX COALESCE is used to clean up old shard keys in the index, but no spare shard sequences are secured. In this case, if there are no spare shard sequences available, shard modification operations such as MOVE SHARD, MERGE SHARDS, and SPLIT SHARD cannot be performed.

Action

Use INDEX REBUILD to clean up invalid shard keys.

14147 (SQLSTATE: HY000): incomplete recovery is possible up to '%s'

Cause

The log is not sufficient to complete the incomplete recovery.


gSQL> ALTER DATABASE RECOVER UNTIL TIME '2023-04-11 12:50:00.000000';

ERR-HY000(14147): incomplete recovery is possible up to - 'TIME : 2023-04-11 12:46:47.663201'

Action

Restore the log files (archive log, redo log) required to complete the recovery then execute the recovery again, or execute the recovery again only to the allowed point.


gSQL> ALTER DATABASE RECOVER UNTIL TIME '2023-04-11 12:46:47.663201';

14148 (SQLSTATE: HY000): exceed the maximum log size allowed to one statement

Cause

The number of logs recorded when inserting, updating, or deleting a record exceeds the maximum value that can be handled internally. It occurs if the sum of the number of columns and the number of unique indexes exceed 15 million when recording the supplemental log for the replication (cyclone).

Action

Reduce the sum of the number of the columns and the number of unique indexes in the target table which records the supplemental log to 15 million or less.

14149 (SQLSTATE: HY000): file name is too long ( < %d )

Cause

The name of the incremental backup file exceeds 128 characters.

Action

Reduce the name of the incremental backup file to 128 characters or less.

14150 (SQLSTATE: 01000): incremental backup succeeded, but automatic backup of control files failed

Cause

It is a warning message which appears when the incremental backup succeeds but the automatic backup of the control file fails.

Action

Check whether the control file to be backed up exists.

14151 (SQLSTATE: 01000): incremental backup succeeded, but automatic removal of the obsolete backup list failed

Cause

It is a warning message which appears when the incremental backup succeeds but the automatic deletion of the backup list fails.

Action

Check whether the control file exists.

14152 (SQLSTATE: HY000): cannot create tablespace because all tablespace identifiers are exhausted (maximum: %d)

Cause

The maximum representable range of tablespace IDs (65534) has been reached, so new tablespaces cannot be created.

Action

N/A

14153 (SQLSTATE: HY000): given GLOBAL_TRANSACTION_LOG_BLOCK_SIZE(%ld) is not a suitable value for a size of log block; GLOBAL_TRANSACTION_LOG_BLOCK_SIZE should be one of 512, 1024, 2048, or 4096.

Cause

It is a warning message which appears when GLOBAL_TRANSACTION_LOG_BLOCK_SIZE value is not set as one of 512, 1024, 2048, 4096.

Action

Select one of 512, 1024, 2048, 4096 as GLOBAL_TRANSACTION_LOG_BLOCK_SIZE value.

14154 (SQLSTATE: HY000): cannot add datafile; tablespace(%s) is offline

Cause

It is a warning message which appears when adding the datafile to the offline tablespace.

Action

Add the datafile after shifting the offline tablespace to online.

Refer to ALTER TABLESPACE name [ONLINE|OFFLINE].

14155 (SQLSTATE: HY000): cannot add datafile; tablespace is dropped

Cause

It is a warning message which appears when adding the datafile to the dropped tablespace.

Action

N/A

14156 (SQLSTATE: HY000): unable to create database in cds mode

Cause

Databases cannot be created in CDS mode.

Action

Databases must be created in TDS mode.

To switch to TDS mode, set the DATA_STORE_MODE property to 2.

14157 (SQLSTATE: HY000): transaction '%ld' exceeds the maximum TCN (transaction change number)

Cause

This error message occurs when the maximum number of statements (4,294,967,294) that can be created within a transaction is exceeded.

Action

Divide the statements into multiple transactions and process them accordingly.

14158 (SQLSTATE: HY000): cannot read table after modification in parallel

Cause

This error message occurs when performing a full scan on a table on which an append insert was executed using the PARALLEL option in the session.


gSQL> CREATE TABLE T1 ( I1 INTEGER );


Table created.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT /*+ APPEND PARALLEL */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> SELECT * FROM T1;


ERR-42000(14158): cannot read table after modification in parallel

Action

Perform the full scan after completing the transaction that executed the append insert.

14159 (SQLSTATE: 40000): cannot perform index scan due to ongoing inserts with the deferred index maintenance option

Cause

This error message occurs when attempting an index scan on a table on which an append insert was executed using the deferred index maintenance option in the session.


gSQL> CREATE TABLE T1 ( I1 INTEGER );


Table created.


gSQL> CREATE INDEX T1X ON T1 ( I1 );


Index created.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT /*+ APPEND DEFERRED_INDEX_MAINTENANCE */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> SELECT * FROM T1 WHERE I1 > 0;


ERR-42000(14159): cannot perform index scan due to ongoing inserts with the deferred index maintenance option

Action

Use a table scan hint, or perform the index scan after completing the transaction that executed the append insert.


gSQL> SELECT /*+ FULL(T1) */ * FROM T1 WHERE I1 > 0;


I1

--

1


1 row selected.

14160 (SQLSTATE: 42000): the sequence operation was canceled because the driver member is inactive

Cause

This error is internally controlled in the server.

Action

If this error occurs, contact our customer service department.

14161 (SQLSTATE: 42000): incomplete or corrupted database creation detected

Cause

This is an error that occurs when the server is restarted with an incomplete or corrupted database.

Action

In this case, create a new database and try again.

14162 (SQLSTATE: 42000): visible conflict

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

14163 (SQLSTATE: HY000): needs more recovery to be consistent - %s

Cause

This error occurs when performing incomplete recovery using backup data files and the latest control file, and there are tablespaces whose consistency between the database and the control file is compromised.

Action

To recover tablespaces with compromised consistency, perform incomplete recovery again using a control file backed up prior to the recovery point.

If the tablespace is to be discarded, perform incomplete recovery again using a point after the tablespace was deleted.

14164 (SQLSTATE: HY000): RECOVER succeeded, but OPEN RESETLOGS will fail

Cause

This error occurs when incomplete recovery has been completed, but the database cannot be opened using the RESETLOGS option.

Action

Either re-perform the incomplete recovery at a more recent point, or perform recovery using a control file backed up prior to the incomplete recovery point.

14165 (SQLSTATE: HY000): the allocated space (%ld) has already exceeded MAXSIZE

Cause

This error occurs when MAXSIZE is specified to a value smaller than the current allocation.

Action

Specify a MAXSIZE value greater than the current allocation.

14166 (SQLSTATE: HY000): storage option INITIAL must be less than MAXSIZE

Cause

This error occurs when the INITIAL size exceeds MAXSIZE.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( INITIAL 2M MAXSIZE 1M );


ERR-HY000(14166): storage option INITIAL must be less than MAXSIZE :

CREATE TABLE t1( c1 INTEGER ) STORAGE( INITIAL 2M MAXSIZE 1M )

*

ERROR at line 1:

Action

Either decrease the INITIAL value or increase MAXSIZE.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( INITIAL 1M MAXSIZE 2M );


Table created.

14167 (SQLSTATE: HY000): invalid anchor transaction (%ld)

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

14168 (SQLSTATE: 40000): transaction rollback: asynchronous I/O failure

Cause

An asynchronous disk I/O request failed while executing the append insert with the STATEMENT_NOFORCE option.

The transaction is forcibly rolled back.

Action

Resolve the cause indicated in the error message, and then retry the operation.

14169 (SQLSTATE: HY000): '%s' is not current copy - a recovery requires logs up to at least lsn '%ld' to complete, but it contains only logs up to lsn '%ld'

Cause

This error occurs because the log file is not up to date and the recovery cannot be completed. It occurs when recovery is attempted using a log file that is older than the control file.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-HY000(14169): '/test/wal/redo_1_0.log' is not current copy - a recovery requires logs up to at least lsn '3997290' to complete, but it contains only logs up to lsn '3997283'

Action

Retry the recovery using a log file that contains the minimum LSN required for recovery indicated in the error message.

If the log file containing the required logs is corrupted or unavailable, perform incomplete recovery.

14170 (SQLSTATE: HY000): Logical corruption detected -recovery failed for nologged pages due to missing redo logs

Cause

This error occurs when attempting to recover nologged pages during tablespace or datafile recovery.


gSQL> ALTER DATABASE RECOVER TABLESPACE mem_test_tbs;


ERR-HY000(14056): failed to apply redo log ( lsn : 247091, lpsn : 0, physical id : 35944581300225 )

ERR-HY000(14170): logical corruption detected - Recovery failed for nologged pages due to missing redo log

Action

Perform the recovery again using a backup taken after the execution of nologging DML or DDL operations.

14171 (SQLSTATE: HY000): %d segments have become unusable

Cause

This warning message occurs when segments become unusable after executing the following statements:


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-HY000(14171): 2 segments have become unusable

System altered.

Action

The usability of segments can be checked using the following syntax:


gSQL> SELECT name, physical_id FROM v$relation WHERE USABLE = false;


NAME PHYSICAL_ID

---- --------------

T1 35944581300233

T2 35948876267529


2 rows selected.

14172 (SQLSTATE: HY000): Cannot execute; startup is in progress

Cause

A shutdown, startup, or database recovery command is executed from another session while the startup process is in progress.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-HY000(14172): cannot execute; startup is in progress

Action

Retry the operation after the startup process has completed.

14173 (SQLSTATE: HY000): Cannot execute; shutdown is in progress

Cause

a shutdown, startup, or database recovery command is executed from another session while the shutdown process is in progress.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-HY000(14173): cannot execute; shutdown is in progress

Action

Retry the operation after the shutdown process has completed.

14174 (SQLSTATE: HY000): failed to log Page Image Log

Cause

During the checkpoint process, when the IO slave writes modified pages to the datafile, a PIL (Page Image Log) is recorded in the log if a full backup is in progress. This error occurs when there is insufficient space in the log file.


gSQL> ALTER SYSTEM CHECKPOINT;


ERR-HY000(14174): failed to log Page Image Log

Action

Execute the ALTER DATABASE END BACKUP statement.


gSQL> ALTER DATABASE END BACKUP;


Database altered.

14175 (SQLSTATE: HY000): cannot execute; database backup is in progress

Cause

This error occurs when attempting to create a tablespace or change a tablespace status to online while a full backup is in progress on the database.

Action

Terminate the full backup and try again.

14176 (SQLSTATE: HY000): the change tracking file '%s' is inconsistent

Cause

An error occurs during startup in the following cases:

  • The database signature differs from the signature stored in the change tracking file.

  • The database's last checkpoint LSN differs from the checkpoint LSN stored in the change tracking file.


gSQL> alter system open database;


ERR-HY000(14176): the change tracking file '/db/gl_change_tracking_file.ctf' is inconsistent : the change tracking file signature(8A802748744111F1B7547DCB04412231) does not match the database signature(373BB782744611F19F71CF68EBCB0533)

Action

To use a backed-up change tracking file, restart the database using a change tracking file whose database signature matches the current database and whose checkpoint LSN matches the database's last checkpoint LSN.


If no valid change tracking file is available, disable change tracking as shown below, and then enable it again.


gSQL> alter database disable change tracking;


Database altered.


gSQL> alter database enable change tracking;


Database altered.


gSQL> alter system open database;


System altered.

14177 (SQLSTATE: HY000): of the total '%d' unusable segments, '%d' segments have become usable

Cause

This warning message occurs when some of the segments that were in the UNUSABLE state are changed to the USABLE state during the database open or recovery process.

The statement is executed successfully, and the message displays the total number of UNUSABLE segments and the number of segments that have been changed to the USABLE state.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-HY000(14177): of the total '2' unusable segments, '2' segments have become usable

System altered.

Action

If all UNUSABLE segments have been changed to the usable state, no additional action is required.

If the number of segments changed to the usable state is less than the total number of UNUSABLE segments, check the remaining UNUSABLE segments and then execute the recovery, synchronize, or DROP UNUSABLE SEGMENTS statement.

To check the tables that contain UNUSABLE segments, check V$RELATION as follows.


gSQL> SELECT NAME, USABLE FROM V$RELATION WHERE USABLE = FALSE;


NAME USABLE

---- ------

T1 FALSE


1 row selected.

14178 (SQLSTATE: 42000): memory '%s' does not exist in tablespace '%s'

Cause

This error occurs because the memory to be renamed does not exist in the specified temporary tablespace. If multiple sessions simultaneously rename memory in the same temporary tablespace, a later rename operation may fail to find the target memory because it has already been renamed by an earlier rename operation.


gSQL> CREATE TEMPORARY TABLESPACE temp_tbs MEMORY 'temp_memory1' SIZE 20M;


Tablespace created.


gSQL> ALTER TABLESPACE temp_tbs RENAME MEMORY 'temp_memory1' TO 'temp_memory2';


ERR-42000(14178): memory 'temp_memory1' does not exist in tablespace 'TEMP_TBS'

Action

Use V$DATAFILE to verify that the target memory to be renamed exists in the temporary tablespace, and then try the operation again.


gSQL> SELECT TBS_NAME, DATAFILE_NAME FROM V$DATAFILE WHERE TBS_NAME = 'TEMP_TBS';


TBS_NAME DATAFILE_NAME

-------- -------------

TEMP_TBS temp_memory


1 row selected.


gSQL> ALTER TABLESPACE temp_tbs RENAME MEMORY 'temp_memory' TO 'temp_memory2';


Tablespace altered.

14179 (SQLSTATE: 42000): datafile '%s' does not exist in tablespace '%s'

Cause

This error occurs because the datafile to be renamed does not exist in the specified tablespace.

If multiple sessions simultaneously rename datafiles in the same data tablespace, a later rename operation may fail to find the target datafile because it has already been renamed by an earlier rename operation.


gSQL> CREATE TABLESPACE test_tbs DATAFILE 'test1.dbf' SIZE 20M;


Tablespace created.


gSQL> ALTER TABLESPACE test_tbs RENAME DATAFILE 'test1.dbf' TO 'test2.dbf';


ERR-42000(14179): datafile 'test1.dbf' does not exist in tablespace 'TEST_TBS'

Action

Use V$DATAFILE to verify that the target datafile to be renamed exists in the tablespace, and then try the operation again.


gSQL> SELECT TBS_NAME, DATAFILE_NAME FROM V$DATAFILE WHERE TBS_NAME = 'TEST_TBS';


TBS_NAME DATAFILE_NAME

-------- -------------

TEST_TBS test.dbf


1 row selected.


gSQL> ALTER TABLESPACE test_tbs RENAME DATAFILE 'test.dbf' TO 'test2.dbf';


Tablespace altered.

Dictionary Cash Related Error

15000 (SQLSTATE: HY000): failed to initialize execution library layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15001 (SQLSTATE: HY000): execution library layer is not initialized yet

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15002 (SQLSTATE: 42000): %s: schema does not exist

Cause

The schema name which does not exist was used.


gSQL> SELECT ANAL_TABLE_PAGE_STRUCT( 'INVALID', 'T1' ) FROM DUAL;


ERR-42000(15002): "INVALID": schema does not exist :

SELECT ANAL_TABLE_PAGE_STRUCT( 'INVALID', 'T1' ) FROM DUAL

*

ERROR at line 1:

Action

Use a valid schema name.


gSQL> SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' ) FROM DUAL;


ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' )

----------------------------------------

1:0


1 row selected.

15003 (SQLSTATE: 42000): %s: table or view does not exist

Cause

The table name which does not exist was used.


SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'INVALID' ) FROM DUAL;


ERR-42000(15003): "INVALID": table or view does not exist :

SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'INVALID' ) FROM DUAL

*

ERROR at line 1:

Action

Use a valid table name.


gSQL> SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' ) FROM DUAL;


ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' )

----------------------------------------

1:0


1 row selected.

15004 (SQLSTATE: 42000): %s: index does not exist

Cause

The index name which does not exist was used.


gSQL> SELECT ANAL_INDEX_PAGE_STRUCT( 'PUBLIC', 'INVALID' ) FROM DUAL;


ERR-42000(15004): "INVALID": index does not exist :

SELECT ANAL_INDEX_PAGE_STRUCT( 'PUBLIC', 'INVALID' ) FROM DUAL

*

ERROR at line 1:

Action

Use a valid index name.


gSQL> SELECT ANAL_INDEX_PAGE_STRUCT( 'PUBLIC', 'T1_C1_IDX' ) FROM DUAL;


ANAL_INDEX_PAGE_STRUCT( 'PUBLIC', 'T1_C1_IDX' )

-----------------------------------------------

1:1:1:100


1 row selected.

15005 (SQLSTATE: 42000): %s: column does not exist

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15006 (SQLSTATE: 23000): %s: dictionary integrity constraint violation by concurrent DDL execution

Cause

It violated the dictionary integrity by simultaneously creating the identical name objects


session 1> CREATE TABLESPACE TEST_TBS DATAFILE 'TEST_TBS.dbf' SIZE 10M;


Tablespace created.


session 2> CREATE TABLESPACE TEST_TBS DATAFILE 'TEST_TBS.dbf' SIZE 10M;


ERR-23000(15006): "TABLESPACES_UNIQUE_TABLESPACE_NAME": dictionary integrity constraint violation by concurrent DDL execution

Action

Do not create the identical objects in different sessions.

15007 (SQLSTATE: HY090): not enough stack space to add entries

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15008 (SQLSTATE: HY000): table related objects are modified while validation

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15009 (SQLSTATE: HY000): Invalid argument

Cause

The argument which is not available in the function was used.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1( c1 INTEGER, c2 INTEGER );


Table created.


gSQL> SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' ) FROM DUAL;


ERR-HY000(15009): Invalid argument :

SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' ) FROM DUAL

*

ERROR at line 1:

Action

The function allows only a base table as an input argument.


gSQL> CREATE TABLE T1 ( C1 VARCHAR(30) );


Table created.


SELECT ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' ) FROM DUAL;


ANAL_TABLE_PAGE_STRUCT( 'PUBLIC', 'T1' )

----------------------------------------

1:0


1 row selected.

15010 (SQLSTATE: 42000): object modified by concurrent DDL execution

Cause

The object was modified because of the concurrent DDL execution.

Action

Do not execute DDL simultaneously for the same object.

15011 (SQLSTATE: HYC00): not implemented feature, in a function %s

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15012 (SQLSTATE: 42000): user dropped by other session

Cause

The user object currently connected was dropped in another session.


% gsql u1 u1


Connected to GOLDILOCKS Database.


gSQL> select * from dual;


DUMMY

-----

X


1 row selected.


gSQL> select * from dual;


ERR-42000(15012): user dropped by other session

Action

Connect again with a valid user.

15013 (SQLSTATE: 42000): user default schema dropped

Cause

The schema which was set in a session with SET SCHEMA was dropped.


gSQL> create schema s1;


Schema created.


gSQL> set schema s1;


Session set.


gSQL> drop schema s1;


Schema dropped.


gSQL> select * from dual;


ERR-42000(15013): user default schema dropped

Action

Connect again.

15014 (SQLSTATE: 42000): user default data tablespace dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15015 (SQLSTATE: 42000): user default temporary tablespace dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15016 (SQLSTATE: 0Y002): limit(%d) on the number of named cursor exceeded

Cause

The cursor declaration in a session exceeds the number set in MAXIMUM_NAMED_CURSOR_COUNT.


gSQL> ALTER SYSTEM SET MAXIMUM_NAMED_CURSOR_COUNT = 3 DEFERRED;


System altered.


% gsql test test


Connected to GOLDILOCKS Database.


gSQL> DECLARE cur1 CURSOR FOR SELECT * FROM t1;


Cursor declared.


gSQL> DECLARE cur2 CURSOR FOR SELECT * FROM t1;


Cursor declared.


gSQL> DECLARE cur3 CURSOR FOR SELECT * FROM t1;


Cursor declared.


gSQL> DECLARE cur4 CURSOR FOR SELECT * FROM t1;


ERR-0Y002(15016): limit(3) on the number of named cursor exceeded

Action

Modify the value of MAXIMUM_NAMED_CURSOR_COUNT property.

15017 (SQLSTATE: 42000): DDL not allowed for supplemental log table

Cause

DDL is not executable for the table where the supplemental log is set.


gSQL> ALTER TABLE t1 ADD SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;


Table altered.


gSQL> ALTER SESSION SET DISABLE_DDL_CDC_GIVEUP = ON;


Session altered.


gSQL> DROP TABLE t1;


ERR-42000(15017): DDL not allowed for supplemental log table

Action

Set the DISABLE_DDL_CDC_GIVEUP property value OFF.

15018 (SQLSTATE: 42000): cluster member '%s' has already joined in an other cluster system

Cause

The cluster member belonging to a specific cluster system can not join another cluster system.

Action

Reset the cluster member with ALTER DATABASE RESET LOCAL CLUSTER MEMBER statement, and then add it to another cluster system.

15019 (SQLSTATE: 42000): the %s of cluster member '%s' is not compatible with the cluster system

Cause

The cluster member dropped from a cluster system can not join that cluster system again.


gSQL> ALTER SYSTEM JOIN DATABASE;


ERR-42000(16363): the cluster member 'G4N1' failed to join the cluster system

ERR-42000(15019): MEMBER(G1N1): the CLUSTER REMOTE MEMBER NAME of cluster member 'G4N1' is not compatible with the cluster system

Action

Reset the cluster member with ALTER DATABASE RESET LOCAL CLUSTER MEMBER statement, and then add it to the cluster system.

15020 (SQLSTATE: 42000): tablespace '%s' of the cluster system does not exist at cluster member '%s'

Cause

The tablespace the same as the cluster system was not created in the cluster member to add.


gSQL> CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 14150;


ERR-42000(15020): MEMBER(G4N1): tablespace 'TEST_TBS' of the cluster system does not exist at cluster member 'G4N1'

Action

Create the tablespace the same as the cluster system in the cluster member to add.

15021 (SQLSTATE: 42000): tablespace '%s' of the cluster member '%s' does not exist at the cluster system

Cause

The cluster member to add has a tablespace which does not exist in the cluster system.


gSQL> CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 14150;


ERR-42000(15021): MEMBER(G4N1): tablespace 'TEMP_TBS' of the cluster member 'G4N1' does not exist at the cluster system

Action

Drop the tablespace which does not exist in the cluster system from the cluster member to add.

15022 (SQLSTATE: 42000): the %s of the tablespace '%s' at cluster member '%s' is not compatible with the cluster system

Cause

The tablespace whose name is the same as the tablespace in the cluster system but whose type is different exists in the cluster member to add.


gSQL> CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 14150;


ERR-42000(15022): MEMBER(G4N1): the USAGE(data/temporary) TYPE of the tablespace 'TEST_TBS' at cluster member 'G4N1' is not compatible with the cluster system

Action

Drop the existing tablespace from the cluster member to add, and then create the tablespace whose type is the same as the tablespace in the cluster system.

15023 (SQLSTATE: HY000): limit(%d) on the number of named instant table exceeded

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15024 (SQLSTATE: 42000): the cluster member '%s' does not join in a cluster system

Cause

It tried to join the new cluster member to a cluster system.


ALTER SYSTEM JOIN DATABASE;


ERR-42000(16363): the cluster member 'G1N2' failed to join the cluster system

ERR-42000(15024): MEMBER(G2N2): the cluster member 'G2N2' does not join in a cluster system

Action

A new cluster member must be added to the cluster system instead of joining.

15025 (SQLSTATE: 42000): startup phase of new cluster member should be OPEN

Cause

A new cluster member can not be added to the cluster system because its startup phase is not OPEN.

Action

Modify the startup phase of a new cluster member to OPEN, and then add the cluster member.

15026 (SQLSTATE: HY000): internal error, in a function %s

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15027 (SQLSTATE: 42000): attempt to create, alter or drop an index on temporary table already in use

Cause

DDL was executed while using the global temporary table.


gSQL> CREATE GLOBAL TEMPORARY TABLE TEMP_T1( I1 INTEGER, I2 VARCHAR(10) );


Table created.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT INTO TEMP_T1 VALUES( 1, 'aaa' );


1 row created.


gSQL> DROP TABLE TEMP_T1;


ERR-42000(15027): attempt to create, alter or drop an index on temporary table already in use

Action

DDL is executable only when the global temporary table is not in use.


gSQL> DROP TABLE TEMP_T1;


ERR-42000(15027): attempt to create, alter or drop an index on temporary table already in use


gSQL> COMMIT;


Commit complete.


gSQL> DROP TABLE TEMP_T1;


Table dropped.

15028 (SQLSTATE: 42000): user default index tablespace dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

15029 (SQLSTATE: 2F000): limit(%d) on the number of package instance exceeded

Cause

The number of package instances created in a session exceeds the maximum number.

Action

Modify the value of MAXIMUM_PACKAGE_INSTANCE_COUNT property.

15030 (SQLSTATE: 42000): session default role dropped

Cause

The role which was set in a session with SET ROLE was dropped.


gSQL> create role role1;


Role created.


gSQL> set role role1;


Session set.


gSQL> drop role role1;


Role dropped.


gSQL> select * from dual;


ERR-42000(15030): session default role dropped

Action

Connect again.

15031 (SQLSTATE: 39000): limit(%d) on the number of loaded library exceeded

Cause

The number of user libraries loaded by the process exceeds the maximum number.

Action

Modify the value of MAXIMUM_LOADED_LIBRARY_COUNT property.

15032 (SQLSTATE: 42000): unmatched bracket in regular expression

Cause

The expression for regular expression [ ] is incorrect.


gSQL> SELECT REGEXP_COUNT( 'abc123', '[abc' ) FROM dual;

ERR-42000(15032): unmatched bracket in regular expression :

SELECT REGEXP_COUNT( 'abc123', '[abc' ) FROM dual

*

ERROR at line 1:

Action

[ ] operator should be completed by describing ] after '[', character list.

Refer to Regular Expression Operators.

15033 (SQLSTATE: 42000): unmatched parentheses in regular expression 

Cause

The expression for regular expression ( ) is incorrect.


gSQL> SELECT REGEXP_COUNT( 'abc123', '(abc' ) FROM dual;

ERR-42000(15033): unmatched parentheses in regular expression :

SELECT REGEXP_COUNT( 'abc123', '(abc' ) FROM dual

*

ERROR at line 1:

Action

The pairs of parentheses must match.

Refer to Regular Expression Operators.

15034 (SQLSTATE: 42000): invalid interval value in regular expression

Cause

The range specification of the number of repeating the regular expression is incorrect.


gSQL> SELECT REGEXP_SUBSTR( 'aaaabc', 'a{5,1}' ) FROM dual;

ERR-42000(15034): invalid interval value in regular expression :

SELECT REGEXP_SUBSTR( 'aaaabc', 'a{5,1}' )

*

ERROR at line 1:

Action

Specify the range of repetition in a form of {min, max}. e.g. a{1,5}

15035 (SQLSTATE: 42000): maximum repetition count in regular expression exceeded

Cause

It exceeds the maximum number of repeating regular expressions.


gSQL> SELECT REGEXP_SUBSTR( 'x', 'a{1,2147483648}' ) FROM dual;

ERR-42000(15035): maximum repetition count in regular expression exceeded :

SELECT REGEXP_SUBSTR( 'x', 'a{1,2147483648}' ) FROM dual

*

ERROR at line 1:

Action

The maximum number of repetition can be specified up to 2147483647. e.g. a{1,2147483647}

15036 (SQLSTATE: 42000): invalid repetition operand in regular expression

Cause

The expression of the repetition operator is incorrect.

The repetition operator can not be solely described. e.g. '?'

The repeating expression can not be consecutively described. e.g. 'a+{1,3}


gSQL> SELECT REGEXP_SUBSTR( 'a', 'a+{1,3}' ) from dual;

ERR-42000(15036): invalid repetition operand in regular expression :

SELECT REGEXP_SUBSTR( 'a', 'a+{1,3}' ) from dual

*

ERROR at line 1:

Action

Describe the expression before describing the repeating operator.

e.g. 'a?', '(a+){1,3}'

15037 (SQLSTATE: 42000): invalid character class in regular expression

Cause

The character class which was not defined in the regular expression was described.


gSQL> SELECT REGEXP_SUBSTR( 'abc123', '[[:alphanumeric:]]' ) FROM dual;

ERR-42000(15037): invalid character class in regular expression :

SELECT REGEXP_SUBSTR( 'abc123', '[[:alphanumeric:]]' ) FROM dual

*

ERROR at line 1:

Action

Use the defined character class.

Refer to Regular Expression Operators.

15038 (SQLSTATE: 42000): invalid character range in regular expression

Cause

The range specification of the regular expression is incorrect.

The range should be specified in a form of [minvalue-maxvalue].


gSQL> SELECT REGEXP_SUBSTR( 'x', '[z-a]' ) FROM dual;

ERR-42000(15038): invalid character range in regular expression :

SELECT REGEXP_SUBSTR( 'x', '[z-a]' ) FROM dual

*

ERROR at line 1:

Action

Specify the range in a form of [minvalue-maxvalue]. e.g. [a-z]

15039 (SQLSTATE: 42000): invalid escape sequence in regular expression

Cause

The expression of \ (escape character) is incorrect.


gSQL> SELECT REGEXP_SUBSTR( '\', '\' ) from dual;

ERR-42000(15039): invalid escape sequence in regular expression :

SELECT REGEXP_SUBSTR( '\', '\' ) from dual

*

ERROR at line 1:

Action

Describe the character after describing \ (escape character).

e.g. REGEXP_SUBSTR( '\', '\\' )

15040 (SQLSTATE: 42000): invalid back reference number in regular expression

Cause

The back reference which is inappropriate for the regular expression is described.

The back reference can refer to the previously described subexpression.


gSQL> SELECT REGEXP_SUBSTR( 'abcabc', '(abc)\3' ) FROM dual;

ERR-42000(15040): invalid back reference number in regular expression :

SELECT REGEXP_SUBSTR( 'abcabc', '(abc)\3' ) FROM dual

*

ERROR at line 1:

Action

The back reference can refer to the previously described subexpression.

e.g. '(ab)(cd)\1\2'

Refer to Regular Expression Operators.

15041 (SQLSTATE: 42000): invalid regular expression match param %s

Cause

The matching option which is defined in the regular expression is not described.


gSQL> SELECT REGEXP_SUBSTR( 'abc', '.+', 1, 1, 'I' ) FROM dual;

ERR-42000(15041): invalid regular expression match param I :


SELECT REGEXP_SUBSTR( 'abc', '.+', 1, 1, 'I' ) FROM dual

*

ERROR at line 1:

Action

Describe the matching option, i, c, n, m, x, which is defined in the regular expression according to the purpose.

15042 (SQLSTATE: 42000): regular expression too long

Cause

It exceeds the maximum length, 512 bytes, allowed for the regular expression.

Action

Describe the regular expression within 512 bytes which is the maximum length allowed for the regular expression.

15043 (SQLSTATE: 42000): invalid regular expression return_opt %ld

Cause

The value other than 0, 1 is described in return_opt which is the related function argument.


gSQL> SELECT REGEXP_INSTR( 'abc123가나다', '[[:digit:]]{3}', 1, 1, -1 ) from dual;

ERR-42000(15043): invalid regular expression return_opt -1 :

SELECT REGEXP_INSTR( 'abc123가나다', '[[:digit:]]{3}', 1, 1, -1 ) from dual

*

ERROR at line 1:

Action

Specify 0 or 1 according to the purpose of return_opt which is the related function argument.

15044 (SQLSTATE: 42000): string literal too long

Cause

The string which exceeds the maximum size of the related type is created or defined as a result of the operation.


gSQL> SELECT REGEXP_REPLACE ( varchar_col, 'a', 'bb' ) AS rep_col FROM t1;

ERR-42000(15044): string literal too long :

SELECT REGEXP_REPLACE ( varchar_col,

*

ERROR at line 1:

Action

Adjust the size to the allowed size for the type, or convert the type to the type which can accept the operation result.

e.g. REGEXP_REPLACE ( cast( varchar_col as long varchar ), 'a', 'bb' ) AS rep_col

15045 (SQLSTATE: 42000): argument '%ld' is out of range

Cause

The value exceeding the allowed range for the argument of the related function is described.


gSQL> SELECT REGEXP_INSTR( 'abc', '\w', -1 ) FROM dual;

ERR-42000(15045): argument '-1' is out of range :

SELECT REGEXP_INSTR( 'abc', '\w', -1 ) FROM dual

*

ERROR at line 1:

Action

Describe the value within the allowed range for argument of the related function.

15046 (SQLSTATE: 42000): the '%s' value must be a number between %ld and %ld

Cause

A value outside the allowed range has been specified for the parameter of the related function.


gSQL> SELECT TABLE_PHYSICAL_STATS( T1, 1000 ) FROM DUAL;

ERR-42000(15046): the 'sampling ratio' value must be a number between 1 and 100 :

SELECT TABLE_PHYSICAL_STATS( T1, 1000 ) FROM DUAL

*

ERROR at line 1:

Action

Specify a value within the allowed range for the parameter of the related function.

SQL Handling Related Error

16000 (SQLSTATE: HY000): failed to initialize sql processor layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16001 (SQLSTATE: HYC00): not implemented feature, in a function %s

Cause

It exists in the SQL standard, but is not implemented.


gSQL>

ALTER TABLE child ADD CONSTRAINT child_fk

FOREIGN KEY( c_fk ) REFERENCES parent( p_pk ) MATCH PARTIAL;

ERR-HYC00(16001): not implemented feature, in a function qlrValidateForeignKeyMatchType() :

FOREIGN KEY( c_fk ) REFERENCES parent( p_pk ) MATCH PARTIAL

*

ERROR at line 2:

Action

This function is not available.

16002 (SQLSTATE: HY000): invalid function sequence of sql processor layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16003 (SQLSTATE: 42000): identifier is too long

Cause

The column name exceeds the maximum length.


gSQL> CREATE TABLE T1 ( c234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 INTEGER );


ERR-42000(16003): identifier is too long :

CREATE TABLE T1 ( c234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 INTEGER )

*

ERROR at line 1:

Action

The identifier name should be smaller than 128 bytes.


gSQL> CREATE TABLE T1 ( c234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 INTEGER );


Table created.

16004 (SQLSTATE: 28000): invalid username/password; logon denied

Cause

The username or the password is wrong.


% gsql invalid invalid


ERR-28000(16004): invalid username/password; logon denied

Action

Connect with the correct username and password.

16005 (SQLSTATE: 42000): name '%s.%s' is already used by an existing object

Cause

The object with the duplicate name exists.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


ERR-42000(16005): name 'PUBLIC.T1' is already used by an existing object :

CREATE TABLE t1 ( c1 INTEGER )

*

ERROR at line 1:

Action

Check the name of the object to create.

16006 (SQLSTATE: 42000): schema '%s' does not exist

Cause

The corresponding schema does not exist.


gSQL> CREATE TABLE invalid.t1 ( c1 INTEGER );


ERR-42000(16006): schema 'INVALID' does not exist :

CREATE TABLE invalid.t1 ( c1 INTEGER )

*

ERROR at line 1:

Action

Check the schema name.

16007 (SQLSTATE: 42000): schema '%s' is not writable

Cause

An object can not be created in the system schema.


gSQL> CREATE TABLE definition_schema.t1 ( c1 INTEGER );


ERR-42000(16007): schema 'DEFINITION_SCHEMA' is not writable :

CREATE TABLE definition_schema.t1 ( c1 INTEGER )

*

ERROR at line 1:

Action

Check the available schema.


gSQL> CREATE TABLE public.t1 ( c1 INTEGER );


Table created.

16008 (SQLSTATE: 42000): tablespace '%s' does not exist

Cause

The tablespace does not exist.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE invalid;


ERR-42000(16008): tablespace 'INVALID' does not exist :

CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE invalid

*

ERROR at line 1:

Action

Specify the available tablespace.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE mem_data_tbs;


Table created.

16009 (SQLSTATE: 42000): tablespace '%s' is not writable

Cause

The user object can not be created in the system tablespace.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE dictionary_tbs;


ERR-42000(16009): tablespace 'DICTIONARY_TBS' is not writable :

CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE dictionary_tbs

*

ERROR at line 1:

Action

Specify the available tablespace.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE mem_data_tbs;


Table created.

16010 (SQLSTATE: 42000): invalid value for PCTFREE or PCTUSED

Cause

An invalid PCTFREE value was used.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) PCTFREE 100;


ERR-42000(16010): invalid value for PCTFREE or PCTUSED :

CREATE TABLE t1 ( c1 INTEGER ) PCTFREE 100

*

ERROR at line 1:

Action

Use PCTFREE value in the valid range (0~99) as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) PCTFREE 10;


Table created.

16011 (SQLSTATE: 42000): invalid INITRANS option value

Cause

An invalid INITRANS value was used.


gSQL> ALTER TABLE t1 INITRANS 100;


ERR-42000(16011): invalid INITRANS option value :

ALTER TABLE t1 INITRANS 100

*

ERROR at line 1:

Action

Use INITRANS value in the valid range (1~32) as follows.


gSQL> ALTER TABLE t1 INITRANS 4;


Table altered.

16012 (SQLSTATE: 42000): duplicate column name

Cause

The duplicate column exists.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c1 INTEGER );


ERR-42000(16012): duplicate column name :

CREATE TABLE t1 ( c1 INTEGER, c1 INTEGER )

*

ERROR at line 1:

Action

Change the column name to a different name.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );


Table created.

16013 (SQLSTATE: HY000): invalid value is prevented in validation step

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16014 (SQLSTATE: 22023): INCREMENT must be a non-zero integer

Cause

0 can not be used for the increment value of the sequence.


gSQL> CREATE SEQUENCE seq1 INCREMENT BY 0;


ERR-22023(16014): INCREMENT must be a non-zero integer :

CREATE SEQUENCE seq1 INCREMENT BY 0

*

ERROR at line 1:

Action

Use an integer other than 0 as an increment value of the sequence.


gSQL> CREATE SEQUENCE seq1 INCREMENT B

Y 1;


Sequence created.

16015 (SQLSTATE: 22023): START WITH cannot be less than MINVALUE

Cause

The starting value smaller than MINVALUE of the sequence can not be used.


gSQL> CREATE SEQUENCE seq1 START WITH 10 MINVALUE 20;


ERR-22023(16015): START WITH cannot be less than MINVALUE :

CREATE SEQUENCE seq1 START WITH 10 MINVALUE 20

*

ERROR at line 1:

Action

Use the value bigger than or equal to MINVALUE as the starting value of the sequence.


gSQL> CREATE SEQUENCE seq1 START WITH 20 MINVALUE 20;


Sequence created.

16016 (SQLSTATE: 22023): START WITH cannot be more than MAXVALUE

Cause

The starting value bigger than MAXVALUE of the sequence can not be used.


gSQL> CREATE SEQUENCE seq1 START WITH 40 MAXVALUE 30;


ERR-22023(16016): START WITH cannot be more than MAXVALUE :

CREATE SEQUENCE seq1 START WITH 40 MAXVALUE 30

*

ERROR at line 1:

Action

Use the value smaller than or equal to MAXVALUE as the starting value of the sequence.


gSQL> CREATE SEQUENCE seq1 START WITH 1 MAXVALUE 30;


Sequence created.

16017 (SQLSTATE: 22023): the number of values to CACHE must be greater than 1

Cause

CACHE value of the sequence must be bigger than 1.


gSQL> CREATE SEQUENCE seq1 CACHE 1;


ERR-22023(16017): the number of values to CACHE must be greater than 1 :

CREATE SEQUENCE seq1 CACHE 1

*

ERROR at line 1:

Action

Use CACHE value of the sequence bigger than 1.


gSQL> CREATE SEQUENCE seq1 CACHE 20;


Sequence created.

16018 (SQLSTATE: 22023): number to CACHE must be less than one cycle

Cause

CACHE size of the sequence should be smaller than one cycle value (100 in the following example).


gSQL> CREATE SEQUENCE seq1 MINVALUE 1 MAXVALUE 100 CACHE 1000 CYCLE;


ERR-22023(16018): number to CACHE must be less than one cycle :

CREATE SEQUENCE seq1 MINVALUE 1 MAXVALUE 100 CACHE 1000 CYCLE

*

ERROR at line 1:

Action

Use the value smaller than one cycle value (100) as CACHE value of the sequence.


gSQL> CREATE SEQUENCE seq1 MINVALUE 1 MAXVALUE 100 CACHE 20 CYCLE;


Sequence created.

16019 (SQLSTATE: 22023): MINVALUE must be less than MAXVALUE

Cause

MINVALUE of the sequence is bigger than MAXVALUE.


gSQL> CREATE SEQUENCE seq1 MINVALUE 100 MAXVALUE 10;


ERR-22023(16019): MINVALUE must be less than MAXVALUE :

CREATE SEQUENCE seq1 MINVALUE 100 MAXVALUE 10

*

ERROR at line 1:

Action

MINVALUE of the sequence should be smaller than MAXVALUE.


gSQL> CREATE SEQUENCE seq1 MINVALUE 10 MAXVALUE 100;


Sequence created.

16020 (SQLSTATE: 22023): INCREMENT must be less than MAXVALUE minus MINVALUE

Cause

INCREMENT BY value of the sequence is bigger than (MAXVALUE - MINVALUE) value.


gSQL> CREATE SEQUENCE seq1 INCREMENT BY 10 MINVALUE 10 MAXVALUE 15;


ERR-22023(16020): INCREMENT must be less than MAXVALUE minus MINVALUE :

CREATE SEQUENCE seq1 INCREMENT BY 10 MINVALUE 10 MAXVALUE 15

*

ERROR at line 1:

Action

INCREMENT BY value of the sequence should be smaller than (MAXVALUE - MINVALUE) value.


gSQL> CREATE SEQUENCE seq1 INCREMENT BY 1 MINVALUE 10 MAXVALUE 15;


Sequence created.

16021 (SQLSTATE: 22023): descending sequences that CYCLE must specify MINVALUE

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16022 (SQLSTATE: 22023): ascending sequences that CYCLE must specify MAXVALUE

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16023 (SQLSTATE: 22023): duplicate or conflicting CACHE/NO CACHE specifications

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16024 (SQLSTATE: 42000): numeric precision specifier is out of range( %d to %d )

Cause

The precision value of NUMERIC type exceeds the range.


gSQL> CREATE TABLE t1 ( c1 NUMERIC(100) );


ERR-42000(16024): numeric precision specifier is out of range( 1 to 38 ) :

CREATE TABLE t1 ( c1 NUMERIC(100) )

*

ERROR at line 1:

Action

The valid value of NUMERIC type precision is 1 ~ 38.


gSQL> CREATE TABLE t1 ( c1 NUMERIC(38) );


Table created.

16025 (SQLSTATE: 42000): numeric scale specifier is out of range( %d to %d )

Cause

The scale value of NUMERIC type exceeds the range.


gSQL> CREATE TABLE t1 ( c1 NUMERIC(38,200) );


ERR-42000(16025): numeric scale specifier is out of range( -84 to 127 ) :

CREATE TABLE t1 ( c1 NUMERIC(38,200) )

*

ERROR at line 1:

Action

The valid value of NUMERIC type scale is -84 ~ 127.


gSQL> CREATE TABLE t1 ( c1 NUMERIC(38,0) );


Table created.

16026 (SQLSTATE: 42000): character length specifier is out of range( 1 to %d )

Cause

The length value of CHAR type exceeds the range.


gSQL> CREATE TABLE t1 ( c1 CHAR(2001) );


ERR-42000(16026): character length specifier is out of range( 1 to 2000 ) :

CREATE TABLE t1 ( c1 CHAR(2001) )

*

ERROR at line 1:

Action

The length value of CHAR type should be 1 ~ 2000.


gSQL> CREATE TABLE t1 ( c1 CHAR(2000) );


Table created.

16027 (SQLSTATE: 42000): character varying length specifier is out of range( 1 to %d )

Cause

The length value of VARCHAR type exceeds the range.


gSQL> CREATE TABLE t1 ( c1 VARCHAR(4001) );


ERR-42000(16027): character varying length specifier is out of range( 1 to 4000 ) :

CREATE TABLE t1 ( c1 VARCHAR(4001) )

*

ERROR at line 1:

Action

The length value of VARCHAR type should be 1 ~ 4000.


gSQL> CREATE TABLE t1 ( c1 VARCHAR(4000) );


Table created.

16028 (SQLSTATE: 42000): binary length specifier is out of range( 1 to %d )

Cause

The length value of BINARY type exceeds the range.


gSQL> CREATE TABLE t1 ( c1 BINARY(2001) );


ERR-42000(16028): binary length specifier is out of range( 1 to 2000 ) :

CREATE TABLE t1 ( c1 BINARY(2001) )

*

ERROR at line 1:

Action

The length value of BINARY type should be 1 ~ 2000.


gSQL> CREATE TABLE t1 ( c1 BINARY(2000) );


Table created.

16029 (SQLSTATE: 42000): binary varying length specifier is out of range( 1 to %d )

Cause

The length value of VARBINARY type exceeds the range.


gSQL> CREATE TABLE t1 ( c1 VARBINARY(4001) );


ERR-42000(16029): binary varying length specifier is out of range( 1 to 4000 ) :

CREATE TABLE t1 ( c1 VARBINARY(4001) )

*

ERROR at line 1:

Action

The length value of VARBINARY type should be 1 ~ 4000.


gSQL> CREATE TABLE t1 ( c1 VARBINARY(4000) );


Table created.

16030 (SQLSTATE: 42000): name already used by an existing constraint

Cause

The identical constraint name exists.


gSQL>


CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_same_const NOT NULL,

c2 INTEGER CONSTRAINT t1_same_const NOT NULL );


ERR-42000(16030): name already used by an existing constraint :

c2 INTEGER CONSTRAINT t1_same_const NOT NULL )

*

ERROR at line 2:

Action

Use a different constraint name as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_c1_const NOT NULL,

c2 INTEGER CONSTRAINT t1_c2_const NOT NULL );


Table created.

16031 (SQLSTATE: 42000): auto-generated name already used by an existing constraint, specify unique constraint name

Cause

Auto-created constraint name already exists.


gSQL> CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_not_null_c2 NOT NULL, c2 INTEGER );


Table created.


gSQL> ALTER TABLE t1 ALTER COLUMN c2 SET NOT NULL;


ERR-42000(16031): auto-generated name already used by an existing constraint, specify unique constraint name

Action

Directly describe a new constraint name as follows.


gSQL> ALTER TABLE t1 ALTER COLUMN c2 SET CONSTRAINT t1_c2_not_null NOT NULL;


Table altered.

16032 (SQLSTATE: 42000): table can have only one primary key

Cause

Only one PRIMARY KEY can be created in a table.


gSQL> CREATE TABLE t1 ( c1 INTEGER PRIMARY KEY, c2 INTEGER PRIMARY KEY );


ERR-42000(16032): table can have only one primary key :

CREATE TABLE t1 ( c1 INTEGER PRIMARY KEY, c2 INTEGER PRIMARY KEY )

*

ERROR at line 1:

Action

Create only one PRIMARY KEY as follows, or create a PRIMARY KEY by combining multiple columns.


gSQL> CREATE TABLE t1 ( c1 INTEGER PRIMARY KEY, c2 INTEGER );


Table created.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER, PRIMARY KEY(c1,c2) );


Table created.

16033 (SQLSTATE: 42000): such unique or primary key already exists in the table

Cause

The identical unique constraint already exists.


gSQL> ALTER TABLE t1 ADD CONSTRAINT t1_unique UNIQUE(c1);


ERR-42000(16033): such unique or primary key already exists in the table :

ALTER TABLE t1 ADD CONSTRAINT t1_unique UNIQUE(c1)

*

ERROR at line 1:

Action

Check the information about the unique constraint of a table.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) TRUE

C2 NUMBER(10,0) TRUE


INDEX_NAME TABLESPACE_NAME INDEX_TYPE IS_UNIQUE COLUMNS

------------------ --------------- ---------- --------- -------

T1_UNIQUE_C1_INDEX MEM_TEMP_TBS BTREE TRUE C1


CONSTRAINT_NAME CONSTRAINT_TYPE ASSOCIATED_INDEX COLUMNS

--------------- --------------- ------------------ -------

T1_UNIQUE_C1 UNIQUE T1_UNIQUE_C1_INDEX C1

16034 (SQLSTATE: 42000): name already used by an existing index

Cause

An index with the identical name exists.


gSQL> CREATE TABLE t2 ( c1 INTEGER UNIQUE INDEX idx1 );


ERR-42000(16034): name already used by an existing index :

CREATE TABLE t2 ( c1 INTEGER UNIQUE INDEX idx1 )

*

ERROR at line 1:

Action

Use an index name which does not exist.


gSQL> CREATE TABLE t2 ( c1 INTEGER UNIQUE INDEX idx2 );


Table created.

16035 (SQLSTATE: 42000): auto-generated name already used by an existing index, specify non-duplicate index name

Cause

The auto-created index name is already in use.


gSQL> CREATE TABLE t1 ( c1 INTEGER PRIMARY KEY INDEX t2_primary_key_index );


Table created.


gSQL> CREATE TABLE t2 ( c1 INTEGER PRIMARY KEY );


ERR-42000(16035): auto-generated name already used by an existing index, specify non-duplicate index name :

CREATE TABLE t2 ( c1 INTEGER PRIMARY KEY )

*

ERROR at line 1:

Action

Give a new index name.


gSQL> CREATE TABLE t2 ( c1 INTEGER PRIMARY KEY INDEX new_index_name );


Table created.

16036 (SQLSTATE: 42000): '%s': invalid identifier

Cause

It is a non-existing column.


gSQL> SELECT * FROM t1 WHERE invalid = 1;


ERR-42000(16036): 'INVALID': invalid identifier :

SELECT * FROM t1 WHERE invalid = 1

*

ERROR at line 1:

Action

Check the available column name.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) FALSE

16037 (SQLSTATE: 42000): maximum number of key columns exceeded

Cause

It exceeds the maximum number of key columns.


gSQL>

CREATE INDEX idx1 ON t1 (c01, c02, c03, c04, c05, c06, c07, c08, c09, c10,

c11, c12, c13, c14, c15, c16, c17, c18, c19, c20,

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

c31, c32, c33, c34, c35 );


ERR-42000(16037): maximum number of key columns exceeded :

c31, c32, c33, c34, c35 )

*

ERROR at line 4:

Action

The maximum number of key columns is 32.


gSQL>

CREATE INDEX idx1 ON t1 (c01, c02, c03, c04, c05, c06, c07, c08, c09, c10,

c11, c12, c13, c14, c15, c16, c17, c18, c19, c20,

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

c31, c32 );


Index created.

16038 (SQLSTATE: 23000): integrity constraint violation

Cause

It can not be converted to IMMEDIATE while violating the deferred constraint.


gSQL> CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_pk PRIMARY KEY DEFERRABLE, c2 INTEGER );

gSQL> COMMIT;


gSQL> SET CONSTRAINTS t1_pk DEFERRED;


Constraints set.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.


gSQL> INSERT INTO t1 VALUES ( 1, 2 );


1 row created.


gSQL> SET CONSTRAINTS t1_pk IMMEDIATE;


ERR-23000(16038): integrity constraint violation : T1_PK(1)

Action

Make it not to violate the constraint, then convert it to IMMEDIATE.


gSQL> CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_pk PRIMARY KEY DEFERRABLE, c2 INTEGER );

gSQL> COMMIT;


gSQL> SET CONSTRAINTS t1_pk DEFERRED;


Constraints set.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.


gSQL> INSERT INTO t1 VALUES ( 1, 2 );


1 row created.


gSQL> DELETE FROM t1 WHERE c2 = 2;


1 row deleted.


gSQL> SET CONSTRAINTS t1_pk IMMEDIATE;


Constraints set.

16039 (SQLSTATE: 3B000): savepoint '%s' never established in this session or is invalid

Cause

The savepoint which was not set was used.


gSQL> SAVEPOINT sp1;


Savepoint created.


gSQL> INSERT INTO t1 VALUES ( 1 );


1 row created.


gSQL> ROLLBACK TO SAVEPOINT invalid;


ERR-3B000(16039): savepoint 'INVALID' never established in this session or is invalid

Action

Use the valid savepoint name.


gSQL> ROLLBACK TO SAVEPOINT sp1;


Rollback complete.

16040 (SQLSTATE: 42000): table or view does not exist

Cause

An unexisting table name was used.


gSQL> DROP TABLE invalid;


ERR-42000(16040): table or view does not exist :

DROP TABLE invalid

*

ERROR at line 1:

Action

Use a valid table name.


gSQL> DROP TABLE t1;


Table dropped.

16041 (SQLSTATE: 42000): table '%s' is not writable

Cause

The system is not writable.


gSQL> delete from dual;


ERR-42000(16041): table 'DUAL' is not writable :

delete from dual

*

ERROR at line 1:

Action

The system table is not changeable.

16042 (SQLSTATE: 42000): unique/primary keys in table referenced by foreign keys

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16043 (SQLSTATE: 42000): table referenced by views

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16044 (SQLSTATE: 42000): sequence does not exist

Cause

The sequence does not exist.


gSQL> DROP SEQUENCE seq1;


ERR-42000(16044): sequence does not exist :

DROP SEQUENCE seq1

*

ERROR at line 1:

Action

Check if a sequence exists.

16045 (SQLSTATE: 42000): duplicate options

Cause

The duplicate options were used.


gSQL> CREATE SEQUENCE seq1 MINVALUE 1 MINVALUE 1000;


ERR-42000(16045): duplicate options :

CREATE SEQUENCE seq1 MINVALUE 1 MINVALUE 1000

*

ERROR at line 1:

Action

Use different options.


gSQL> CREATE SEQUENCE seq1 MINVALUE 1 MAXVALUE 1000;


Sequence created.

16046 (SQLSTATE: 42000): such column list already indexed

Cause

The index already exists in the column.


gSQL> CREATE INDEX idx2 ON t1(c1);


ERR-42000(16046): such column list already indexed :

CREATE INDEX idx2 ON t1(c1)

*

ERROR at line 1:

Action

Check if the index exists in the column.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) TRUE


INDEX_NAME TABLESPACE_NAME INDEX_TYPE IS_UNIQUE COLUMNS

---------- --------------- ---------- --------- -------

IDX1 MEM_TEMP_TBS BTREE FALSE C1


Then, create the index with the different index column option as follows if needed.


gSQL> CREATE INDEX idx2 ON t1(c1 DESC);


Index created.

16047 (SQLSTATE: 22003): numeric value out of range

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16048 (SQLSTATE: 42000): specified index does not exist

Cause

The corresponding index does not exist.


gSQL> DROP INDEX invalid;


ERR-42000(16048): specified index does not exist :

DROP INDEX invalid

*

ERROR at line 1:

Action

Check if an index exists.

16049 (SQLSTATE: 42000): index '%s' is not writable

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16050 (SQLSTATE: 42000): cannot modify index used for enforcement of unique/primary/foreign key

Cause

The index which was automatically created for PRIMARY KEY constraint can not be dropped with DROP INDEX.


gSQL> CREATE TABLE t1 ( c1 INTEGER PRIMARY KEY INDEX t1_primary_key_index );


Table created.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) FALSE


INDEX_NAME TABLESPACE_NAME INDEX_TYPE IS_UNIQUE COLUMNS

-------------------- --------------- ---------- --------- -------

T1_PRIMARY_KEY_INDEX MEM_TEMP_TBS BTREE TRUE C1


CONSTRAINT_NAME CONSTRAINT_TYPE ASSOCIATED_INDEX COLUMNS

--------------- --------------- -------------------- -------

T1_PRIMARY_KEY PRIMARY KEY T1_PRIMARY_KEY_INDEX C1


gSQL> DROP INDEX t1_primary_key_index;


ERR-42000(16050): cannot modify index used for enforcement of unique/primary/foreign key :

DROP INDEX t1_primary_key_index

*

ERROR at line 1:

Action

If PRIMARY KEY constraint is dropped as follows, then drop the related-indexes as well.


gSQL> ALTER TABLE t1 DROP PRIMARY KEY;


Table altered.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) TRUE

16051 (SQLSTATE: HY000): not applicable

Cause

DDL is not executable because the property is set.


gSQL> ALTER SYSTEM SET DISABLE_DDL = YES;


System altered.


gSQL> DROP TABLE t1;


ERR-HY000(16051): not applicable : DISABLE_DDL property not allow All DDL

Action

Turn off the property as follows, then execute DDL.


gSQL> ALTER SYSTEM SET DISABLE_DDL = NO;


System altered.


gSQL> DROP TABLE t1;


Table dropped.

16052 (SQLSTATE: 42000): column not allowed here

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16053 (SQLSTATE: 42000): not enough values

Cause

The number of values is not sufficient.


gSQL> INSERT INTO t1 VALUES ( 1 );


ERR-42000(16053): not enough values :

INSERT INTO t1 VALUES ( 1 )

*

ERROR at line 1:

Action

Check the column information about the table.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.

16054 (SQLSTATE: 42000): too many values

Cause

There are too many values.


gSQL> INSERT INTO t1 VALUES ( 1, 1, 1 );


ERR-42000(16054): too many values :

INSERT INTO t1 VALUES ( 1, 1, 1 )

*

ERROR at line 1:

Action

Check the column information about the table.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.

16055 (SQLSTATE: 22004): NULL value not allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16056 (SQLSTATE: 22004): cannot insert NULL into "%s"."%s"."%s"

Cause

NULL value can not be inserted due to the constraint.


gSQL> CREATE TABLE t1 ( c1 INTEGER NOT NULL, c2 INTEGER );


Table created.


gSQL> INSERT INTO t1 VALUES ( NULL, 1 );


ERR-22004(16056): cannot insert NULL into "PUBLIC"."T1"."C1"

Action

Use a value other than NULL.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.

16057 (SQLSTATE: 23000): unique constraint (%s.%s) violated

Cause

It violated UNIQUE constraint.


gSQL> CREATE TABLE t1 ( c1 INTEGER UNIQUE, c2 INTEGER );


Table created.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.


gSQL> INSERT INTO t1 VALUES ( 1, 2 );


ERR-23000(16057): unique constraint (PUBLIC.T1_UNIQUE_C1) violated

Action

Insert the value that is not duplicate.


gSQL> INSERT INTO t1 VALUES ( 2, 2 );


1 row created.

16058 (SQLSTATE: 42000): not applicable hint

Cause

A hint which was not applicable was used.


gSQL> ALTER SESSION SET HINT_ERROR = ON;


Session altered.


gSQL> SELECT /*+ INDEX(t1, invalid) */ * FROM t1 WHERE c1 = 1;


ERR-42000(16058): not applicable hint ( cannot find index ) :

SELECT /*+ INDEX(t1, invalid) */ * FROM t1 WHERE c1 = 1

*

ERROR at line 1:

Action

Describe the correct hint.


gSQL> SELECT /*+ INDEX(t1, idx_t1_c1) */ * FROM t1 WHERE c1 = 1;


no rows selected.

16059 (SQLSTATE: 42000): not applicable datatype

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16060 (SQLSTATE: 07002): bind variable does not exist

Cause

An appropriate bind variable is not found.


gSQL> \var v_cur REFCURSOR


gSQL> \var v_ret INTEGER


gSQL>

CREATE OR REPLACE FUNCTION func_cursor( p1 INOUT SYS_REFCURSOR ) RETURN INTEGER

AS

BEGIN

OPEN p1 FOR SELECT c1 FROM t1;

RETURN 0;

END;

/


Function created.


gSQL> \bind v_cur IN


gSQL> CALL func_cursor( :v_cur ) INTO :v_ret;


ERR-07002(16060): bind variable does not exist :

CALL func_cursor( :v_cur ) INTO :v_ret

*

ERROR at line 1:

Action

Check INOUT option of the bind variable.


gSQL> \bind v_cur INOUT


gSQL> CALL func_cursor( :v_cur ) INTO :v_ret;


Procedure Call complete.

16061 (SQLSTATE: 22004): cannot update ("%s"."%s"."%s") to NULL

Cause

It can not be changed to NULL value due to the constraint.


gSQL> UPDATE t1 SET c1 = NULL WHERE c2 = 1;


ERR-22004(16061): cannot update ("PUBLIC"."T1"."C1") to NULL

Action

Use a value other than NULL.


gSQL> UPDATE t1 SET c1 = 1 WHERE c2 = 1;


1 row updated.

16062 (SQLSTATE: 42000): syntax error

Cause

SQL syntax is wrong.


gSQL>

BEGIN

EXECUTE IMMEDIATE 'INSERT INTO INTO VALUES ( 1, 1 )';

END;

/


ERR-42000(16062): syntax error :

INSERT INTO INTO VALUES ( 1, 1 )

^ ^

Error at line 1

EXECUTE IMMEDIATE 'INSERT INTO INTO VALUES ( 1, 1 )';

*

ERROR at line 2:

Action

Check SQL grammar.


gSQL>

BEGIN

EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES ( 1, 1 )';

END;

/


Anonymous PL block executed.

16063 (SQLSTATE: 42000): fractional seconds precision specifier is out of range( %d to %d )

Cause

It exceeds the range of fractional seconds.


gSQL> CREATE TABLE t1 ( c1 TIME(7) );


ERR-42000(16063): fractional seconds precision specifier is out of range( 0 to 6 ) :

CREATE TABLE t1 ( c1 TIME(7) )

*

ERROR at line 1:

Action

The range of fractional seconds which can be defined is 0 ~ 6.


gSQL> CREATE TABLE t1 ( c1 TIME(6) );


Table created.

16064 (SQLSTATE: 42000): invalid interval indicator

Cause

The definition of INTERVAL indicator is wrong.


gSQL> CREATE TABLE t1 ( c1 INTERVAL YEAR TO YEAR );


ERR-42000(16064): invalid interval indicator :

CREATE TABLE t1 ( c1 INTERVAL YEAR TO YEAR )

*

ERROR at line 1:

Action

Use INTERVAL indicator which can be defined.


gSQL> CREATE TABLE t1 ( c1 INTERVAL YEAR TO MONTH );


Table created.

16065 (SQLSTATE: 42000): interval leading precision specifier is out of range( %d to %d )

Cause

The definition of INTERVAL precision exceeds the range.


gSQL> CREATE TABLE t1 ( c1 INTERVAL HOUR(8) );


ERR-42000(16065): interval leading precision specifier is out of range( 2 to 6 ) :

CREATE TABLE t1 ( c1 INTERVAL HOUR(8) )

*

ERROR at line 1:

Action

Check the range of INTERVAL precision which can be defined.


gSQL> CREATE TABLE t1 ( c1 INTERVAL HOUR(6) );


Table created.

16066 (SQLSTATE: 42000): interval fractional seconds precision specifier is out of range( %d to %d )

Cause

The definition of INTERVAL precision exceeds the range.


gSQL> CREATE TABLE T1( I1 INTERVAL HOUR(2) TO SECOND(7) );


ERR-42000(16066): interval fractional seconds precision specifier is out of range( 0 to 6 ) :

CREATE TABLE T1( I1 INTERVAL HOUR(2) TO SECOND(7) )

*

ERROR at line 1:

Action

Check the range of INTERVAL precision which can be defined.


gSQL> CREATE TABLE T1( I1 INTERVAL HOUR(2) TO SECOND(6) );


Table created.

16067 (SQLSTATE: 42000): invalid INITIAL storage option value

Cause

INITIAL value of STORAGE option is wrong.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( INITIAL 0K );


ERR-42000(16067): invalid INITIAL storage option value :

CREATE TABLE t1( c1 INTEGER ) STORAGE( INITIAL 0K )

*

ERROR at line 1:

Action

Use the appropriate INITIAL value as follows.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( INITIAL 1M );


Table created.

16068 (SQLSTATE: 42000): invalid NEXT storage option value

Cause

NEXT value of STORAGE option is wrong.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( NEXT 0K );


ERR-42000(16068): invalid NEXT storage option value :

CREATE TABLE t1( c1 INTEGER ) STORAGE( NEXT 0K )

*

ERROR at line 1:

Action

Use the appropriate NEXT value as follows.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( NEXT 1M );


Table created.

16069 (SQLSTATE: 42000): invalid MINSIZE storage option value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16070 (SQLSTATE: 42000): invalid MAXSIZE storage option value

Cause

MAXSIZE value of STORAGE option is wrong.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( MAXSIZE 0 );


ERR-42000(16070): invalid MAXSIZE storage option value :

CREATE TABLE t1( c1 INTEGER ) STORAGE( MAXSIZE 0 )

*

ERROR at line 1:

Action

Use the appropriate MAXSIZE value as follows.


gSQL> CREATE TABLE t1( c1 INTEGER ) STORAGE( MAXSIZE 1G );


Table created.

16071 (SQLSTATE: 42000): storage option MAXSIZE is less than MINSIZE

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16072 (SQLSTATE: 42000): duplicate or conflicting NULL and/or NOT NULL specifications

Cause

NULL constraints are duplicate.


gSQL> CREATE TABLE t1( c1 INTEGER NULL NOT NULL );


ERR-42000(16072): duplicate or conflicting NULL and/or NOT NULL specifications :

CREATE TABLE t1( c1 INTEGER NULL NOT NULL )

*

ERROR at line 1:

Action

Describe NULL constraint only once.


gSQL> CREATE TABLE t1( c1 INTEGER NOT NULL );


Table created.

16073 (SQLSTATE: 42000): duplicate UNIQUE/PRIMARY KEY specifications

Cause

PRIMARY KEY constraint and UNIQUE constraint can not be defined together.


gSQL> CREATE TABLE t1( c1 INTEGER PRIMARY KEY UNIQUE );


ERR-42000(16073): duplicate UNIQUE/PRIMARY KEY specifications :

CREATE TABLE t1( c1 INTEGER PRIMARY KEY UNIQUE )

*

ERROR at line 1:

Action

Describe only one constraint.


gSQL> CREATE TABLE t1( c1 INTEGER PRIMARY KEY );


Table created.

16074 (SQLSTATE: 42000): sequence number not allowed here

Cause

SEQUENCE can not be described in WHERE clause.


CREATE TABLE t1 ( c1 INTEGER );

INSERT INTO t1 VALUES ( 1 );

CREATE SEQUENCE seq1;


gSQL> SELECT c1 FROM t1 WHERE c1 = seq1.NEXTVAL;


ERR-42000(16074): sequence number not allowed here :

SELECT c1 FROM t1 WHERE c1 = seq1.NEXTVAL

*

ERROR at line 1:

Action

SEQUENCE can only be used as a final result as follows.


gSQL> SELECT seq1.NEXTVAL FROM dual;


NEXTVAL

-------

1


1 row selected.


gSQL> INSERT INTO t1 VALUES ( seq1.NEXTVAL );


1 row created.


gSQL> UPDATE t1 SET c1 = seq1.NEXTVAL WHERE c1 = 2;


1 row updated.

16075 (SQLSTATE: 42000): inconsistent datatypes : expected %s

Cause

A data type which can not be used as a function argument was used.


gSQL> CREATE TABLE t1 ( c1 BOOLEAN );


Table created.


gSQL> INSERT INTO t1 VALUES ( TRUE );


1 row created.


gSQL> SELECT SUM(c1) FROM t1;


ERR-42000(16075): inconsistent datatypes : expected NUMBER :

SELECT SUM(c1) FROM t1

*

ERROR at line 1:

Action

Check the function, and the data type which can be used as a function argument.


gSQL> SELECT MAX(c1) FROM t1;


MAX(C1)

-------

TRUE


1 row selected.

16076 (SQLSTATE: 42000): invalid DATAFILE clause for alter of %s %s TABLESPACE

Cause

ADD DATAFILE clause can not be used for TEMPORARY TABLESPACE.


gSQL> CREATE TEMPORARY TABLESPACE test_temp_tbs MEMORY 'test_tbs_1' SIZE 10M;


Tablespace created.


gSQL> ALTER TABLESPACE test_temp_tbs ADD DATAFILE 'test_tbs_2.dbf' SIZE 10M;


ERR-42000(16076): invalid DATAFILE clause for alter of MEMORY TEMPORARY TABLESPACE :

ALTER TABLESPACE test_temp_tbs ADD DATAFILE 'test_tbs_2.dbf' SIZE 10M

*

ERROR at line 1:

Action

TEMPORARY TABLESPACE must use ADD MEMORY clause as follows.


gSQL> ALTER TABLESPACE test_temp_tbs ADD MEMORY 'test_tbs_2' SIZE 10M;


Tablespace altered.

16077 (SQLSTATE: 42000): invalid DATAFILE clause for alter of %s %s TABLESPACE

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16078 (SQLSTATE: 42000): invalid TEMPFILE clause for alter of %s %s TABLESPACE

Cause

ADD TEMPFILE clause can not be used for MEMORY DATA TABLESPACE.


gSQL> ALTER TABLESPACE mem_data_tbs ADD TEMPFILE 'temp1' SIZE 10M;


ERR-42000(16078): invalid TEMPFILE clause for alter of MEMORY DATA TABLESPACE :

ALTER TABLESPACE mem_data_tbs ADD TEMPFILE 'temp1' SIZE 10M

*

ERROR at line 1:

Action

MEMORY DATA TABLESPACE must use ADD DATAFILE clause as follows.


gSQL> ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'data1.dbf' SIZE 10M;


Tablespace altered.

16079 (SQLSTATE: 42000): file path is too long ( < %d )

Cause

The file name is too long.


gSQL>


ALTER TABLESPACE mem_data_tbs


ADD DATAFILE


'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' SIZE 10M;


ERR-42000(16079): file path is too long ( < 1024 ) :


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' SIZE 10M

*

ERROR at line 3:

Action

The file name should be smaller than 1024 as follows.


gSQL>


ALTER TABLESPACE mem_data_tbs


ADD DATAFILE

'a2345' SIZE 10M;


Tablespace altered.

16080 (SQLSTATE: RD000): file size is out of range( %ld to %ld )

Cause

The file size is too small.


gSQL> ALTER TABLESPACE MEM_DATA_TBS ADD DATAFILE 'file1' SIZE 1023K;


ERR-RD000(16080): file size is out of range( 4194304 to 32212254720 ) :

ALTER TABLESPACE MEM_DATA_TBS ADD DATAFILE 'file1' SIZE 1023K

*

ERROR at line 1:

Action

Use SIZE clause of a valid range ( 4194304 to 32212254720 ) as follows.


gSQL> ALTER TABLESPACE MEM_DATA_TBS ADD DATAFILE 'file1' SIZE 10M;


Tablespace altered.

16081 (SQLSTATE: 42000): failed to open database : system threads are already exist.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16082 (SQLSTATE: 42000): invalid MAXTRANS option value

Cause

It exceeds the range of MAXTRANS value.


gSQL> ALTER INDEX idx1 MAXTRANS 1000;


ERR-42000(16082): invalid MAXTRANS option value :

ALTER INDEX idx1 MAXTRANS 1000

*

ERROR at line 1:

Action

Use a value in the valid range (1~32) of MAXTRANS.


gSQL> ALTER INDEX idx1 MAXTRANS 32;


Index altered.

16083 (SQLSTATE: 42000): INITRANS must be less equal than MAXTRANS

Cause

INITRANS value is bigger than MAXTRANS.


gSQL> ALTER INDEX idx1 INITRANS 32 MAXTRANS 4;


ERR-42000(16083): INITRANS must be less equal than MAXTRANS :

ALTER INDEX idx1 INITRANS 32 MAXTRANS 4

*

ERROR at line 1:

Action

INITRANS value should be smaller than or equal to MAXTRANS.


gSQL> ALTER INDEX idx1 INITRANS 4 MAXTRANS 32;


Index altered.

16084 (SQLSTATE: 42000): result OFFSET must be 0 or positive numeric value

Cause

OFFSET value is wrong.


gSQL> SELECT c1 FROM t1 OFFSET -1;


ERR-42000(16084): result OFFSET must be 0 or positive numeric value :

SELECT c1 FROM t1 OFFSET -1

*

ERROR at line 1:

Action

OFFSET value should be 0 or a positive number.


gSQL> SELECT c1 FROM t1 OFFSET 0;


C1

--

1

2

3

4

5


5 rows selected.

16085 (SQLSTATE: 42000): result LIMIT/FETCH must be positive numeric value

Cause

FETCH value is wrong.


gSQL> SELECT c1 FROM t1 FETCH 0;


ERR-42000(16085): result LIMIT/FETCH must be positive numeric value :

SELECT c1 FROM t1 FETCH 0

*

ERROR at line 1:

Action

FETCH value should be a positive number.


gSQL> SELECT c1 FROM t1 FETCH 3;


C1

--

1

2

3


3 rows selected.

16086 (SQLSTATE: 42000): related objects are modified by concurrent DDL execution

Cause

DDL occurs in the table referenced by a sensitive cursor.


  • Declare a sensitive cursor, then execute FETCH.


gSQL> DECLARE cur1 SENSITIVE CURSOR FOR SELECT c1 FROM t1;

Cursor declared.


gSQL> OPEN cur1;

Cursor is open.


gSQL> \var v1 INTEGER

gSQL> FETCH cur1 INTO :v1;

V1

--

1


1 row fetched.


gSQL> FETCH cur1 INTO :v1;

V1

--

2

1 row fetched.


  • DDL occurs in the table referenced by a sensitive cursor.


other_session> drop table t1;

Table dropped.

other_session> commit;

Commit complete.


  • The sensitive cursor detects that DDL has occurred, then causes an error.


gSQL> FETCH cur1 INTO :v1;

ERR-42000(16086): related objects are modified by concurrent DDL execution

Action

Detecting DDL by a sensitive cursor is a normal operation.

16087 (SQLSTATE: 42000): boolean expression expected on where clause

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16088 (SQLSTATE: HY000): session cannot be killed now

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16089 (SQLSTATE: 28000): built-in authorization(user or role) '%s' is not modifiable

Cause

It tried to drop the built-in user.


gSQL> DROP USER SYS;


ERR-28000(16089): built-in authorization(user or role) 'SYS' is not modifiable :

DROP USER SYS

*

ERROR at line 1:

Action

The built-in user can not be dropped.

16090 (SQLSTATE: 42000): built-in tablespace '%s' is not modifiable

Cause

It tried to modify the comment of the built-in tablespace.


gSQL> COMMENT ON TABLESPACE mem_data_tbs IS 'test comment';


ERR-42000(16090): built-in tablespace 'MEM_DATA_TBS' is not modifiable :

COMMENT ON TABLESPACE mem_data_tbs IS 'test comment'

*

ERROR at line 1:

Action

The comment of the built-in tablespace can not be modified.

16091 (SQLSTATE: 42000): built-in schema '%s' is not modifiable

Cause

It tried to drop the built-in schema.


gSQL> DROP SCHEMA dictionary_schema;


ERR-42000(16091): built-in schema 'DICTIONARY_SCHEMA' is not modifiable :

DROP SCHEMA dictionary_schema

*

ERROR at line 1:

Action

The built-in schema can not be dropped.

16092 (SQLSTATE: 42000): built-in table or view '%s' is not modifiable

Cause

It tried to drop the built-in table.


gSQL> DROP TABLE x$tables;


ERR-42000(16092): built-in table or view 'X$TABLES' is not modifiable :

DROP TABLE x$tables

*

ERROR at line 1:

Action

The built-in table can not be dropped.

16093 (SQLSTATE: 42000): built-in index '%s' is not modifiable

Cause

It tried to drop the built-in index.


gSQL> DROP INDEX tables_index_table_id;


ERR-42000(16093): built-in index 'TABLES_INDEX_TABLE_ID' is not modifiable :

DROP INDEX tables_index_table_id

*

ERROR at line 1:

Action

The built-in index can not be dropped.

16094 (SQLSTATE: 42000): built-in constraint '%s' is not modifiable

Cause

It tried to modify the built-in constraint.


gSQL> COMMENT ON CONSTRAINT DEFINITION_SCHEMA.TABLES_NOT_NULL_OWNER_ID

IS 'test constraint comment';


ERR-42000(16094): built-in constraint 'TABLES_NOT_NULL_OWNER_ID' is not modifiable :

COMMENT ON CONSTRAINT DEFINITION_SCHEMA.TABLES_NOT_NULL_OWNER_ID

*

ERROR at line 1:

Action

The built-in constraint can not be modified.

16095 (SQLSTATE: 42000): built-in sequence '%s' is not modifiable

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16096 (SQLSTATE: 28000): authorization(user or role) '%s' does not exist

Cause

Neither user nor role exists.


gSQL> GRANT DBA TO invalid_user;


ERR-28000(16096): authorization(user or role) 'INVALID_USER' does not exist :

GRANT DBA TO invalid_user

*

ERROR at line 1:

Action

Check if the corresponding authorization (user or role) exists.

16097 (SQLSTATE: 42000): constraint '%s' does not exist

Cause

The constraint does not exist.


gSQL> SET CONSTRAINT invalid_constraint IMMEDIATE;


ERR-42000(16097): constraint 'INVALID_CONSTRAINT' does not exist :

SET CONSTRAINT invalid_constraint IMMEDIATE

*

ERROR at line 1:

Action

Check if the corresponding constraint exist.

16098 (SQLSTATE: 07006): bind type mismatch of parameter number (%d)

Cause

The SQL statement and the bind type do not match.


gSQL> \set serveroutput on


gSQL>

DECLARE

v1 INTEGER := 0;

v2 INTEGER := 0;

BEGIN

EXECUTE IMMEDIATE 'SELECT c1, c2 INTO ?, ? FROM t1 WHERE c1 = 1' USING IN v1, IN v2;

DBMS_OUTPUT.PUT_LINE( 'v1 = ' || v1 );

DBMS_OUTPUT.PUT_LINE( 'v2 = ' || v2 );

END;

/


ERR-07006(16098): bind type mismatch of parameter number (1) :

SELECT c1, c2 INTO ?, ? FROM t1 WHERE c1 = 1

*

ERROR at line 1:


EXECUTE IMMEDIATE 'SELECT c1, c2 INTO ?, ? FROM t1 WHERE c1 = 1' USING IN v1, IN v2;

*

ERROR at line 5:

Action

SQL statement, SELECT INTO ?, ?, require OUT binding as follow.


gSQL>

DECLARE

v1 INTEGER := 0;

v2 INTEGER := 0;

BEGIN

EXECUTE IMMEDIATE 'SELECT c1, c2 INTO ?, ? FROM t1 WHERE c1 = 1' USING OUT v1, OUT v2;

DBMS_OUTPUT.PUT_LINE( 'v1 = ' || v1 );

DBMS_OUTPUT.PUT_LINE( 'v2 = ' || v2 );

END;

/


v1 = 1

v2 = 100

Anonymous PL block executed.

16099 (SQLSTATE: 42000): the number of elements in the INTO list is mismatch

Cause

The number of SELECT result columns and the number of INTO are different.


gSQL> \var v1 INTEGER

gSQL> \var v2 INTEGER


gSQL> SELECT c1, c2 INTO :v1 FROM t1 WHERE c1 = 1;


ERR-42000(16099): the number of elements in the INTO list is mismatch :

SELECT c1, c2 INTO :v1 FROM t1 WHERE c1 = 1

*

ERROR at line 1:

Action

Make the number of SELECT result columns and the number of INTO the same.


gSQL> SELECT c1, c2 INTO :v1, :v2 FROM t1 WHERE c1 = 1;


V1 V2

-- ---

1 100


1 row selected.

16100 (SQLSTATE: HY000): single-row subquery returns more than one row

Cause

The number of subquery results is bigger than 1.


gSQL> SELECT * FROM t1 WHERE t1.c1 = ( SELECT t2.c1 FROM t2 );


ERR-HY000(16100): single-row subquery returns more than one row :

SELECT * FROM t1 WHERE t1.c1 = ( SELECT t2.c1 FROM t2 )

*

ERROR at line 1:

Action

Use the subquery which can create a single result as follows.


gSQL> SELECT * FROM t1 WHERE t1.c1 = ( SELECT MAX(t2.c1) FROM t2 );


C1 C2

-- ---

1 100


1 row selected.

16101 (SQLSTATE: 42000): parallel factor is out of range( 0 to %d )

Cause

PARALLEL value exceeds the range.


gSQL> CREATE INDEX idx1 ON t1(c1) PARALLEL 100;


ERR-42000(16101): parallel factor is out of range( 0 to 64 ) :

CREATE INDEX idx1 ON t1(c1) PARALLEL 100

*

ERROR at line 1:

Action

Use the valid value in the range of PARALLEL (0~64) as follows.


gSQL> CREATE INDEX idx1 ON t1(c1) PARALLEL 8;

Index created.

16102 (SQLSTATE: 42000): invalid MEMORY clause for alter of %s %s TABLESPACE

Cause

ADD MEMORY clause can not be used for MEMORY DATA TABLESPACE.


gSQL> ALTER TABLESPACE mem_data_tbs ADD MEMORY 'test_memory' SIZE 10M;


ERR-42000(16102): invalid MEMORY clause for alter of MEMORY DATA TABLESPACE :

ALTER TABLESPACE mem_data_tbs ADD MEMORY 'test_memory' SIZE 10M

*

ERROR at line 1:

Action

Use ADD DATAFILE clause for MEMORY DATA TABLESPACE as follows.


gSQL> ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'test_file' SIZE 10M;


Tablespace altered.

16103 (SQLSTATE: 3C000): cursor '%s' is already declared

Cause

The duplicate cursor name was declared.


gSQL> DECLARE cur1 CURSOR FOR SELECT c2 FROM t1 WHERE c1 = 1;


Cursor declared.


gSQL> DECLARE cur1 CURSOR FOR SELECT c1 FROM t2 WHERE c1 = 1;


ERR-3C000(16103): cursor 'CUR1' is already declared :

DECLARE cur1 CURSOR FOR SELECT c1 FROM t2 WHERE c1 = 1

*

ERROR at line 1:

Action

Use a different cursor name as follows.


gSQL> DECLARE cur2 CURSOR FOR SELECT c1 FROM t2 WHERE c1 = 1;


Cursor declared.

16104 (SQLSTATE: 42000): invalid cursor query: '%s'

Cause

DELETE can not be used as a cursor query.


gSQL> DECLARE cur1 CURSOR FOR DELETE FROM t1 WHERE c1 = 1;


ERR-42000(16104): invalid cursor query: 'DELETE FROM' :

DECLARE cur1 CURSOR FOR DELETE FROM t1 WHERE c1 = 1

*

ERROR at line 1:

Action

Use DELETE RETURN query as follows.


gSQL> DECLARE cur1 CURSOR FOR DELETE FROM t1 WHERE c1 = 1 RETURN c2;


Cursor declared.

16105 (SQLSTATE: 42000): invalid cursor property

Cause

DML query can not be declared as a holdable cursor.


gSQL> DECLARE cur1 CURSOR WITH HOLD FOR DELETE FROM t1 WHERE c1 > 0 RETURN c2;


ERR-42000(16105): invalid cursor property : holdable cursor should be read only cursor

Action

Only SELECT statement can be used as a holdable cursor.


gSQL> DECLARE cur1 CURSOR WITH HOLD FOR SELECT c2 FROM t1 WHERE c1 > 0;


Cursor declared.

16106 (SQLSTATE: 34000): cursor '%s' does not exist

Cause

The cursor name which has not been declared was used.


gSQL> DECLARE cur1 CURSOR FOR SELECT c2 FROM t1 WHERE c1 = 1;


Cursor declared.


gSQL> OPEN invalid_cursor;


ERR-34000(16106): cursor 'INVALID_CURSOR' does not exist :

OPEN invalid_cursor

*

ERROR at line 1:

Action

Use the declared cursor name.


gSQL> OPEN cur1;


Cursor is open.

16107 (SQLSTATE: 34000): cursor '%s' is already open

Cause

The cursor is already OPEN.


gSQL> DECLARE cur1 CURSOR FOR SELECT c2 FROM t1 WHERE c1 = 1;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> OPEN cur1;


ERR-34000(16107): cursor 'CUR1' is already open :

OPEN cur1

*

ERROR at line 1:

Action

CLOSE the cursor, then OPEN it again.


gSQL> CLOSE cur1;


Cursor closed.


gSQL> OPEN cur1;


Cursor is open.

16108 (SQLSTATE: 34000): cursor '%s' is not open

Cause

The cursor is not OPEN.


gSQL> DECLARE cur1 CURSOR FOR SELECT c2 FROM t1 WHERE c1 = 1;


Cursor declared.


gSQL> \var v1 INTEGER

gSQL> FETCH cur1 INTO :v1;


ERR-34000(16108): cursor 'CUR1' is not open

Action

OPEN the cursor, then use it.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> FETCH cur1 INTO :v1;


V1

---

100


1 row fetched.

16109 (SQLSTATE: 42000): invalid use: cursor '%s' is not a declared cursor

Cause

SQLSetCursorName() function of ODBC, or the cursor name set by using JDBC ResultSet.getCursorName() can not be used together with OPEN, FETCH, CLOSE cursor statements.

Action

Only the cursor declared with SQL statement DECLARE CURSOR can use OPEN, FETCH, CLOSE cursor statements.

16110 (SQLSTATE: 42000): invalid use: cursor '%s' is not an ODBC/JDBC cursor

Cause

The cursor declared with SQL statement DECLARE CURSOR can not change its name by using ODBC function SQLSetCursorName() function.

Action

Do not use cursor name declared with SQL statement and the cursor name using ODBC / JDBC API together.

16111 (SQLSTATE: 42000): cursor '%s' is not scrollable

Cause

FETCH FIRST/LAST/PRIOR/CURRENT statements can be used in a scrollable cursor.


gSQL> DECLARE cur1 CURSOR FOR SELECT c1 FROM t1;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> FETCH LAST FROM cur1 INTO :v1;


ERR-42000(16111): cursor 'CUR1' is not scrollable :

FETCH LAST FROM cur1 INTO :v1

*

ERROR at line 1:

Action

Use it by declaring a scrollable cursor as follows.


gSQL> DECLARE cur1 SCROLL CURSOR FOR SELECT c1 FROM t1;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> FETCH LAST FROM cur1 INTO :v1;


V1

--

5


1 row fetched.


gSQL> FETCH PRIOR FROM cur1 INTO :v1;


V1

--

4


1 row fetched.

16112 (SQLSTATE: 42000): query expression is not updatable

Cause

The query is not updatable.


gSQL> SELECT COUNT(c1) FROM t1 WHERE c1 > 3 FOR UPDATE;


ERR-42000(16112): query expression is not updatable

Action

The query result should be a query which can identify each row as follows.


gSQL> SELECT c1 FROM t1 WHERE c1 > 3 FOR UPDATE;


C1

--

4

5


2 rows selected.

16113 (SQLSTATE: 42000): invalid phase(%s): executable phase of '%s' is between %s and %s

Cause

It is the SQL statement which is not executable on MOUNT phase.


gSQL> CREATE TABLE my_table ( c1 INTEGER );


ERR-42000(16113): invalid phase(MOUNT): executable phase of 'CREATE TABLE' is between OPEN and OPEN

Action

Execute it after changing to OPEN phase.


gSQL> ALTER SYSTEM OPEN DATABASE;


System altered.


gSQL> CREATE TABLE my_table ( c1 INTEGER );


Table created.

16114 (SQLSTATE: 42000): database is already mounted

Cause

It is already on MOUNT phase.


gSQL> ALTER SYSTEM MOUNT DATABASE;


ERR-42000(16114): database is already mounted

Action

Check the current phase and change it to the desired start-up phase.


gSQL> SELECT status FROM x$instance;


STATUS

-------

MOUNTED


1 row selected.


gSQL> ALTER SYSTEM OPEN DATABASE;


System altered.

16115 (SQLSTATE: 42000): database is already local opened

Cause

The cluster database is already on LOCAL OPEN phase.


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


ERR-42000(16115): database is already local opened

Action

Check the current phase and change it to the desired start-up phase.


gSQL> SELECT status FROM x$instance@LOCAL;


STATUS

----------

LOCAL OPEN


1 row selected.


gSQL> ALTER SYSTEM OPEN GLOBAL DATABASE;


System altered.

16116 (SQLSTATE: 42000): transaction is READ ONLY

Cause

It is READ ONLY transaction state.


gSQL> SET TRANSACTION READ ONLY;


Transaction set.


gSQL> INSERT INTO t1 VALUES ( 1 );


ERR-42000(18003): Transaction is READ ONLY

Action

Execute it after changing to READ WRITE state as follows.


gSQL> SET TRANSACTION READ WRITE;


Transaction set.


gSQL> INSERT INTO t1 VALUES ( 1 );


1 row created.

16117 (SQLSTATE: 42000): database not mounted

Cause

The database is not MOUNTed.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-42000(16117): database is not mounted

Action

Check the current state, then raise the start-up phase one by one.


gSQL> SELECT status FROM x$instance;


STATUS

-------

STARTED


1 row selected.



gSQL> ALTER SYSTEM MOUNT DATABASE;


System altered.


gSQL> ALTER SYSTEM OPEN DATABASE;


System altered.

16118 (SQLSTATE: 42000): supplemental logging attribute primary key exists

Cause

The supplemental logging attribute is already set.


gSQL> ALTER TABLE t1 ADD SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;


Table altered.


gSQL> ALTER TABLE t1 ADD SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;


ERR-42000(16118): supplemental logging attribute primary key exists

Action

Check if the supplemental logging of the table is set.


gSQL> SELECT * FROM SUPPLEMENTAL_LOG_TABLE_INFO WHERE table_name = 'T1';


TABLE_SCHEMA TABLE_NAME SUPPLEMENTAL_LOG_DATA_PK DROPPED

------------ ---------- ------------------------ -------

PUBLIC T1 EXPLICIT NO


1 row selected.

16119 (SQLSTATE: 42000): cannot drop nonexistent primary key supplemental logging

Cause

The supplemental logging attribute is not set.


gSQL> ALTER TABLE T1 DROP SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;


ERR-42000(16119): cannot drop nonexistent primary key supplemental logging

Action

Check if the supplemental logging of the table is set.


gSQL> SELECT * FROM SUPPLEMENTAL_LOG_TABLE_INFO WHERE table_name = 'T1';


TABLE_SCHEMA TABLE_NAME SUPPLEMENTAL_LOG_DATA_PK DROPPED

------------ ---------- ------------------------ -------

PUBLIC T1 NO NO


1 row selected.

16120 (SQLSTATE: 42000): column referenced by views

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16121 (SQLSTATE: 42000): column has a check constraint defined

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16122 (SQLSTATE: 42000): pseudo column not allowed here

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16123 (SQLSTATE: 42000): cannot select ROWID from not writable table

Cause

It is a fixed table which can not have ROWID.


gSQL> SELECT ROWID FROM dual;


ERR-42000(16123): cannot select ROWID from not writable table :

SELECT ROWID FROM dual

*

ERROR at line 1:

Action

Use it for the base table which has ROWID pseudo column.


gSQL> SELECT ROWID FROM t1 LIMIT 2;


ROWID

-----------------------

AAAAAAAAYf2AACAAAAEiAAA

AAAAAAAAYf2AACAAAAEiAAB


2 rows selected.

16124 (SQLSTATE: 42000): table can have only one identity column

Cause

A table can have only one identity column.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY, c2 INTEGER GENERATED BY DEFAULT AS IDENTITY );


ERR-42000(16124): table can have only one identity column :

CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY, c2 INTEGER GENERATED BY DEFAULT AS IDENTITY )

*

ERROR at line 1:

Action

Define only one column as an identity column as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY, c2 INTEGER );


Table created.

16125 (SQLSTATE: 42000): column being added already exists in table

Cause

It is an existing column.


gSQL> ALTER TABLE t1 ADD COLUMN c1 VARCHAR(32);


ERR-42000(16125): column being added already exists in table :

ALTER TABLE t1 ADD COLUMN c1 VARCHAR(32)

*

ERROR at line 1:

Action

Do not use a duplicate column name.


gSQL> ALTER TABLE t1 ADD COLUMN new_column VARCHAR(32);


Table altered.

16126 (SQLSTATE: 42000): table must be empty to add mandatory (%s) column ('%s')

Cause

The column with data NOT NULL constraint can not be added to the table having the data.


gSQL> ALTER TABLE t1 ADD COLUMN c2 INTEGER NOT NULL;


ERR-42000(16126): table must be empty to add mandatory (NOT NULL) column ('C2')

Action

Add the column by giving DEFAULT value as follows.


gSQL> ALTER TABLE t1 ADD COLUMN c2 INTEGER DEFAULT 0 NOT NULL;


Table altered.

16127 (SQLSTATE: 42000): cannot modify INITIAL storage option

Cause

INITIAL storage option can not be modified.


gSQL> ALTER TABLE t1 STORAGE ( INITIAL 10M );


ERR-42000(16127): cannot modify INITIAL storage option :

ALTER TABLE t1 STORAGE ( INITIAL 10M )

*

ERROR at line 1:

Action

Set it at the time of creating the table.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) STORAGE ( INITIAL 10M );


Table created.

16128 (SQLSTATE: 42000): name '%s' is already used by an existing tablespace

Cause

The tablespace already exists.


gSQL> CREATE TABLESPACE mem_data_tbs DATAFILE 'test_file' SIZE 100M;


ERR-42000(16128): name 'MEM_DATA_TBS' is already used by an existing tablespace :

CREATE TABLESPACE mem_data_tbs DATAFILE 'test_file' SIZE 100M

*

ERROR at line 1:

Action

Use a new tablespace name.


gSQL> CREATE TABLESPACE new_data_tbs DATAFILE 'test_file' SIZE 100M;


Tablespace created.

16129 (SQLSTATE: 42000): duplicate datafile name

Cause

The duplicate filename was used.


gSQL> ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'file1.dbf' SIZE 10M,


'file2.dbf' SIZE 10M,

'file1.dbf' SIZE 10M;


ERR-42000(16129): duplicate datafile name :

'file1.dbf' SIZE 10M

*

ERROR at line 3:

Action

Use different filenames.


gSQL> ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'file1.dbf' SIZE 10M,

'file2.dbf' SIZE 10M,

'file3.dbf' SIZE 10M;


Tablespace altered.

16130 (SQLSTATE: 42000): File already exists - '%s'

Cause

The datafile already exists.


gSQL> ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'test_file' SIZE 100M;


ERR-42000(16130): file already exists - '/xxx/xxx/db/test_file' :

ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'test_file' SIZE 100M

*

ERROR at line 1:

Action

Use a new filename.


gSQL> ALTER TABLESPACE mem_data_tbs ADD DATAFILE 'new_test_file' SIZE 100M;


Tablespace altered.

16131 (SQLSTATE: 42000): cannot rename the built-in tablespace

Cause

The built-in tablespace can not be renamed.


gSQL> ALTER TABLESPACE mem_data_tbs RENAME TO new_tbs;


ERR-42000(16131): cannot rename the built-in tablespace :

ALTER TABLESPACE mem_data_tbs RENAME TO new_tbs

*

ERROR at line 1:

Action

The built-in tablespace can not be renamed.

16132 (SQLSTATE: 42000): cannot rename the OFFLINE tablespace

Cause

OFFLINE TABLESPACE can not be renamed.


gSQL> ALTER TABLESPACE test_tbs OFFLINE;

Tablespace altered.


gSQL> ALTER TABLESPACE test_tbs RENAME TO new_tbs;


ERR-42000(16132): cannot rename the OFFLINE tablespace :

ALTER TABLESPACE test_tbs RENAME TO new_tbs

*

ERROR at line 1:

Action

Shift it to ONLINE, then rename it.


gSQL> ALTER TABLESPACE test_tbs ONLINE;

Tablespace altered.


gSQL> ALTER TABLESPACE test_tbs RENAME TO new_tbs;


Tablespace altered.

16133 (SQLSTATE: 42000): cannot drop tablespace: %s

Cause

TABLESPACE can not be dropped.


gSQL> DROP TABLESPACE mem_data_tbs;


ERR-42000(16133): cannot drop tablespace: "MEM_DATA_TBS" is built-in tablespace :

DROP TABLESPACE mem_data_tbs

*

ERROR at line 1:

Action

The built-in TABLESPACE can not be dropped.

16134 (SQLSTATE: 42000): cannot drop constraint - nonexistent constraint

Cause

The constraint does not exist.


gSQL> ALTER TABLE t1 DROP CONSTRAINT invalid_constraint;


ERR-42000(16134): cannot drop constraint - nonexistent constraint :

ALTER TABLE t1 DROP CONSTRAINT invalid_constraint

*

ERROR at line 1:

Action

Check existing constraint names.


gSQL> ALTER TABLE t1 DROP CONSTRAINT t1_unique;


Table altered.

16135 (SQLSTATE: 42000): cannot drop constraint - nonexistent primary key

Cause

PRIMARY KEY does not exist in the table.


gSQL> ALTER TABLE t1 DROP PRIMARY KEY;


ERR-42000(16135): cannot drop constraint - nonexistent primary key :

ALTER TABLE t1 DROP PRIMARY KEY

*

ERROR at line 1:

Action

Check if PRIMARY KEY exists in the table.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) TRUE

16136 (SQLSTATE: 42000): cannot drop constraint - nonexistent unique key

Cause

UNIQUE constraint does not exist.


gSQL> ALTER TABLE t1 DROP UNIQUE(c1);


ERR-42000(16136): cannot drop constraint - nonexistent unique key :

ALTER TABLE t1 DROP UNIQUE(c1)

*

ERROR at line 1:

Action

Check UNIQUE constraint of the table.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) TRUE

C2 NUMBER(10,0) TRUE


INDEX_NAME TABLESPACE_NAME INDEX_TYPE IS_UNIQUE COLUMNS

------------------ --------------- ---------- --------- -------

T1_UNIQUE_C2_INDEX MEM_TEMP_TBS BTREE TRUE C2


CONSTRAINT_NAME CONSTRAINT_TYPE ASSOCIATED_INDEX COLUMNS

--------------- --------------- ------------------ -------

T1_UNIQUE_C2 UNIQUE T1_UNIQUE_C2_INDEX C2



gSQL> ALTER TABLE t1 DROP UNIQUE(c2);


Table altered.

16137 (SQLSTATE: 42000): the CDS database cannot be closed with ABORT option

Cause

shutdown abort is not executable in CDS mode.

Action

Use shutdown normal or shutdown transactional in CDS mode.

16138 (SQLSTATE: 42000): the DS database can be closed with NORMAL option - deprecated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16139 (SQLSTATE: 42000): multiple ORDER BY clauses not allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16140 (SQLSTATE: 42000): multiple OFFSET clauses not allowed

Cause

OFFSET and LIMIT can not be used together.


gSQL> SELECT c1 FROM t1 OFFSET 1 LIMIT 1, 2;


ERR-42000(16140): multiple OFFSET clauses not allowed :

SELECT c1 FROM t1 OFFSET 1 LIMIT 1, 2

*

ERROR at line 1:

Action

Use OFFSET FETCH statement only or LIMIT only as follows.


gSQL> SELECT c1 FROM t1 OFFSET 1 FETCH 2;


C1

--

2

3


2 rows selected.


gSQL> SELECT c1 FROM t1 LIMIT 1, 2;


C1

--

2

3


2 rows selected.

16141 (SQLSTATE: 42000): multiple LIMIT clauses not allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16142 (SQLSTATE: 42000): column ambiguously defined

Cause

It is ambiguous to identify the column.


gSQL> SELECT t1.c1, t2.c1 FROM t1, t2 WHERE t1.c1 = c1;


ERR-42000(16142): column ambiguously defined :

SELECT t1.c1, t2.c1 FROM t1, t2 WHERE t1.c1 = c1

*

ERROR at line 1:

Action

If column names are identical, then identify it as follows.


gSQL> SELECT t1.c1 AS a1, t2.c1 AS a2 FROM t1, t2 WHERE t1.c1 = t2.c1;


A1 A2

-- --

1 1


1 row selected.

16143 (SQLSTATE: 42000): column part of USING clause cannot have qualifier

Cause

INNER JOIN which uses USING can not specify the table name.


gSQL> SELECT t1.c1 FROM t1 INNER JOIN t2 USING(c1);


ERR-42000(16143): column part of USING clause cannot have qualifier :

SELECT t1.c1 FROM t1 INNER JOIN t2 USING(c1)

*

ERROR at line 1:

Action

The join result of natural join_family does not have a table name.

Do not describe the table name as follows.


gSQL> SELECT c1 FROM t1 INNER JOIN t2 USING(c1);


C1

--

1


1 row selected.

16144 (SQLSTATE: 42000): invalid OFFSET option value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16145 (SQLSTATE: 42000): invalid LIMIT option value

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16146 (SQLSTATE: 42000): common column name '%s' appears more than once in %s table

Cause

Identical column names were used several times during the natural join.


gSQL> SELECT * FROM ( SELECT c1, c1 FROM t1 ) v1 NATURAL JOIN ( SELECT c1, c1 FROM t2 ) v2;


ERR-42000(16146): common column name 'C1' appears more than once in left table :

SELECT * FROM ( SELECT c1, c1 FROM t1 ) v1 NATURAL JOIN ( SELECT c1, c1 FROM t2 ) v2

*

ERROR at line 1:

Action

Give different column names as follows.


gSQL> SELECT * FROM ( SELECT c1, c1 AS a2 FROM t1 ) v1 NATURAL JOIN ( SELECT c1, c1 AS a2 FROM t2 ) v2;


C1 A2

-- --

1 1


1 row selected.

16147 (SQLSTATE: 42000): file is already used in database

Cause

The file is already used as the datafile of the existing tablespace.


gSQL> CREATE DATA TABLESPACE space1 DATAFILE 'myfile.dbf' SIZE 10M;


Tablespace created.


gSQL> CREATE DATA TABLESPACE space2 DATAFILE 'myfile.dbf' SIZE 10M REUSE;


ERR-42000(16147): file is already used in database :

CREATE DATA TABLESPACE space2 DATAFILE 'myfile.dbf' SIZE 10M REUSE

*

ERROR at line 1:

Action

Use the datafile which is not used in other tablespaces, or specify a new datafile as follows.


gSQL> CREATE DATA TABLESPACE space2 DATAFILE 'other_file.dbf' SIZE 10M REUSE;


Tablespace created.

16148 (SQLSTATE: 42000): tablespace not empty, use INCLUDING CONTENTS option

Cause

The tablespace having an object can not be DROPped.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) TABLESPACE space1;


Table created.


gSQL> DROP TABLESPACE space1;


ERR-42000(16148): tablespace not empty, use INCLUDING CONTENTS option

Action

Drop it by using INCLUDING CONTENTS option.


gSQL> DROP TABLESPACE space1 INCLUDING CONTENTS;


Tablespace dropped.

16149 (SQLSTATE: 42000): datafile does not exist in tablespace

Cause

The datafile of the tablespace does not exist.


gSQL> ALTER TABLESPACE space1 RENAME DATAFILE 'file_1.dbf' TO 'file_2.dbf';


ERR-42000(16149): datafile does not exist in tablespace :

ALTER TABLESPACE space1 RENAME DATAFILE 'file_1.dbf' TO 'file_2.dbf'

*

ERROR at line 1:

Action

Rename the datafile as follows.


  • Shift tablespace to OFFLINE.


gSQL> ALTER TABLESPACE space1 OFFLINE;


Tablespace altered.



  • Modify or copy the file name.


% cp $GOLDILOCKS_HOME/db/file_1.dbf $GOLDILOCKS_HOME/db/file_2.dbf



  • Execute RENAME DATAFILE


gSQL> ALTER TABLESPACE space1 RENAME DATAFILE 'file_1.dbf' TO 'file_2.dbf';


Tablespace altered.



  • Shift tablespace to ONLINE.


gSQL> ALTER TABLESPACE space1 ONLINE;


Tablespace altered.

16150 (SQLSTATE: 42000): cannot drop datafile of OFFLINE tablespace

Cause

OFFLINE datafile can not be dropped.


gSQL> ALTER TABLESPACE test_tbs DROP DATAFILE 'TEST_TBS2.dbf';


ERR-42000(16150): cannot drop datafile of OFFLINE tablespace :

ALTER TABLESPACE test_tbs DROP DATAFILE 'TEST_TBS2.dbf'

*

ERROR at line 1:

Action

The datafile can be dropped only when it is ONLINE and not used.

16151 (SQLSTATE: 42000): cannot drop first datafile of tablespace

Cause

The first datafile of TABLESPACE can not be dropped.


gSQL> CREATE TABLESPACE test_tbs DATAFILE 'file1.dbf' SIZE 10M, 'file2.dbf' SIZE 10M;


Tablespace created.


gSQL> ALTER TABLESPACE test_tbs DROP DATAFILE 'file1.dbf';


ERR-42000(16151): cannot drop first datafile of tablespace :

ALTER TABLESPACE test_tbs DROP DATAFILE 'file1.dbf'

*

ERROR at line 1:

Action

It can be dropped from the second unused datafile as follows.


gSQL> ALTER TABLESPACE test_tbs DROP DATAFILE 'file2.dbf';


Tablespace altered.

16152 (SQLSTATE: 42000): memory is already used in database

Cause

The memory name is already in use.


gSQL> CREATE TEMPORARY TABLESPACE temp_tbs MEMORY 'temp1' SIZE 10M;


Tablespace created.


gSQL> ALTER TABLESPACE temp_tbs ADD MEMORY 'temp1' SIZE 10M;


ERR-42000(16152): memory is already used in database :

ALTER TABLESPACE temp_tbs ADD MEMORY 'temp1' SIZE 10M

*

ERROR at line 1:

Action

Use a new memory name as follows.


gSQL> ALTER TABLESPACE temp_tbs ADD MEMORY 'temp2' SIZE 10M;


Tablespace altered.

16153 (SQLSTATE: 42000): memory does not exist in tablespace

Cause

The memory name does not exist.


gSQL> CREATE TEMPORARY TABLESPACE temp_tbs MEMORY 'temp1' SIZE 10M;


Tablespace created.


gSQL> ALTER TABLESPACE temp_tbs RENAME MEMORY 'invalid' TO 'temp3';


ERR-42000(16153): memory does not exist in tablespace :

ALTER TABLESPACE temp_tbs RENAME MEMORY 'invalid' TO 'temp3'

*

ERROR at line 1:

Action

Use the existing memory name as follows.


gSQL> ALTER TABLESPACE temp_tbs RENAME MEMORY 'temp2' TO 'temp3';


Tablespace altered.

16154 (SQLSTATE: 42000): cannot drop first memory of tablespace

Cause

The first memory of TABLESPACE can not be dropped.


gSQL> CREATE TEMPORARY TABLESPACE temp_tbs MEMORY 'temp1' SIZE 10M, 'temp2' SIZE 10M;


Tablespace created.


gSQL> ALTER TABLESPACE temp_tbs DROP MEMORY 'temp1';


ERR-42000(16154): cannot drop first memory of tablespace :

ALTER TABLESPACE temp_tbs DROP MEMORY 'temp1'

*

ERROR at line 1:

Action

It can be dropped from the second unused memory as follows.


gSQL> ALTER TABLESPACE temp_tbs DROP MEMORY 'temp2';


Tablespace altered.

16155 (SQLSTATE: 42000): tablespace '%s' is not writable for logging index

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16156 (SQLSTATE: 42000): tablespace '%s' is not writable for nologging index

Cause

The index created in the global temporary table can not be created in the data tablespace.


gSQL> CREATE GLOBAL TEMPORARY TABLE temp1 ( c1 INTEGER UNIQUE INDEX idx1 TABLESPACE mem_data_tbs );


ERR-42000(16156): tablespace 'MEM_DATA_TBS' is not writable for nologging index

Action

The index created in the global temporary table should be created in the global temporary table.


gSQL> CREATE GLOBAL TEMPORARY TABLE temp1 ( c1 INTEGER UNIQUE INDEX idx1 TABLESPACE mem_temp_tbs );


Table created.

16157 (SQLSTATE: 42000): ORDER BY item must be the number of a SELECT-list expression

Cause

ORDER BY number should be a valid location in SELECT list.


gSQL> SELECT c1, c2 FROM t1 ORDER BY 3;


ERR-42000(16157): ORDER BY item must be the number of a SELECT-list expression :

SELECT c1, c2 FROM t1 ORDER BY 3

*

ERROR at line 1:

Action

Use the number corresponding to SELECT list as follows.


gSQL> SELECT c1, c2 FROM t1 ORDER BY 1;


C1 C2

-- --

1 A

2 B

3 C


3 rows selected.

16158 (SQLSTATE: 42000): group function is not allowed here

Cause

The grouping function can not be used in WHERE clause.


gSQL> SELECT c1, MAX(c2) FROM t1 WHERE MAX(c2) > 'A' GROUP BY c1;


ERR-42000(16158): group function is not allowed here :

SELECT c1, MAX(c2) FROM t1 WHERE MAX(c2) > 'A' GROUP BY c1

*

ERROR at line 1:

Action

Use HAVING clause as follows.


gSQL> SELECT c1, MAX(c2) FROM t1 GROUP BY c1 HAVING MAX(c2) > 'A' ;


C1 MAX(C2)

-- -------

2 B

3 C


2 rows selected.

16159 (SQLSTATE: 42000): invalid number of arguments

Cause

The argument of IN is used wrong.


gSQL> SELECT * FROM t1 WHERE (c1, c2) IN ( 1, 'A' );


ERR-42000(16159): invalid number of arguments :

SELECT * FROM t1 WHERE (c1, c2) IN ( 1, 'A' )

*

ERROR at line 1:

Action

If the left argument of IN is two or more, then they should be enclosed in parentheses as follows.


gSQL> SELECT * FROM t1 WHERE (c1, c2) IN ( (1, 'A') );


C1 C2

-- --

1 A


1 row selected.


gSQL> SELECT * FROM t1 WHERE (c1, c2) IN ( (1, 'A'), (2, 'B') );


C1 C2

-- --

1 A

2 B


2 rows selected.

16160 (SQLSTATE: 42000): group function is nested too deeply

Cause

The group function usage exceeds the depth.


gSQL> SELECT MAX(c1), MAX( MAX( MAX(c2) ) ) FROM t1 GROUP BY c1;


ERR-42000(16160): group function is nested too deeply :

SELECT MAX(c1), MAX( MAX( MAX(c2) ) ) FROM t1 GROUP BY c1

*

ERROR at line 1:

Action

It can be used up to 2-depth as follows.


gSQL> SELECT MAX(c1), MAX( MAX(c2) ) FROM t1 GROUP BY c1;


MAX(C1) MAX( MAX(C2) )

------- --------------

3 C


1 row selected.

16161 (SQLSTATE: 42000): not a single-group group function

Cause

It is not the query creating a single group.


gSQL> SELECT c1, MAX(c2) FROM t1;


ERR-42000(16161): not a single-group group function :

SELECT c1, MAX(c2) FROM t1

*

ERROR at line 1:

Action

Describe GROUP BY, or use the group function only as follows.


gSQL> SELECT c1, MAX(c2) FROM t1 GROUP BY c1;


C1 MAX(C2)

-- -------

1 A

2 B

3 C


3 rows selected.


gSQL> SELECT MAX(c2) FROM t1;


MAX(C2)

-------

C


1 row selected.

16162 (SQLSTATE: 42000): mismatched datafile pairs

Cause

The number of datafiles to RENAME does not match.


gSQL> ALTER TABLESPACE test_tbs RENAME DATAFILE 'file1.dbf', 'file2.dbf' TO 'file3.dbf';


ERR-42000(16162): mismatched datafile pairs :

ALTER TABLESPACE test_tbs RENAME DATAFILE 'file1.dbf', 'file2.dbf' TO 'file3.dbf'

*

ERROR at line 1:

Action

Make the number of datafiles to RENAME same as follows.


gSQL> ALTER TABLESPACE test_tbs OFFLINE;


Tablespace altered.


gSQL> ALTER TABLESPACE test_tbs RENAME DATAFILE 'file1.dbf', 'file2.dbf' TO 'file3.dbf', 'file4.dbf';


Tablespace altered.


gSQL> ALTER TABLESPACE test_tbs ONLINE;


Tablespace altered.

16163 (SQLSTATE: 42000): cannot rename datafile of ONLINE tablespace

Cause

The datafile of the ONLINE tablespace can not be renamed.


gSQL> ALTER TABLESPACE test_tbs RENAME DATAFILE 'file1.dbf' TO 'file3.dbf';


ERR-42000(16163): cannot rename datafile of ONLINE tablespace :

ALTER TABLESPACE test_tbs RENAME DATAFILE 'file1.dbf' TO 'file3.dbf'

*

ERROR at line 1:

Action

Shift it to OFFLINE, then RENAME it as follows.


gSQL> ALTER TABLESPACE test_tbs OFFLINE;


Tablespace altered.


gSQL> ALTER TABLESPACE test_tbs RENAME DATAFILE 'file1.dbf' TO 'file3.dbf';


Tablespace altered.

16164 (SQLSTATE: 42000): file does not exist

Cause

The file does not exist.


gSQL> ANALYZE TABLE t1 IMPORT 'invalid.stat';


ERR-42000(16164): file does not exist :

ANALYZE TABLE t1 IMPORT 'invalid.stat'

*

ERROR at line 1:

Action

Use the existing file as follows.


gSQL> ANALYZE TABLE t1 EXPORT REPLACE 't1.stat';


Table analyzed.


gSQL> ANALYZE TABLE t1 IMPORT 't1.stat';


Table analyzed.

16165 (SQLSTATE: 42000): tablespace is not online

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16166 (SQLSTATE: 42000): tablespace is not offline

Cause

If the target tablespace is ONLINE, executing the following statement may fail.



gSQL> SELECT is_online FROM v$tablespace WHERE TBS_NAME = 'TEST_TBS';


IS_ONLINE

---------

TRUE


1 row selected.


gSQL> ALTER DATABASE RECOVER DATAFILE 'test.dbf';


ERR-42000(16166): tablespace is not offline

Action

Switch the target tablespace to OFFLINE first, then try again.


gSQL> ALTER TABLESPACE test_tbs OFFLINE;


Tablespace altered.


gSQL> SELECT is_online FROM v$tablespace WHERE TBS_NAME = 'TEST_TBS';


IS_ONLINE

---------

FALSE


1 row selected.


gSQL> ALTER DATABASE RECOVER DATAFILE 'test.dbf';


Database altered.

16167 (SQLSTATE: 42000): cannot offline temporary tablespace

Cause

TEMPORARY TABLESPACE can not be shifted to OFFLINE.


gSQL> ALTER TABLESPACE mem_temp_tbs OFFLINE;


ERR-42000(16167): cannot offline temporary tablespace :

ALTER TABLESPACE mem_temp_tbs OFFLINE

*

ERROR at line 1:

Action

Check the use of TABLESPACE to be shifted to OFFLINE.


gSQL> SELECT tablespace_name, contents FROM dba_tablespaces WHERE tablespace_name = 'MEM_TEMP_TBS';


TABLESPACE_NAME CONTENTS

--------------- ---------

MEM_TEMP_TBS TEMPORARY


1 row selected.

16168 (SQLSTATE: 42000): cannot offline dictionary tablespace

Cause

Dictionary TABLESPACE can not be shifted to OFFLINE.


gSQL> ALTER TABLESPACE dictionary_tbs OFFLINE;


ERR-42000(16168): cannot offline dictionary tablespace :

ALTER TABLESPACE dictionary_tbs OFFLINE

*

ERROR at line 1:

Action

Check the use of TABLESPACE to be shifted to OFFLINE.


gSQL> SELECT tablespace_name, contents FROM dba_tablespaces WHERE tablespace_name = 'DICTIONARY_TBS';


TABLESPACE_NAME CONTENTS

--------------- ----------

DICTIONARY_TBS DICTIONARY


1 row selected.

16169 (SQLSTATE: 42000): cannot offline undo tablespace

Cause

Undo TABLESPACE can not be shifted to OFFLINE.


gSQL> ALTER TABLESPACE mem_undo_tbs OFFLINE;


ERR-42000(16169): cannot offline undo tablespace :

ALTER TABLESPACE mem_undo_tbs OFFLINE

*

ERROR at line 1:

Action

Check the use of TABLESPACE to be shifted to OFFLINE.


gSQL> SELECT tablespace_name, contents FROM dba_tablespaces WHERE tablespace_name = 'MEM_UNDO_TBS';


TABLESPACE_NAME CONTENTS

--------------- --------

MEM_UNDO_TBS UNDO


1 row selected.

16170 (SQLSTATE: 42000): invalid WAIT interval

Cause

An invalid WAIT time was used.


gSQL> LOCK TABLE t1 IN EXCLUSIVE MODE WAIT 1000000001;


ERR-42000(16170): invalid WAIT interval :

LOCK TABLE t1 IN EXCLUSIVE MODE WAIT 1000000001

*

ERROR at line 1:

Action

Use the valid time (second) within the range of 0 ~ 1000000000.


gSQL> LOCK TABLE t1 IN EXCLUSIVE MODE WAIT 10;


Table locked.

16171 (SQLSTATE: 42000): column is not updatable

Cause

It is not an updatable column.


gSQL> SELECT t1.c1, view1.a1 FROM t1, view1 WHERE t1.c1 = view1.a1 FOR UPDATE OF view1.a1;


ERR-42000(16171): column is not updatable :

SELECT t1.c1, view1.a1 FROM t1, view1 WHERE t1.c1 = view1.a1 FOR UPDATE OF view1.a1

*

ERROR at line 1:

Action

Use the column of the table as follows.


gSQL> SELECT t1.c1, view1.a1 FROM t1, view1 WHERE t1.c1 = view1.a1 FOR UPDATE OF t1.c1;


C1 A1

-- --

1 1

2 2


2 rows selected.

16172 (SQLSTATE: 22003): data is outside the range of the data type to which the number is being converted

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16173 (SQLSTATE: 22015): one or more fields of data value were truncated during conversion

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16174 (SQLSTATE: 42000): system session cannot be killed

Cause

The system session can not be dropped.


gSQL> ALTER SYSTEM DISCONNECT SESSION 5, 1;


ERR-42000(16174): system session cannot be killed

Action

Check the session information, then drop the user session.


gSQL> SELECT id, serial, program FROM x$session WHERE program = 'gsql';


ID SERIAL PROGRAM

-- ------ -------

28 7 gsql

29 4 gsql

30 4 gsql


3 rows selected.


gSQL> ALTER SYSTEM DISCONNECT SESSION 28, 7;


System altered.

16175 (SQLSTATE: 42000): hint not allowed in positioned DELETE

Cause

DELETE WHERE CURRENT OF statement can not use a hint.


gSQL> DECLARE cur1 CURSOR FOR SELECT * FROM t1 WHERE c1 > 0 FOR UPDATE;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> \var v2 INTEGER

gSQL> FETCH cur1 INTO :v1, :v2;


V1 V2

-- --

1 1


1 row fetched.


gSQL> DELETE /*+ INDEX(T1, T1_IDX) */ FROM T1 WHERE CURRENT OF cur1;


ERR-42000(16175): hint not allowed in positioned DELETE

Action

Use it without a hint.


gSQL> DELETE FROM T1 WHERE CURRENT OF cur1;


1 row deleted.

16176 (SQLSTATE: 42000): hint not allowed in positioned UPDATE

Cause

UPDATE WHERE CURRENT OF statement can not use a hint.


gSQL> DECLARE cur1 CURSOR FOR SELECT * FROM t1 WHERE c1 > 0 FOR UPDATE;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> \var v2 INTEGER

gSQL> FETCH cur1 INTO :v1, :v2;


V1 V2

-- --

2 2


1 row fetched.


gSQL> UPDATE /*+ INDEX(T1, T1_IDX) */ T1 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1;


ERR-42000(16176): hint not allowed in positioned UPDATE

Action

Use it without a hint.


gSQL> UPDATE T1 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1;


1 row deleted.

16177 (SQLSTATE: 34000): cursor '%s' is not updatable

Cause

The cursor is not declared with FOR UPDATE.


gSQL> DECLARE cur1 CURSOR FOR SELECT * FROM t1 WHERE c1 > 0;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> \var v2 INTEGER

gSQL> FETCH cur1 INTO :v1, :v2;


V1 V2

-- --

2 2


1 row fetched.


gSQL> UPDATE T1 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1;


ERR-34000(16177): cursor 'CUR1' is not updatable :

UPDATE T1 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1

*

ERROR at line 1:

Action

Use it by declaring the updatable cursor as follows.


gSQL> DECLARE cur1 CURSOR FOR SELECT * FROM t1 WHERE c1 > 0 FOR UPDATE;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> \var v2 INTEGER

gSQL> FETCH cur1 INTO :v1, :v2;


V1 V2

-- --

2 4


1 row fetched.


gSQL> UPDATE T1 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1;


1 row updated.

16178 (SQLSTATE: 34000): cursor cannot identify the underlying table

Cause

The table which was not referenced by a cursor was used in UPDATE WHERE CURRENT OF statement.


gSQL> DECLARE cur1 CURSOR FOR SELECT * FROM t1 WHERE c1 > 0 FOR UPDATE;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> \var v2 INTEGER

gSQL> FETCH cur1 INTO :v1, :v2;


V1 V2

-- --

2 6


1 row fetched.


gSQL> UPDATE t2 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1;


ERR-34000(16178): cursor cannot identify the underlying table :

UPDATE t2 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1

*

ERROR at line 1:

Action

Use the table which is referenced by a cursor as follows.


gSQL> UPDATE t1 SET c2 = :v1 + :v2 WHERE CURRENT OF cur1;


1 row updated.

16179 (SQLSTATE: HY109): cursor was not positioned on a certain row

Cause

The cursor is not positioned in a certain row.


gSQL> DECLARE cur1 CURSOR FOR SELECT c1 FROM t1 WHERE c1 > 0 FOR UPDATE;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> UPDATE t1 SET c1 = 3 WHERE CURRENT OF cur1;


ERR-HY109(16179): cursor was not positioned on a certain row

Action

Use it after FETCH cursor as follows.


gSQL> \var v1 INTEGER

gSQL> FETCH cur1 INTO :v1;


V1

--

2


1 row fetched.


gSQL> UPDATE t1 SET c1 = 3 WHERE CURRENT OF cur1;


1 row updated.

16180 (SQLSTATE: HY109): cursor was positioned on a row that had been deleted

Cause

The row where the cursor was positioned was already deleted.


gSQL> DECLARE cur1 CURSOR FOR SELECT c1 FROM t1 FOR UPDATE;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> FETCH cur1 INTO :v1;


V1

--

1


1 row fetched.


gSQL> DELETE t1 WHERE CURRENT OF cur1;


1 row deleted.


gSQL> DELETE t1 WHERE CURRENT OF cur1;


ERR-HY109(16180): cursor was positioned on a row that had been deleted

Action

Delete it after FETCH the row as follows.


gSQL> FETCH cur1 INTO :v1;


V1

--

2


1 row fetched.


gSQL> DELETE t1 WHERE CURRENT OF cur1;


1 row deleted.

16181 (SQLSTATE: 42000): the CDS database cannot be closed with OPERATIONAL option

Cause

shutdown operational is not executable in CDS mode.

Action

Use shutdown normal or shutdown transactional in CDS mode.

16182 (SQLSTATE: 42000): invalid segment identifier

Cause

When executing the ALTER DATABASE REGISTER IRRECOVERABLE SEGMENT statement, an invalid segment ID was specified.

Action

The ALTER DATABASE REGISTER IRRECOVERABLE SEGMENT statement is used to complete recovery while excluding the segment when recovery has failed due to error 14056.

Specify the value corresponding to the physical ID shown in the error message as the segment ID, and execute the statement again.


Error 14056 – Failed to apply redo log (LSN: %ld, LPSN: %d, Physical ID: %ld)

16183 (SQLSTATE: 42000): FETCH position must be numeric value

Cause

FETCH position should be a numeric value.


gSQL> DECLARE cur1 SCROLL CURSOR FOR SELECT c1, c2 FROM t1 ORDER BY c1;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v1 INTEGER

gSQL> \var v2 VARCHAR(32)

gSQL> FETCH ABSOLUTE 'A' FROM cur1 INTO :v1, :v2;


ERR-42000(16183): FETCH position must be numeric value :

FETCH ABSOLUTE 'A' FROM cur1 INTO :v1, :v2

*

ERROR at line 1:

ERR-22018(12006): data value is not a numeric literal

Action

Use a numeric value for FETCH position value as follows.


gSQL> FETCH ABSOLUTE 3 FROM cur1 INTO :v1, :v2;


V1 V2

-- --

3 C


1 row fetched.

16184 (SQLSTATE: 42000): cannot drop all columns in a table

Cause

It can not drop all columns.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN ( c1 );


ERR-42000(16184): cannot drop all columns in a table

Action

At least one or more columns should exist in the table.

16185 (SQLSTATE: 42000): column already has a NOT NULL constraint

Cause

NOT NULL constraint already exists in the column.


gSQL> CREATE TABLE t1 ( c1 INTEGER NOT NULL );


Table created.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET NOT NULL;


ERR-42000(16185): column already has a NOT NULL constraint

Action

Check the constraint information of the table.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) FALSE


CONSTRAINT_NAME CONSTRAINT_TYPE ASSOCIATED_INDEX COLUMNS

--------------- --------------- ---------------- -------

T1_NOT_NULL_C1 NOT NULL C1

16186 (SQLSTATE: 42000): column does not have a NOT NULL constraint

Cause

NOT NULL constraint for the column does not exist.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 DROP NOT NULL;


ERR-42000(16186): column does not have a NOT NULL constraint

Action

Check if NOT NULL constraint exists in the column.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) TRUE

16187 (SQLSTATE: 42000): null values found

Cause

The column has null value, so NOT NULL constraint can not be set.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET NOT NULL;


ERR-42000(16187): null values found

Action

Check if the column has NULL value.


gSQL> SELECT * FROM t1 WHERE c1 IS NULL;


C1

----

null


1 row selected.

16188 (SQLSTATE: HY000): result set does not exist

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16189 (SQLSTATE: 42000): column is not an identity column

Cause

It is not an identity column.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY, c2 INTEGER );


Table created.


gSQL> ALTER TABLE t1 ALTER COLUMN c2 RESTART;


ERR-42000(16189): column is not an identity column

Action

Check the identity column of the table.


gSQL> SELECT column_name, is_identity FROM columns WHERE table_name = 'T1';


COLUMN_NAME IS_IDENTITY

----------- -----------

C1 TRUE

C2 FALSE


2 rows selected.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 RESTART;


Table altered.

16190 (SQLSTATE: 42000): column cannot be cast to incompatible type

Cause

The column data type can not be changed to the incompatible data type.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(20);


ERR-42000(16190): column cannot be cast to incompatible type :

ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(20)

*

ERROR at line 1:

Action

Check the column data type.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(10,0) FALSE

C2 NUMBER(10,0) TRUE


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE NUMBER(20,0);


Table altered.

16191 (SQLSTATE: 42000): column cannot be cast to decrease precision or scale

Cause

The precision or scale can not be decreased when changing the column data type.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE NUMBER(10,0);


ERR-42000(16191): column cannot be cast to decrease precision or scale :

ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE NUMBER(10,0)

*

ERROR at line 1:

Action

Check the column data type.


gSQL> \desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ------------ -----------

C1 NUMBER(20,0) FALSE

C2 NUMBER(10,0) TRUE

16192 (SQLSTATE: 42000): column cannot be cast to decrease string length

Cause

The length can not be decreased when changing the column data type.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(5);


ERR-42000(16192): column cannot be cast to decrease string length :

ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(5)

*

ERROR at line 1:

Action

Check the column data type.


gSQL> desc t1


COLUMN_NAME TYPE IS_NULLABLE

----------- ----------- -----------

C1 VARCHAR(10) TRUE


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(20);


Table altered.

16193 (SQLSTATE: 42000): column cannot be cast to incompatible char length unit

Cause

The character length unit can not be changed when changing the data type size.


gSQL> CREATE TABLE t1 ( c1 VARCHAR(10 CHARACTERS) );


Table created.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(10 OCTETS);


ERR-42000(16193): column cannot be cast to incompatible char length unit :

ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(10 OCTETS)

*

ERROR at line 1:

Action

Use the same character length unit when changing the size.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE VARCHAR(20 CHARACTERS);


Table altered.

16194 (SQLSTATE: 42000): column cannot be cast to incompatible interval indicator

Cause

An incompatible interval indicator was used when changing the data type.


gSQL> CREATE TABLE t1 ( c1 INTERVAL YEAR TO MONTH );


Table created.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE INTERVAL YEAR;


ERR-42000(16194): column cannot be cast to incompatible interval indicator :

ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE INTERVAL YEAR

*

ERROR at line 1:

Action

Use the same interval indicator.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DATA TYPE INTERVAL YEAR(6) TO MONTH;


Table altered.

16195 (SQLSTATE: 42000): float precision specifier is out of range( %d to %d )

Cause

The precision of FLOAT exceeds the range.


gSQL> SELECT CAST( 1.5 AS FLOAT(1000) ) FROM dual;


ERR-42000(16195): float precision specifier is out of range( 1 to 126 ) :

SELECT CAST( 1.5 AS FLOAT(1000) ) FROM dual

*

ERROR at line 1:

Action

The valid precision range of FLOAT is 1 ~ 126.


gSQL> SELECT CAST( 1.5 AS FLOAT(100) ) FROM dual;


CAST( 1.5 AS FLOAT(100) )

-------------------------

1.5


1 row selected.

16196 (SQLSTATE: 42000): file is already used in log stream - '%s'

Cause

When executing the following statements, the specified log file is currently in use:


gSQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( 'redo_0_0.log' ) SIZE 100M REUSE;


ERR-42000(16196): file is already used in log stream - '/test/wal/redo_0_0.log' :

ALTER DATABASE ADD LOGFILE GROUP 4 ( 'redo_0_0.log' ) SIZE 100M REUSE

*

ERROR at line 1:

Action

Execute the statement again using a name that is not currently in use.


The following shows how to check which log files are currently in use.


gSQL> SELECT group_id, file_name FROM v$logfile;


GROUP_ID FILE_NAME

-------- ----------------------

0 /test/wal/redo_0_0.log

1 /test/wal/redo_1_0.log

2 /test/wal/redo_2_0.log

3 /test/wal/redo_3_0.log


4 rows selected.


gSQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( 'redo_4_0.log' ) SIZE 100M REUSE;


Database altered

16197 (SQLSTATE: 42000): duplicate logfile name

Cause

When executing the following statements, the specified log file already exists:



gSQL> ALTER DATABASE ADD LOGFILE MEMBER 'redo_4_1.log', 'redo_4_1.log' TO GROUP 4;


ERR-42000(16197): duplicate logfile name :

ALTER DATABASE ADD LOGFILE MEMBER 'redo_4_1.log', 'redo_4_1.log' TO GROUP 4

*

ERROR at line 1:

Action

Execute the statement again using a different log file.


gSQL> ALTER DATABASE ADD LOGFILE MEMBER 'redo_4_1.log', 'redo_4_2.log' TO GROUP 4;


Database altered.

16198 (SQLSTATE: 42000): size of log file is smaller than minimum size of log file(%ld bytes).

Cause

When executing the ALTER DATABASE ADD LOGFILE GROUP statement, this error occurs if the size of the log file is smaller than the following minimum:



The following is an example where LOG_BUFFER_SIZE is 10 MB and PENDING_LOG_BUFFER_COUNT is 4:


gSQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( 'redo_4_0.log' ) SIZE 10M REUSE;


ERR-42000(16198): size of log file is smaller than minimum size of log file(14680064 bytes).

Action

Specify a log file size that is greater than or equal to the minimum, and execute the statement again.


gSQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( 'redo_4_0.log' ) SIZE 14M REUSE;


Database altered.

16199 (SQLSTATE: 42000): can not find specified log member.

Cause

When executing the following statements, the specified log member does not exist:



gSQL> ALTER DATABASE DROP LOGFILE MEMBER 'redo_3_1.log';


ERR-42000(16199): can not find specified log member. :

ALTER DATABASE DROP LOGFILE MEMBER 'redo_3_1.log'

*

ERROR at line 1:

Action

Verify that the log member exists, then execute the statement again.


The following shows how to check which log members are currently in use.


gSQL> SELECT group_id, file_name FROM v$logfile;


GROUP_ID FILE_NAME

-------- ----------------------

0 /test/wal/redo_0_0.log

1 /test/wal/redo_1_0.log

2 /test/wal/redo_2_0.log

3 /test/wal/redo_3_0.log


4 rows selected.

16200 (SQLSTATE: 42000): the number of source logfiles is different from the number of targets

Cause

When executing the following statements, the number of source log files does not match the number of target log files.



gSQL> ALTER DATABASE RENAME LOGFILE 'redo_0_0.log', 'redo_1_0.log' TO 'new_redo_0_0.log';


ERR-42000(16200): the number of source logfiles is different from the number of targets

Action

Specify the same number of target log files as the source log files, and execute the statement again.


gSQL> ALTER DATABASE RENAME LOGFILE 'redo_0_0.log', 'redo_1_0.log' TO 'new_redo_0_0.log', 'new_redo_1_0.log';


Database altered.

16201 (SQLSTATE: 42000): can not find specified log file.

Cause

When executing the ALTER DATABASE RENAME LOGFILE statement, the target log file does not exist on disk.


gSQL> ALTER DATABASE RENAME LOGFILE 'redo_0_0.log' TO 'new_redo_0_0.log';


ERR-42000(16201): can not find specified log file. :

ALTER DATABASE RENAME LOGFILE 'redo_0_0.log' TO 'new_redo_0_0.log'

*

ERROR at line 1:

Action

Verify that the target log file exists on disk, then execute the statement again.

16202 (SQLSTATE: 42000): name '%s' is already used by an existing schema

Cause

The schema whose name is the same as the default schema of the user to create already exist.


gSQL> CREATE SCHEMA u1;


Schema created.


gSQL> CREATE USER u1 IDENTIFIED BY u1;


ERR-42000(16202): name 'U1' is already used by an existing schema :

CREATE USER u1 IDENTIFIED BY u1

*

ERROR at line 1:

Action

Create the user without a schema, or create a user with another name as follows.


gSQL> CREATE USER u1 IDENTIFIED BY u1 WITHOUT SCHEMA;


User created.


gSQL> CREATE USER u2 IDENTIFIED BY u2;


User created.

16203 (SQLSTATE: 42000): schema not empty, use CASCADE option

Cause

An object belonging to the schema exists.


gSQL> DROP SCHEMA s1;


ERR-42000(16203): schema not empty, use CASCADE option

Action

Use CASCADE option as follows.


gSQL> DROP SCHEMA s1 CASCADE;


Schema dropped.

16204 (SQLSTATE: RD000): another checkpoint is in progress

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16205 (SQLSTATE: 42000): boolean expression expected

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16206 (SQLSTATE: RD000): maximum number of arguments exceeded

Cause

It exceeds the maximum number of function arguments.


gSQL>


SELECT GREATEST( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

11, 12, 13, 14, 15, 16, 17, 18, 19, 20,

...

...

1021, 1022, 1023, 1024, 1025 )

FROM dual;


ERR-RD000(16206): maximum number of arguments exceeded :

SELECT GREATEST(

*

ERROR at line 1:

Action

Check the maximum number of function arguments.


gSQL> SELECT func_name, minargs, maxargs FROM v$sqlfn_metadata WHERE func_name = 'GREATEST';


FUNC_NAME MINARGS MAXARGS

--------- ------- -------

GREATEST 1 1024


1 row selected.

16207 (SQLSTATE: 42000): %s and %s cannot be matched

Cause

The data type which can not be compared was used.


gSQL> SELECT * FROM t1 WHERE birth_date IN ( DATE'2000-01-01', 2000 );


ERR-42000(12119): comparison is not applicable: DATE and NUMBER :

SELECT * FROM t1 WHERE birth_date IN ( DATE'2000-01-01', 2000 )

*

ERROR at line 1:

Action

Use the comparable value as follows.


gSQL> SELECT * FROM t1 WHERE birth_date IN ( DATE'2000-01-01', DATE'2000-01-02' );


BIRTH_DATE

----------

2000-01-01

2000-01-02


2 rows selected.

16208 (SQLSTATE: 42000): insufficient privileges

Cause

It does not have the privilege to execute the statement.


gSQL> DROP TABLE t1;


ERR-42000(16208): insufficient privileges

Action

Make the owner of the object execute it, or grant the appropriate privilege to the user.

16209 (SQLSTATE: 42000): user %s lacks CREATE SESSION privilege; logon denied

Cause

It does not have CREATE SESSION privilege.


% gsql u1 u1_password


ERR-42000(16209): user U1 lacks CREATE SESSION privilege; logon denied

Action

Grant CREATE SESSION privilege to the user.


gSQL> GRANT CREATE SESSION ON DATABASE TO u1;


Grant succeeded.


The user can access as follows.


% gsql u1 u1_password


Connected to Database.

16210 (SQLSTATE: 42000): lacks privilege (%s ON DATABASE)

Cause

It does not have the privilege to execute ALTER SYSTEM.


gSQL> ALTER SYSTEM CHECKPOINT;


ERR-42000(16210): lacks privilege (ALTER SYSTEM ON DATABASE)

Action

Grant ALTER SYSTEM ON DATABASE privilege to the user.


gSQL> GRANT ALTER SYSTEM ON DATABASE TO u1;


Grant succeeded.


The user can execute the statement.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> ALTER SYSTEM CHECKPOINT;


System altered.

16211 (SQLSTATE: 42000): lacks privilege (%s ON TABLESPACE "%s")

Cause

The user does not have TABLESPACE privilege required to execute the SQL statement.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


ERR-42000(16211): lacks privilege (CREATE OBJECT ON TABLESPACE "MEM_DATA_TBS")

Action

Grant CREATE OBJECT ON TABLESPACE "MEM_DATA_TBS" privilege to the user.


gSQL> GRANT CREATE OBJECT ON TABLESPACE mem_data_tbs TO u1;


Grant succeeded.


The user can execute CREATE TABLE statement as follows.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.

16212 (SQLSTATE: 42000): lacks privilege (%s ON SCHEMA "%s")

Cause

The user does not have the privilege to create the table in the schema.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


ERR-42000(16212): lacks privilege (CREATE TABLE ON SCHEMA "U1")

Action

Grant CREATE TABLE ON SCHEMA "U1" privilege to the user.


gSQL> GRANT CREATE TABLE ON SCHEMA u1 TO u1;


Grant succeeded.


The user can execute CREATE TABLE statement as follows.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.

16213 (SQLSTATE: 42000): user name '%s' conflicts with another user or role name

Cause

The identical user or role exists.


gSQL> CREATE USER u1 IDENTIFIED BY u1_password;


ERR-42000(16213): user name 'U1' conflicts with another user or role name :

CREATE USER u1 IDENTIFIED BY u1_password

*

ERROR at line 1:

Action

Check if the identical user or role exist.


gSQL> SELECT username FROM dba_users WHERE username = 'U1';


USERNAME

--------

U1


1 row selected.


gSQL> SELECT role_name FROM dba_roles WHERE role_name = 'U1';


no rows selected.

16214 (SQLSTATE: 42000): tablespace '%s' is not of usage type DATA

Cause

It is the tablespace which can not be specified as DEFAULT TABLESPACE.


gSQL> ALTER USER u1 DEFAULT TABLESPACE mem_temp_tbs;


ERR-42000(16214): tablespace 'MEM_TEMP_TBS' is not of usage type DATA :

ALTER USER u1 DEFAULT TABLESPACE mem_temp_tbs

*

ERROR at line 1:

Action

DEFAULT TABLESPACE should specify the data tablespace.


gSQL> ALTER USER u1 DEFAULT TABLESPACE mem_data_tbs;


User altered.

16215 (SQLSTATE: 42000): tablespace '%s' is not temporary tablespace

Cause

It is the tablespace which can not be specified as TEMPORARY TABLESPACE.


gSQL> ALTER USER u1 TEMPORARY TABLESPACE mem_data_tbs;


ERR-42000(16215): tablespace 'MEM_DATA_TBS' is not temporary tablespace :

ALTER USER u1 TEMPORARY TABLESPACE mem_data_tbs

*

ERROR at line 1:

Action

TEMPORARY TABLESPACE should specify the temporary tablespace.


gSQL> ALTER USER u1 TEMPORARY TABLESPACE mem_temp_tbs;


User altered.

16216 (SQLSTATE: 28000): user '%s' does not exist

Cause

The user does not exist.


gSQL> ALTER USER invalid IDENTIFIED BY new_password;


ERR-28000(16216): user 'INVALID' does not exist :

ALTER USER invalid IDENTIFIED BY new_password

*

ERROR at line 1:

Action

Specify the existing user.


gSQL> ALTER USER u1 IDENTIFIED BY new_password;


User altered.

16217 (SQLSTATE: 42000): user has own schema: DROP SCHEMA first

Cause

The user-owned schema exists.


gSQL> DROP USER u1;


ERR-42000(16217): user has own schema: DROP SCHEMA first

Action

Execute DROP USER after dropping all user-owned schemas.


gSQL> DROP SCHEMA u1 CASCADE;


Schema dropped.


gSQL> DROP USER u1 CASCADE;


User dropped.

16218 (SQLSTATE: 42000): CASCADE must be specified to drop user '%s'

Cause

The user-owned object exists.


gSQL> DROP USER u1;


ERR-42000(16218): CASCADE must be specified to drop user 'U1'

Action

Execute DROP USER by using CASCADE option.


gSQL> DROP USER u1 CASCADE;


User dropped.

16219 (SQLSTATE: 42000): you may not GRANT/REVOKE privileges to/from yourself

Cause

It can not grant/revoke the privilege to/from itself.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

TEST


1 row selected.


gSQL> GRANT CREATE SESSION ON DATABASE TO test;


ERR-42000(16219): you may not GRANT/REVOKE privileges to/from yourself :

GRANT CREATE SESSION ON DATABASE TO test

*

ERROR at line 1:

Action

Grant/revoke the privilege to/from another user.


gSQL> GRANT CREATE SESSION ON DATABASE TO u1;


Grant succeeded.

16220 (SQLSTATE: 42000): duplicate authorization name in grantee/revokee list

Cause

The duplicate account was used in the grantee list.


gSQL> GRANT CREATE SESSION ON DATABASE TO u1, u2, u1;


ERR-42000(16220): duplicate authorization name in grantee/revokee list :

GRANT CREATE SESSION ON DATABASE TO u1, u2, u1

*

ERROR at line 1:

Action

Do not use a duplicate account.


gSQL> GRANT CREATE SESSION ON DATABASE TO u1, u2, u3;


Grant succeeded.

16221 (SQLSTATE: 42000): user default schema dropped

Cause

The default schema of the user was dropped.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


ERR-42000(15013): user default schema dropped


gSQL> SELECT current_schema FROM dual;


ERR-42000(15013): user default schema dropped :

SELECT current_schema FROM dual

*

ERROR at line 1:

Action

Set the default schema for the user as follows.


gSQL> CREATE SCHEMA u1 AUTHORIZATION u1;


Schema created.


gSQL> ALTER USER u1 SCHEMA PATH ( u1 );


User altered.


gSQL> \connect u1 u1

gSQL> SELECT current_schema FROM dual;


CURRENT_SCHEMA

--------------

U1


1 row selected.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.

16222 (SQLSTATE: 42000): user default data tablespace dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16223 (SQLSTATE: 42000): user default temporary tablespace dropped

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16224 (SQLSTATE: 42000): no privileges to GRANT ALL PRIVILEGES

Cause

The current user does not have the privilege to grant to another user.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> GRANT ALL PRIVILEGES ON DATABASE TO u2;


ERR-42000(16224): no privileges to GRANT ALL PRIVILEGES

Action

It can be granted to another user only when it is the owner of the object or it is a grantable privilege.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> SELECT privilege FROM all_db_privs WHERE grantee = 'U1' AND grantable = 'YES';


no rows selected.


gSQL>


SELECT table_schema, table_name, privilege_type

FROM table_privileges

WHERE grantee = 'U1'

AND is_grantable = TRUE;


TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE

------------ ---------- --------------

U1 T1 SELECT

U1 T1 INSERT

U1 T1 UPDATE

U1 T1 DELETE

U1 T1 TRIGGER

U1 T1 REFERENCES

U1 T1 LOCK

U1 T1 INDEX

U1 T1 ALTER


9 rows selected.


gSQL> GRANT ALL PRIVILEGES ON u1.t1 TO u2;


Grant succeeded.

16225 (SQLSTATE: 42000): insufficient privilege to GRANT

Cause

There is not a privilege to GRANT.


gSQL> GRANT SELECT ON u1.t1 TO u3;


ERR-42000(16225): insufficient privilege to GRANT :

GRANT SELECT ON u1.t1 TO u3

*

ERROR at line 1:


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U2


1 row selected.

Action

Check if the privilege is GRANTABLE.


gSQL> SELECT table_schema, table_name, privilege, grantable FROM all_tab_privs WHERE grantee = 'U2';


TABLE_SCHEMA TABLE_NAME PRIVILEGE GRANTABLE

------------ ---------- ---------- ---------

U1 T1 SELECT NO

U1 T1 INSERT NO

U1 T1 UPDATE NO

U1 T1 DELETE NO

U1 T1 TRIGGER NO

U1 T1 REFERENCES NO

U1 T1 LOCK NO

U1 T1 INDEX NO

U1 T1 ALTER NO


9 rows selected.

16226 (SQLSTATE: 42000): duplicate privilege listed

Cause

The duplicate privileges were listed.


gSQL> GRANT SELECT, INSERT, SELECT ON u1.t1 TO u3;


ERR-42000(16226): duplicate privilege listed :

GRANT SELECT, INSERT, SELECT ON u1.t1 TO u3

*

ERROR at line 1:

Action

List them without duplication as follows.


gSQL> GRANT SELECT, INSERT, DELETE ON u1.t1 TO u3;


Grant succeeded.

16227 (SQLSTATE: 42000): cannot drop a user that is currently connected

Cause

It can not DROP the currently connected itself.


gSQL> DROP USER u1;


ERR-42000(16227): cannot drop a user that is currently connected :

DROP USER u1

*

ERROR at line 1:

Action

Check if the user to DROP is itself.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.

16228 (SQLSTATE: 42000): fixed table not grantable/revokable

Cause

It can not grant the privilege for the fixed table.


gSQL> GRANT SELECT ON TABLE x$tables TO u1;


ERR-42000(16228): fixed table not grantable/revokable :

GRANT SELECT ON TABLE x$tables TO u1

*

ERROR at line 1:

Action

The privilege of the fixed table can not be controlled.

16229 (SQLSTATE: 42000): invalid old password

Cause

The old password is invalid.


gSQL> ALTER USER test IDENTIFIED BY new_password REPLACE invalid_password;


ERR-42000(16229): invalid old password :

ALTER USER test IDENTIFIED BY new_password REPLACE invalid_password

*

ERROR at line 1:

Action

Enter the old password correctly when altering the password.


gSQL> ALTER USER test IDENTIFIED BY new_password REPLACE old_password;


User altered.

16230 (SQLSTATE: 42000): schema element does not match schema identifier

Cause

The schema name of CREATE TABLE created when executing CREATE SCHEMA is wrong.


gSQL>

CREATE SCHEMA s1

CREATE TABLE u1.t1 ( c1 INTEGER );


ERR-42000(16230): schema element does not match schema identifier :

CREATE TABLE u1.t1 ( c1 INTEGER )

*

ERROR at line 2:

Action

CREATE SCHEMA 시 함께 생성하는 객체는 동일한 schema 이름을 사용해야 한다.


gSQL> CREATE SCHEMA s1

CREATE TABLE s1.t1 ( c1 INTEGER );


Schema created.

16231 (SQLSTATE: 28000): cannot GRANT/REVOKE privileges to/from built-in authorization

Cause

It can not grant the privilege to the built-in account.


gSQL> GRANT SELECT ON t1 TO sys;


ERR-28000(16231): cannot GRANT/REVOKE privileges to/from built-in authorization :

GRANT SELECT ON t1 TO sys

*

ERROR at line 1:

Action

The privilege of the built-in account can not be controlled.

16232 (SQLSTATE: 28000): cannot REVOKE privileges you did not grant to '%s'

Cause

The privilege which was not GRANTed by itself can not be REVOKEd.


gSQL> REVOKE SELECT ON u1.t1 FROM u3;


ERR-28000(16232): cannot REVOKE privileges you did not grant to 'U3' :

REVOKE SELECT ON u1.t1 FROM u3

*

ERROR at line 1:

Action

The user who GRANTed the privilege can REVOKE it.


gSQL> \connect u1 u1

gSQL> REVOKE SELECT ON u1.t1 FROM u3;


Revoke succeeded.

16233 (SQLSTATE: HY000): OFFLINE IMMEDIATE disallowed; noarchivelog mode

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16234 (SQLSTATE: HY000): OFFLINE IMMEDIATE disallowed; no logging tablespace

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16235 (SQLSTATE: 2B000): dependent privilege descriptors still exist

Cause

The privilege with the dependant relationship exists.


gSQL> \connect u1 u1

gSQL> GRANT SELECT ON u1.t1 TO u2 WITH GRANT OPTION;


Grant succeeded.


gSQL> \connect u2 u2

gSQL> GRANT SELECT ON u1.t1 TO u3 WITH GRANT OPTION;


Grant succeeded.


gSQL> \connect u1 u1

gSQL> REVOKE SELECT ON u1.t1 FROM u2 RESTRICT;


ERR-2B000(16235): dependent privilege descriptors still exist

Action

Do not use RESTRICT option when executing REVOKE.


gSQL> REVOKE SELECT ON u1.t1 FROM u2;


Revoke succeeded.

16236 (SQLSTATE: 0A000): not supported query%s

Cause

This query type is not supported.


SELECT COUNT(*) FROM t1 LEFT OUTER JOIN t2 USING(c1);


ERR-0A000(16236): not supported query (outer join including using clause) :

SELECT COUNT(*) FROM t1 LEFT OUTER JOIN t2 USING(c1)

*

ERROR at line 1:

Action

LEFT OUTER JOIN describes the join condition by using ON clause.


gSQL> SELECT t1.c1, t2.c1 FROM t1 LEFT OUTER JOIN t2 ON t1.c1 = t2.c1;


C1 C1

-- ----

1 1

2 null


2 rows selected.

16237 (SQLSTATE: 42000): a subquery block has incorrect number of result columns

Cause

The numbers of result columns are different each other.


gSQL>

SELECT c1 FROM t1

UNION ALL

SELECT * FROM t2;


ERR-42000(16237): a subquery block has incorrect number of result columns :

SELECT * FROM t2

*

ERROR at line 3:

Action

Make the numbers of result columns the same as follows.


gSQL>

SELECT c1 FROM t1

UNION ALL

SELECT c1 FROM t2;


C1

--

1

2

1


3 rows selected.

16238 (SQLSTATE: 42000): ORDER BY item must be the number of a SELECT-list expression

Cause

The location value of ORDER BY is bigger than the number of result columns.


gSQL> SELECT c1, c2 FROM t2 ORDER BY 3;


ERR-42000(16157): ORDER BY item must be the number of a SELECT-list expression :

SELECT c1, c2 FROM t2 ORDER BY 3

*

ERROR at line 1:

Action

Use the number which can specify the location of the result column as follows.


gSQL> SELECT c1, c2 FROM t2 ORDER BY 1;


C1 C2

-- ----

1 null


1 row selected.

16239 (SQLSTATE: 42000): expression must have same datatype as corresponding expression

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16240 (SQLSTATE: 42000): subquery expressions not allowed here

Cause

The subquery can not be used as DEFAULT value.


gSQL> CREATE TABLE t3 ( c1 INTEGER DEFAULT ( SELECT COUNT(*) FROM t1 ) );


ERR-42000(16240): subquery expressions not allowed here :

CREATE TABLE t3 ( c1 INTEGER DEFAULT ( SELECT COUNT(*) FROM t1 ) )

*

ERROR at line 1:

Action

Use the constant value as follows.


gSQL> CREATE TABLE t3 ( c1 INTEGER DEFAULT 0 );


Table created.

16241 (SQLSTATE: 42000): invalid number of column names specified

Cause

The number of result columns and the number of view columns are different.


gSQL> CREATE VIEW v1(a1) AS SELECT * FROM t1;


ERR-42000(16241): invalid number of column names specified :

CREATE VIEW v1(a1) AS SELECT * FROM t1

*

ERROR at line 1:

Action

Make the number of view columns and the number of result columns the same as follows


gSQL> CREATE VIEW v1(a1) AS SELECT c1 FROM t1;


View created.

16242 (SQLSTATE: 42000): must name this expression with a column alias

Cause

A name should be given to the view column.


gSQL> CREATE VIEW v1 AS SELECT c1 + 1, c2 FROM t1;


ERR-42000(16242): must name this expression with a column alias :

CREATE VIEW v1 AS SELECT c1 + 1, c2 FROM t1

*

ERROR at line 1:

Action

Give the column name as follows.


gSQL> CREATE VIEW v1(a1, a2) AS SELECT c1 + 1, c2 FROM t1;


View created.


gSQL> CREATE VIEW v1 AS SELECT c1 + 1 AS a1, c2 FROM t1;


View created.

16243 (SQLSTATE: 01000): Warning: View definition has compilation errors

Cause

The view was created including the compile error.


gSQL> CREATE FORCE VIEW v1 AS SELECT c1, c2 FROM future_table;


ERR-01000(16243): Warning: View definition has compilation errors

ERR-42000(16040): table or view does not exist :

CREATE FORCE VIEW v1 AS SELECT c1, c2 FROM future_table

*

ERROR at line 1:

View created.


gSQL> COMMIT;


Commit complete.


The view was created, but it can not be viewed.


gSQL> SELECT * FROM v1;


ERR-42000(16245): view "PUBLIC.V1" has errors :

SELECT * FROM v1

*

ERROR at line 1:

ERR-42000(16040): table or view does not exist :

SELECT c1, c2 FROM future_table

*

ERROR at line 1:

Action

Resolve the compile error of the view, then the view can be normally used.


gSQL> CREATE TABLE future_table( c1 INTEGER, c2 INTEGER );


Table created.


gSQL> SELECT * FROM v1;


no rows selected.

16244 (SQLSTATE: 42000): bind variables not allowed for data definition operations

Cause

The host variable can not be used in DDL.


gSQL> \var v1 INTEGER

gSQL> CREATE VIEW v1 AS SELECT c1, c2 FROM t1 WHERE c1 > :v1;


ERR-42000(16244): bind variables not allowed for data definition operations

Action

Execute CREATE VIEW statement without the host variable.


gSQL> CREATE VIEW v1 AS SELECT c1, c2 FROM t1 WHERE c1 > 1;


View created.

16245 (SQLSTATE: 42000): view "%s.%s" has errors

Cause

The compile error exists in the view.


gSQL> CREATE VIEW v1 AS SELECT c1, c2 FROM t1;


View created.


gSQL> DROP TABLE t1;


Table dropped.


gSQL> SELECT * FROM v1;


ERR-42000(16245): view "PUBLIC.V1" has errors :

SELECT * FROM v1

*

ERROR at line 1:

ERR-42000(16040): table or view does not exist :

SELECT c1, c2 FROM t1

*

ERROR at line 1:

Action

Resolve the compile error of the view, then the view can be queried.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );


Table created.


gSQL> SELECT * FROM v1;


no rows selected.

16246 (SQLSTATE: 42000): illegal use of %s data type

Cause

LONG VARCHAR column can not be specified with the index key.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER, c3 LONG VARCHAR );


Table created.


gSQL> CREATE INDEX idx1 ON t1(c3);


ERR-42000(16246): illegal use of LONG VARCHAR data type :

CREATE INDEX idx1 ON t1(c3)

*

ERROR at line 1:

Action

The column such as LONG VARCHAR can not be used as a key.

16247 (SQLSTATE: HY000): cannot BACKUP; noarchivelog mode

Cause

The database and tablespace can not be backed up in the noarchivelog mode.


gSQL> ALTER DATABASE BEGIN BACKUP;


ERR-HY000(16247): cannot BACKUP; noarchivelog mode


gSQL> ALTER TABLESPACE DISK_DATA_TBS BEGIN BACKUP;


ERR-HY000(16247): cannot BACKUP; noarchivelog mode

Action

For backup, shift the database to archivelog mode (ARCHIVELOG_MODE), then restart it.

16248 (SQLSTATE: HY000): cannot RECOVER TABLESPACE; tablespace is in use

Cause

The tablespace(online) in use can not be recovered.


gSQL> ALTER DATABASE RECOVER TABLESPACE TEST_TBS;


ERR-HY000(16248): cannot RECOVER TABLESPACE; tablespace is in use :

ALTER DATABASE RECOVER TABLESPACE TEST_TBS

*

ERROR at line 1:

Action

Shift the tablespace to offline, then recover it.


gSQL> ALTER TABLESPACE TEST_TBS OFFLINE;


Tablespace altered.


gSQL> ALTER DATABASE RECOVER TABLESPACE TEST_TBS;


Database altered.

16249 (SQLSTATE: HY000): cannot SHUTDOWN; backup in progress

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16250 (SQLSTATE: HY000): RECOVER UNTIL CANCEL can be issued by directly attached session only - deprecated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16251 (SQLSTATE: 42000): single-row subquery returns more than one row

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16252 (SQLSTATE: 42000): circular view definition encountered

Cause

A cross-referencing view was created.


gSQL> CREATE FORCE VIEW v1 AS SELECT c1 FROM v2;


ERR-01000(16243): Warning: View definition has compilation errors

ERR-42000(16040): table or view does not exist :

CREATE FORCE VIEW v1 AS SELECT c1 FROM v2

*

ERROR at line 1:

View created.


gSQL> CREATE FORCE VIEW v2 AS SELECT c1 FROM v1;


ERR-01000(16243): Warning: View definition has compilation errors

ERR-42000(16245): view "PUBLIC.V1" has errors :

CREATE FORCE VIEW v2 AS SELECT c1 FROM v1

*

ERROR at line 1:

ERR-42000(16040): table or view does not exist :

SELECT c1 FROM v2

*

ERROR at line 1:

ERR-01000(16243): Warning: View definition has compilation errors

View created.


gSQL> SELECT * FROM v1;


ERR-42000(16245): view "PUBLIC.V1" has errors :

SELECT * FROM v1

*

ERROR at line 1:

ERR-42000(16252): circular view definition encountered :

SELECT c1 FROM v1

*

ERROR at line 1:

Action

Avoid the cross-referencing when creating a view.

16253 (SQLSTATE: 42000): only base table columns are allowed to GRANT/REVOKE

Cause

Column privilege can be controlled only for the base table.


gSQL> GRANT SELECT(c1) ON v1 TO u1;


ERR-42000(16253): only base table columns are allowed to GRANT/REVOKE :

GRANT SELECT(c1) ON v1 TO u1

*

ERROR at line 1:

Action

Do not describe the column to control the privilege for the view as follows.


gSQL> GRANT SELECT ON v1 TO u1;


Grant succeeded.


It can control the column privilege for the table.


gSQL> GRANT SELECT(c1) ON t1 TO u1;


Grant succeeded.

16254 (SQLSTATE: 42000): lacks privilege (%s ON TABLE "%s"."%s")

Cause

It does not have a privilege to perform SELECT on the table.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> SELECT * FROM public.t1;


ERR-42000(16254): lacks privilege (SELECT ON TABLE "PUBLIC"."T1")

Action

If the object owner grants the privilege, then it can execute the related statement.


gSQL> GRANT SELECT ON public.t1 TO u1;


Grant succeeded.


gSQL> \connect u1 u1

gSQL> SELECT * FROM public.t1;


no rows selected.

16255 (SQLSTATE: 42000): lacks privilege (USAGE ON SEQUENCE "%s"."%s")

Cause

It does not have a privilege to use the sequence.


gSQL> SELECT public.seq1.NEXTVAL FROM dual;


ERR-42000(16255): lacks privilege (USAGE ON SEQUENCE "PUBLIC"."SEQ1") :

SELECT public.seq1.NEXTVAL FROM dual

*

ERROR at line 1:

Action

If the object owner grants the privilege, then it can use the sequence.


gSQL> GRANT USAGE ON SEQUENCE public.seq1 TO u1;


Grant succeeded.


gSQL> connect u1 u1

gSQL> SELECT public.seq1.NEXTVAL FROM dual;


NEXTVAL

-------

1


1 row selected.

16256 (SQLSTATE: 07001): wrong number of parameters

Cause

The number of host variables used in SQL statement is different from the number of host variables used in the application.

Action

Check the use of the bind parameter of the application.

16257 (SQLSTATE: HY000): argument of CASE/WHEN must be type boolean

Cause

The argument of CASE/WHEN should be a boolean type.


gSQL> SELECT CASE WHEN ( c1 ) THEN 'GOOD' ELSE 'BAD' END AS result FROM t1;


ERR-42000(16075): inconsistent datatypes : expected BOOLEAN :

SELECT CASE WHEN ( c1 ) THEN 'GOOD' ELSE 'BAD' END AS result FROM t1

*

ERROR at line 1:

Action

Use the conditional expression in CASE/WHEN.


gSQL> SELECT CASE WHEN ( c1 = 1 ) THEN 'GOOD' ELSE 'BAD' END AS result FROM t1;


RESULT

------

GOOD


1 row selected.

16258 (SQLSTATE: HY000): the XID does not exist

Cause

The in-doubt commit/rollback can not be executed for xa transaction which does not exist in the system.


gSQL> COMMIT FORCE '0.3130.00';


ERR-HY000(16258): the XID does not exist :

COMMIT FORCE '0.3130.00'

*

ERROR at line 1:


gSQL> ROLLBACK FORCE '0.3130.00';


ERR-HY000(16258): the XID does not exist :

ROLLBACK FORCE '0.3130.00'

*

ERROR at line 1:

Action

Inquire V$XA_TRANSACTION (V$XA_TRANSACTION), and check the xa transaction to commit/rollback.

16259 (SQLSTATE: HY000): the XID string is not valid

Cause

xid of the target xa transaction to execute in-doubt commit/rollback is not valid.


gSQL> COMMIT FORCE '0.';


ERR-HY000(16259): the XID string is not valid:

COMMIT FORCE '0.'

*

ERROR at line 1:

ERR-HY000(12162): invalid XID string


gSQL> ROLLBACK FORCE '0.';


ERR-HY000(16259): the XID string is not valid:

ROLLBACK FORCE '0.'

*

ERROR at line 1:

ERR-HY000(12162): invalid XID string

Action

Inquire V$XA_TRANSACTION (V$XA_TRANSACTION) and check the xa transaction to commit/rollback.

16260 (SQLSTATE: HY000): the global transaction is in progress

Cause

The target xa transaction to execute in-doubt commit/rollback is associated.


gSQL> COMMIT FORCE '0.3130.00';


ERR-HY000(16260): the global transaction is in progress :

COMMIT FORCE '0.3130.00'

*

ERROR at line 1:


gSQL> ROLLBACK FORCE '0.3130.00';


ERR-HY000(16260): the global transaction is in progress :

ROLLBACK FORCE '0.3130.00'

*

ERROR at line 1:

Action

Inquire V$XA_TRANSACTION (V$XA_TRANSACTION) and check the xa transaction to commit/rollback.

16261 (SQLSTATE: 42000): invalid INCREMENTAL BACKUP LEVEL specified : %d

Cause

The level of the incremental backup is not valid.


gSQL> ALTER DATABASE BACKUP INCREMENTAL LEVEL 5;


ERR-42000(16261): invalid INCREMENTAL BACKUP LEVEL specified : 5

Action

(ALTER DATABASE BACKUP) The level of the incremental backup can be set from 0 to 4.

16262 (SQLSTATE: 42000): INCREMENTAL BACKUP LEVEL 0 cannot have any BACKUP options

Cause

The level 0 incremental backup does not use the backup option (CUMULATIVE/DIFFERENTIAL).


gSQL> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 CUMULATIVE;


ERR-42000(16262): INCREMENTAL BACKUP LEVEL 0 cannot have any BACKUP options


gSQL> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 DIFFERENTIAL;


ERR-42000(16262): INCREMENTAL BACKUP LEVEL 0 cannot have any BACKUP options

Action

Execute the level 0 incremental backup without using the backup option.

16263 (SQLSTATE: HY000): cannot RESTORE TABLESPACE; tablespace is in use

Cause

The tablespace (online) in use can not be restored.


gSQL> ALTER DATABASE RESTORE TABLESPACE TEST_TBS;


ERR-HY000(16263): cannot RESTORE TABLESPACE; tablespace is in use :

ALTER DATABASE RESTORE TABLESPACE TEST_TBS

*

ERROR at line 1:

Action

Switch the tablespace to offline, then restore it.


gSQL> ALTER TABLESPACE TEST_TBS OFFLINE;


Tablespace altered.


gSQL> ALTER DATABASE RESTORE TABLESPACE TEST_TBS;


Database altered.

16264 (SQLSTATE: HY000): transaction is in progress

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16265 (SQLSTATE: 42000): outer join operator (+) cannot be used with ANSI joins

Cause

outer join operator (+) can not be described together with INNER JOIN.


gSQL> SELECT t1.c1, t2.c1 FROM t1 INNER JOIN t2 ON t1.c1 = t2.c1 (+);


ERR-42000(16265): outer join operator (+) cannot be used with ANSI joins :

SELECT t1.c1, t2.c1 FROM t1 INNER JOIN t2 ON t1.c1 = t2.c1 (+)

*

ERROR at line 1:

Action

Delete (+) to execute INNER JOIN.


gSQL> SELECT t1.c1, t2.c1 FROM t1 INNER JOIN t2 ON t1.c1 = t2.c1;


C1 C1

-- --

1 1


1 row selected.


Use the SQL standard LEFT OUTER JOIN statement to execute LEFT OUTER JOIN.


gSQL> SELECT t1.c1, t2.c1 FROM t1 LEFT OUTER JOIN t2 ON t1.c1 = t2.c1;


C1 C1

-- ----

1 1



2 null


2 rows selected.


If (+) is used with the non-standard statement as follows,

it can get the same result as LEFT OUTER JOIN above,

but it is recommended to use the SQL standard statement LEFT OUTER JOIN.


gSQL> SELECT t1.c1, t2.c1 FROM t1, t2 WHERE t1.c1 = t2.c1 (+);


C1 C1

-- ----

1 1


2 null


2 rows selected.

16266 (SQLSTATE: 42000): outer join operator (+) not allowed in %s

Cause

The outer join operator (+) can not be described in SELECT list.


gSQL> SELECT t1.c1(+) FROM t1;


ERR-42000(16266): outer join operator (+) not allowed in select-list :

SELECT t1.c1(+) FROM t1

*

ERROR at line 1:

Action

The outer join operator, the non-standard operator, (+) can be used in WHERE clause.


gSQL> SELECT t1.c1, t2.c1 FROM t1, t2 WHERE t1.c1 = t2.c1 (+);


C1 C1

-- ----

1 1


2 null


2 rows selected.


However, it is recommended to use LEFT OUTER JOIN, the SQL standard, as follows.


gSQL> SELECT t1.c1, t2.c1 FROM t1 LEFT OUTER JOIN t2 ON t1.c1 = t2.c1;


C1 C1

-- ----

1 1


2 null


2 rows selected.

16267 (SQLSTATE: 42000): an outer join cannot be specified on a correlation column

Cause

The outer join operator (+) can not describe the external column.


gSQL> SELECT c1 FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t2.c1 = t1.c1(+) );


ERR-42000(16267): an outer join cannot be specified on a correlation column :

SELECT c1 FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t2.c1 = t1.c1(+) )

*

ERROR at line 1:

Action

Drop the outer join operator (+) as follows.


gSQL> SELECT c1 FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t2.c1 = t1.c1 );


C1

--

1


1 row selected.

16268 (SQLSTATE: 42000): a predicate may reference only one outer-joined table

Cause

The outer join operator (+) can not be used across multiple tables.


gSQL> SELECT t1.c1, t2.c1, t3.c1 FROM t1, t2, t3 WHERE t1.c1 = t2.c1(+) + t3.c1(+);


ERR-42000(16268): a predicate may reference only one outer-joined table :

SELECT t1.c1, t2.c1, t3.c1 FROM t1, t2, t3 WHERE t1.c1 = t2.c1(+) + t3.c1(+)

*

ERROR at line 1:

Action

Modify LEFT OUTER JOIN, the SQL standard, accordingly and use it.


gSQL> SELECT t1.c1, t2_c1, t3_c1

FROM t1 LEFT OUTER JOIN

( SELECT t2.c1 AS t2_c1, t3.c1 AS t3_c1 FROM t2, t3 ) v1

ON t1.c1 = v1.t2_c1 + v1.t3_c1;


C1 T2_C1 T3_C1

-- ----- -----

2 1 1


1 null null


2 rows selected.

16269 (SQLSTATE: 42000): a table may be outer joined to at most one other table

Cause

If it is the outer join relation using the outer join operator (+), then a single table can can describes only the other table.


gSQL> SELECT t1.c1, t2.c1, t3.c1 FROM t1, t2, t3 WHERE t1.c1 = t3.c1(+) AND t2.c2 = t3.c2(+);


ERR-42000(16269): a table may be outer joined to at most one other table :

SELECT t1.c1, t2.c1, t3.c1 FROM t1, t2, t3 WHERE t1.c1 = t3.c1(+) AND t2.c2 = t3.c2(+)

*

ERROR at line 1:

Action

Modify LEFT OUTER JOIN, the SQL standard, according to the purpose.


If the data is given as follows,


gSQL> SELECT * FROM t1;


C1 C2

-- --

1 1

2 2


2 rows selected.


gSQL> SELECT * FROM t2;


C1 C2

-- --

1 1

3 3


2 rows selected.


gSQL> SELECT * FROM t3;


C1 C2

-- --

1 1


1 row selected.


The operation sequence should be correct because the result of the LEFT OUTER JOIN for multiple tables depends on the operation sequence.


  • Case 1 : t1 LEFT OUTER JOIN ( t2 LEFT OUTER JOIN t3 )


gSQL> SELECT t1.c1, t2.c1, t3.c1 FROM t1 LEFT OUTER JOIN ( t2 LEFT OUTER JOIN t3 ON t2.c2 = t3.c2 ) ON t1.c1 = t3.c1;


C1 C1 C1

-- ---- ----

1 1 1


2 null null


2 rows selected.


  • Case 2 : t2 LEFT OUTER JOIN ( t1 LEFT OUTER JOIN t3 )


gSQL> SELECT t1.c1, t2.c1, t3.c1 FROM t2 LEFT OUTER JOIN ( t1 LEFT OUTER JOIN t3 ON t1.c1 = t3.c1 ) ON t1.c2 = t3.c2;


C1 C1 C1

-- -- --

1 1 1

1 3 1


2 rows selected.

16270 (SQLSTATE: 42000): two tables cannot be outer-joined to each other

Cause

The outer join operator (+) was used in a crossing form.


gSQL> SELECT t1.c1, t2.c1 FROM t1, t2 WHERE t1.c1(+) = t2.c1 AND t1.c1 = t2.c1(+);


ERR-42000(16270): two tables cannot be outer-joined to each other :

SELECT t1.c1, t2.c1 FROM t1, t2 WHERE t1.c1(+) = t2.c1 AND t1.c1 = t2.c1(+)

*

ERROR at line 1:

Action

Use LEFT OUTER JOIN or FULL OUTER JOIN, the SQL standard, according to the intention of using the outer join operator(+).


gSQL> SELECT t1.c1, t2.c1 FROM t1 FULL OUTER JOIN t2 ON t1.c1 = t2.c1;


C1 C1

-- ----

1 1


2 null


2 rows selected.

16271 (SQLSTATE: 42000): RESTART value cannot be made to be less than the MINVALUE

Cause

The RESTART value of the sequence is smaller than MINVALUE.


gSQL> CREATE SEQUENCE seq1 MINVALUE 1 MAXVALUE 10000000;


Sequence created.


gSQL> ALTER SEQUENCE seq1 RESTART WITH 0;


ERR-42000(16271): RESTART value cannot be made to be less than the MINVALUE :

ALTER SEQUENCE seq1 RESTART WITH 0

*

ERROR at line 1:

Action

Use RESTART value bigger than or equal to MINVALUE.


gSQL> ALTER SEQUENCE seq1 RESTART WITH 1;


Sequence altered.

16272 (SQLSTATE: 42000): RESTART value cannot be made to exceed the MAXVALUE

Cause

RESTART value of the sequence is bigger than MAXVALUE.


gSQL> ALTER SEQUENCE seq1 RESTART WITH 20000;


ERR-42000(16272): RESTART value cannot be made to exceed the MAXVALUE :

ALTER SEQUENCE seq1 RESTART WITH 20000

*

ERROR at line 1:

Action

Use RESTART value within the range between MINVALUE and MAXVALUE.


gSQL> ALTER SEQUENCE seq1 RESTART WITH 1;


Sequence altered.

16273 (SQLSTATE: 42000): MINVALUE cannot be made to exceed the current value

Cause

MINVALUE can not be altered to the value bigger than the current sequence value.


gSQL> SELECT seq1.NEXTVAL FROM dual;


NEXTVAL

-------

2


1 row selected.


gSQL> ALTER SEQUENCE seq1 MINVALUE 3;


ERR-42000(16273): MINVALUE cannot be made to exceed the current value :

ALTER SEQUENCE seq1 MINVALUE 3

*

ERROR at line 1:

Action

Alter MINVALUE to the value smaller than the current value.


gSQL> ALTER SEQUENCE seq1 MINVALUE 1;


Sequence altered.

16274 (SQLSTATE: 42000): MAXVALUE cannot be made to be less than the current value

Cause

MAXVALUE can not be altered to the value smaller than the current sequence value.


gSQL> SELECT seq1.NEXTVAL FROM dual;


NEXTVAL

-------

5


1 row selected.


gSQL> ALTER SEQUENCE seq1 MAXVALUE 4;


ERR-42000(16274): MAXVALUE cannot be made to be less than the current value :

ALTER SEQUENCE seq1 MAXVALUE 4

*

ERROR at line 1:

Action

Alter MAXVALUE to the value bigger than the current value.


gSQL> ALTER SEQUENCE seq1 MAXVALUE 1000;


Sequence altered.

16275 (SQLSTATE: 42000): MINVALUE cannot be made to exceed the START WITH value

Cause

MINVALUE of the sequence is bigger than START WITH value.


gSQL> CREATE SEQUENCE seq1 START WITH 10;


Sequence created.


gSQL> ALTER SEQUENCE seq1 RESTART WITH 100 MINVALUE 20;


ERR-42000(16275): MINVALUE cannot be made to exceed the START WITH value :

ALTER SEQUENCE seq1 RESTART WITH 100 MINVALUE 20

*

ERROR at line 1:

Action

Use the value smaller than or equal to START WITH value when altering MINVALUE.


gSQL> CREATE SEQUENCE seq1 START WITH 10;


Sequence created.


gSQL> ALTER SEQUENCE seq1 RESTART WITH 100 MINVALUE 1;


Sequence altered.

16276 (SQLSTATE: 42000): MAXVALUE cannot be made to be less than START WITH value

Cause

MAXVALUE value of the sequence is smaller than START WITH value.


gSQL> CREATE SEQUENCE seq1 START WITH 1000 INCREMENT BY -1 MAXVALUE 1000;


Sequence created.


gSQL> SELECT seq1.NEXTVAL FROM t1;


NEXTVAL

-------

1000

999

998


3 rows selected.


gSQL> ALTER SEQUENCE seq1 MAXVALUE 999;


ERR-42000(16276): MAXVALUE cannot be made to be less than START WITH value :

ALTER SEQUENCE seq1 MAXVALUE 999

*

ERROR at line 1:

Action

Use MAXVALUE value bigger than START WITH value.


gSQL> ALTER SEQUENCE seq1 MAXVALUE 100000;


Sequence altered.

16277 (SQLSTATE: 42000): log group id is already used

Cause

It is the log group id which already exists in the system, so a new log group can not be added.


gSQL> ALTER DATABASE ADD LOGFILE GROUP 10 ( 'abc.log' ) SIZE 20M;


Database altered.


gSQL> ALTER DATABASE ADD LOGFILE GROUP 10 ( 'abc2.log' ) SIZE 20M;


ERR-42000(16277): log group id is already used :

ALTER DATABASE ADD LOGFILE GROUP 10 ( 'abc2.log' ) SIZE 20M

*

ERROR at line 1:

Action

Set a new log group id which does not exist in the system when adding a log group.

16278 (SQLSTATE: 42000): identity column cannot have a default value

Cause

DEFAULT value can not be specified in an identity column.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY, c2 INTEGER );


Table created.


gSQL> ALTER TABLE t1 ALTER COLUMN c1 SET DEFAULT 1;


ERR-42000(16278): identity column cannot have a default value :

ALTER TABLE t1 ALTER COLUMN c1 SET DEFAULT 1

*

ERROR at line 1:

Action

Check the identity column of the table.


gSQL> SELECT table_name, column_name FROM user_tab_identity_cols;


TABLE_NAME COLUMN_NAME

---------- -----------

T1 C1


1 row selected.


gSQL> ALTER TABLE t1 ALTER COLUMN c2 SET DEFAULT 1;


Table altered.

16279 (SQLSTATE: 42000): DEFAULT expression has errors

Cause

An error occurred in DEFAULT value.


gSQL> CREATE SEQUENCE seq1;


Sequence created.


gSQL> CREATE TABLE t1 ( c1 INTEGER DEFAULT 1, c2 INTEGER DEFAULT seq1.NEXTVAL );


Table created.


gSQL> INSERT INTO t1 VALUES ( DEFAULT, DEFAULT );


1 row created.


gSQL> DROP SEQUENCE seq1;


Sequence dropped.


gSQL> INSERT INTO t1 VALUES ( DEFAULT, DEFAULT );


ERR-42000(16279): DEFAULT expression has errors :

INSERT INTO t1 VALUES ( DEFAULT, DEFAULT )

*

ERROR at line 1:

ERR-42000(16036): 'SEQ1.NEXTVAL': invalid identifier :

DEFAULT seq1.NEXTVAL

*

ERROR at line 1:

Action

Reset DEFAULT of the column.


gSQL> ALTER TABLE t1 ALTER COLUMN c2 SET DEFAULT 1;


Table altered.


gSQL> INSERT INTO t1 VALUES ( DEFAULT, DEFAULT );


1 row created.

16280 (SQLSTATE: 42000): the statement is disallowed

Cause

It is an error used for the specific test during the development phase.

Action

If this error occurs, contact our customer service department.

16281 (SQLSTATE: 42000): resource manager doing work outside transaction

Cause

If the transaction in progress exists in the session, then the in-doubt xa transaction can not be committed or rolled back.


gSQL> INSERT INTO T1 VALUES ( 1 );


1 row created.


gSQL> ROLLBACK FORCE '0.3130.00';


ERR-42000(16281): resource manager doing work outside transaction


gSQL> COMMIT FORCE '0.3130.00';



ERR-42000(16281): resource manager doing work outside transaction

Action

Complete the transaction in progress in the session, then complete the in-doubt xa transaction.


gSQL> INSERT INTO T1 VALUES ( 1 );


1 row created.


gSQL> COMMIT;


Commit complete.


gSQL> COMMIT FORCE '0.3130.00';


Commit complete.

16282 (SQLSTATE: 42000): MEMORY tablespace does not support an AUTOEXTEND option

Cause

The datafile of the memory tablespace does not support autoextend.


gSQL> ALTER DATABASE DATAFILE 'system_data.dbf' AUTOEXTEND ON;


ERR-42000(16282): MEMORY tablespace does not support an AUTOEXTEND option :

ALTER DATABASE DATAFILE 'system_data.dbf' AUTOEXTEND ON

*

ERROR at line 1:

Action

Only the datafile of the disk tablespace supports autoextend.


gSQL> ALTER DATABASE DATAFILE 'system_disk_data.dbf' AUTOEXTEND ON;


Database altered.

16283 (SQLSTATE: HY000): invalid ROWID

Cause

An invalid ROWID value was used.


gSQL> SELECT rowid FROM t1;


ROWID

-----------------------

AAAAAAAAYgeAACAAgCAjAAA

AAAAAAAAYgeAACAAgCAjAAB


2 rows selected.


gSQL> SELECT c1 FROM t2 WHERE ROWID = 'AAAAAAAAYgeAACAAgCAjAAA';


ERR-HY000(16283): invalid ROWID

Action

Inquire the table which acquired ROWID.


gSQL> SELECT c1 FROM t1 WHERE ROWID = 'AAAAAAAAYgeAACAAgCAjAAA';


C1

--

1


1 row selected.

16284 (SQLSTATE: 42000): unable to execute in CDS mode

Cause

This statement cannot be executed in CDS mode.


gSQL> ALTER DATABASE RESTORE TABLESPACE TEST_TBS2;

ERR-HY000(16286) unable to execute in CDS mode

Action

N/A

16285 (SQLSTATE: RP000): failed to create system threads

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16286 (SQLSTATE: HY000): valid incremental backup does not exist

Cause

This error occurs when no incremental backup exists while executing the following statements:


gSQL> ALTER DATABASE RESTORE;


ERR-HY000(14092): not exist incremental backup

Action

Verify that an incremental backup exists and then execute the statement again.


The following shows how to check for incremental backups.


gSQL> SELECT backup_name, backup_scope, incremental_level FROM v$incremental_backup;


BACKUP_NAME BACKUP_SCOPE INCREMENTAL_LEVEL

--------------------------------------- ------------ -----------------

database_D20260304_T133953_L0_Q0_P0.inc database 0

control_D20260304_T133954_L0_Q1.inc control 0


2 rows selected.

16287 (SQLSTATE: 42000): log group id does not exist

Cause

This error occurs when no log group id exists while executing the ALTER DATABASE ADD LOGFILE statement.


gSQL> ALTER DATABASE ADD LOGFILE MEMBER 'redo_4_0.log' TO GROUP 4;


ERR-42000(16287): log group id does not exist :

ALTER DATABASE ADD LOGFILE MEMBER 'redo_4_0.log' TO GROUP 4

*

ERROR at line 1:

Action

Verify that a log group id exists and then execute the statement again.


The following shows how to check for log group ids.


gSQL> SELECT group_id, COUNT(group_id) FROM v$logfile GROUP BY group_id;


GROUP_ID COUNT(GROUP_ID)

-------- ---------------

0 1

1 1

2 1

3 1


4 rows selected.

16288 (SQLSTATE: 42000): invalid string value specified

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16289 (SQLSTATE: 42000): into clause can have only one row

Cause

There are multiple results of SELECT INTO.


gSQL> \var v1 INTEGER

gSQL> SELECT c1 INTO :v1 FROM t1;


ERR-42000(16289): into clause can have only one row

Action

Make sure that it creates only one result.


gSQL> SELECT c1 INTO :v1 FROM t1 WHERE c1 = 1;


V1

--

1


1 row selected.

16290 (SQLSTATE: 42000): SHUTDOWN must be executed in dedicated session

Cause

Shutdown cannot be executed in a shared session.

Action

Execute the shutdown command in a dedicated session.

16291 (SQLSTATE: 40002): transaction rollback: integrity constraint violation

Cause

It was committed while violating the deferrable constraints, so the transaction was rolled back.


gSQL> CREATE TABLE t1 ( c1 INTEGER UNIQUE DEFERRABLE INITIALLY DEFERRED, c2 INTEGER );


Table created.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.


gSQL> INSERT INTO t1 VALUES ( 1, 2 );


1 row created.


gSQL> COMMIT;


ERR-40002(16291): transaction rollback: integrity constraint violation : T1_UNIQUE_C1(1)

Action

COMMIT it without violating the constraints as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER UNIQUE DEFERRABLE INITIALLY DEFERRED, c2 INTEGER );


Table created.


gSQL> INSERT INTO t1 VALUES ( 1, 1 );


1 row created.


gSQL> INSERT INTO t1 VALUES ( 1, 2 );


1 row created.


gSQL> UPDATE t1 SET c1 = 2 WHERE c2 = 2;


1 row updated.


gSQL> COMMIT;


Commit complete.

16292 (SQLSTATE: 42000): column length specifier is out of range( 1 to %d ) for columnar table

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16293 (SQLSTATE: 42000): columnar table does not support LONG VARCHAR and LONG VARBINARY

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16294 (SQLSTATE: 42000): cannot defer a constraint that is not deferrable

Cause

DEFERRED can not be set in NOT DEFERRABLE constraint.


gSQL> CREATE TABLE t1 ( c1 INTEGER UNIQUE );


Table created.


gSQL> ALTER TABLE t1 ALTER UNIQUE(c1) NOT DEFERRABLE INITIALLY DEFERRED;


ERR-42000(16294): cannot defer a constraint that is not deferrable :

ALTER TABLE t1 ALTER UNIQUE(c1) NOT DEFERRABLE INITIALLY DEFERRED

*

ERROR at line 1:

Action

Describe DEFERRABLE as follows.


gSQL> ALTER TABLE t1 ALTER UNIQUE(c1) DEFERRABLE INITIALLY DEFERRED;


Table altered.

16295 (SQLSTATE: 42000): invalid NOT NULL constraint specified on an identity column

Cause

The deferrable NOT NULL constraint can not be set for the identity column.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL DEFERRABLE );


ERR-42000(16295): invalid NOT NULL constraint specified on an identity column :

CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL DEFERRABLE )

*

ERROR at line 1:

Action

Delete the DEFERRABLE as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL );


Table created.

16296 (SQLSTATE: 42000): constraint '%s' is not deferrable

Cause

It is not a deferrable constraint.


gSQL> CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_uk UNIQUE );


Table created.


gSQL> SET CONSTRAINTS t1_uk DEFERRED;


ERR-42000(16296): constraint 'T1_UK' is not deferrable :

SET CONSTRAINTS t1_uk DEFERRED

*

ERROR at line 1:

Action

SET CONSTRAINTS statement can be used only for the deferrable constraints.


gSQL> CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_uk UNIQUE DEFERRABLE );


Table created.


gSQL> SET CONSTRAINTS t1_uk DEFERRED;


Constraints set.

16297 (SQLSTATE: 42000): duplicate constraint name specified

Cause

The duplicate constraint name was used.


gSQL> CREATE TABLE t1 ( c1 INTEGER CONSTRAINT t1_uk1 UNIQUE, c2 INTEGER CONSTRAINT t1_uk2 UNIQUE );


Table created.



gSQL> ALTER TABLE t1 RENAME CONSTRAINT t1_uk2 TO t1_uk1;


ERR-42000(16297): duplicate constraint name specified :

ALTER TABLE t1 RENAME CONSTRAINT t1_uk2 TO t1_uk1

*

ERROR at line 1:

Action

Use a new constraint name.


gSQL> ALTER TABLE t1 RENAME CONSTRAINT t1_uk2 TO t1_uk_new;


Table altered.

16298 (SQLSTATE: 42000): cannot make primary key supplemental log data with primary key constraint violation

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16299 (SQLSTATE: 42000): datafile does not exist in database

Cause

This error occurs when the specified datafile exists on disk but is not a file currently used by the database while executing the ALTER DATABASE RECOVER DATAFILE statement.


gSQL> ALTER DATABASE RECOVER DATAFILE 'test.dbf';


ERR-42000(16299): datafile does not exist in database

Action

Verify that the specified datafile is currently used by the database, and then execute the statement again.


The following shows how to check the datafiles currently used by the database.


gSQL> SELECT tbs_name, datafile_name FROM v$datafile;


TBS_NAME DATAFILE_NAME

-------------- ----------------------------------------------------------------------

DICTIONARY_TBS /test/db/system_dict.dbf

MEM_UNDO_TBS /test/db/system_undo.dbf

MEM_DATA_TBS /test/db/system_data.dbf

MEM_TEMP_TBS system_temp

DISK_DATA_TBS /test/db/system_disk_data.dbf

MEM_AUX_TBS /test/db/system_aux.dbf

MEM_TRANS_TBS /test/db/system_trans.dbf


7 rows selected.

16300 (SQLSTATE: 42000): too many SQL resource

Cause

It exceeds the maximum number of expressions. (2,147,483,648)


e.g. SELECT 1+2+3+...........+2147483647+2147483648 FROM dual;

Action

If this error occurs, contact our customer service department.

16301 (SQLSTATE: 42000): name '%s' is already used by an existing public synonym

Cause

The public synonym with the same name exists.


gSQL> CREATE PUBLIC SYNONYM ps1 FOR t1;


Synonym created.


gSQL> CREATE PUBLIC SYNONYM ps1 FOR t2;


ERR-42000(16301): name 'PS1' is already used by an existing public synonym :

CREATE PUBLIC SYNONYM ps1 FOR t2

*

ERROR at line 1:

Action

Use the synonym name which has not been used.


gSQL> CREATE PUBLIC SYNONYM ps2 FOR t2;


Synonym created.

16302 (SQLSTATE: 42000): private synonym '%s' to be dropped does not exist

Cause

The private synonym does not exist.


gSQL> DROP SYNONYM s1;


ERR-42000(16302): private synonym 'S1' to be dropped does not exist :

DROP SYNONYM s1

*

ERROR at line 1:

Action

Check if the private synonym exist.


gSQL> SELECT synonym_name FROM user_synonyms;


SYNONYM_NAME

------------

S2


1 row selected.


gSQL> DROP SYNONYM s2;


Synonym dropped.

16303 (SQLSTATE: 42000): public synonym '%s' to be dropped does not exist

Cause

The public synonym does not exist.


gSQL> DROP PUBLIC SYNONYM ps3;


ERR-42000(16303): public synonym 'PS3' to be dropped does not exist :

DROP PUBLIC SYNONYM ps3

*

ERROR at line 1:

Action

Check if the public synonym exist.


gSQL> SELECT synonym_name FROM all_synonyms WHERE synonym_schema IS NULL;


SYNONYM_NAME

-------------------

DUAL

...

...

PS1

PS2


317 rows selected.


gSQL> DROP PUBLIC SYNONYM ps1;


Synonym dropped.

16304 (SQLSTATE: 42000): looping chain of synonyms

Cause

The looping chain which refers to itself occurred.


gSQL> CREATE SYNONYM s1 FOR s1;


ERR-42000(16304): looping chain of synonyms :

CREATE SYNONYM s1 FOR s1

*

ERROR at line 1:

Action

Make sure that the looping chain does not happen.


gSQL> CREATE SYNONYM s1 FOR t1;


Synonym created.

16305 (SQLSTATE: 42000): synonym translation is no longer valid

Cause

The object which is referred by the synonym does not exist.


gSQL> CREATE SYNONYM s1 FOR invalid;


Synonym created.


gSQL> SELECT * FROM s1;


ERR-42000(16040): table or view does not exist :

SELECT * FROM s1

*

ERROR at line 1:

Action

Create the synonym which has the object referred by it.


gSQL> CREATE SYNONYM s1 FOR t1;


Synonym created.


gSQL> SELECT * FROM s1;


C1

--

1


1 row selected.

16306 (SQLSTATE: 42000): expression is out of iteration time scope

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16307 (SQLSTATE: 42000): constant value expression expected

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16308 (SQLSTATE: 42000): invalid or redundant resource

Cause

The redundant profile parameter was used.


gSQL> CREATE PROFILE p1 LIMIT FAILED_LOGIN_ATTEMPTS 1 FAILED_LOGIN_ATTEMPTS 2;


ERR-42000(16308): invalid or redundant resource :

CREATE PROFILE p1 LIMIT FAILED_LOGIN_ATTEMPTS 1 FAILED_LOGIN_ATTEMPTS 2

*

ERROR at line 1:

Action

Delete the redundant profile parameter.


gSQL> CREATE PROFILE p1 LIMIT FAILED_LOGIN_ATTEMPTS 1;


Profile created.

16309 (SQLSTATE: 42000): the account is locked

Cause

The account is locked.


gSQL> ALTER USER u1 ACCOUNT LOCK;


User altered.


gSQL> \connect u1 u1


ERR-28000(16309): the account is locked

Action

Unlock the account.


gSQL> ALTER USER u1 ACCOUNT UNLOCK;


User altered.


gSQL> \connect u1 u1

gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.

16310 (SQLSTATE: 42000): the password will expire in %ld days

Cause

The password will expire in a certain period.


gSQL> \connect u1 u1


ERR-28000(16310): the password will expire in 1 days

Action

Change the user password.

16311 (SQLSTATE: 42000): the password will expire soon

Cause

The user password will expire in a certain period. (GRACE TIME).


% gsql u1 u1


ERR-28000(16311): the password will expire soon


Connected to Database.

Action

Change the user password.


The status of the user account can be viewed as follows.


gSQL> SELECT username, account_status, lock_date, expiry_date FROM user_users;


USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE

-------- -------------- --------- --------------------------

U1 EXPIRED(GRACE) null 2024-02-29 14:40:50.140375


1 row selected.


gSQL> ALTER USER u1 IDENTIFIED BY u1_new REPLACE u1;


User altered.


gSQL> SELECT username, account_status, lock_date, expiry_date FROM user_users;


USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE

-------- -------------- --------- --------------------------

U1 OPEN null 2025-02-28 14:51:18.110624


1 row selected.

16312 (SQLSTATE: 42000): the password has expired

Cause

login was successful, but the password expired.


% gsql u1 u1


ERR-28000(16312): the password has expired

Changing password for u1

New password:

Action

Enter a new password.


Changing password for u1

New password: ******

Retype new password: ******


Connected to Database.

16313 (SQLSTATE: 42000): the password cannot be reused

Cause

It can not be changed to the same password.


gSQL> ALTER USER u1 IDENTIFIED BY u1 REPLACE u1;


ERR-28000(16313): the password cannot be reused

Action

Use the password which is different from the existing password.


gSQL> ALTER USER u1 IDENTIFIED BY u1_new REPLACE u1;


User altered.

16314 (SQLSTATE: 42000): cannot lock "SYS" account

Cause

The account can not be locked.


gSQL> ALTER USER sys ACCOUNT LOCK;


ERR-42000(16314): cannot lock "SYS" account

Action

SYS account can not be locked.

16315 (SQLSTATE: 42000): profile '%s' already exists

Cause

The same profile already exists.


gSQL> CREATE PROFILE prof1 LIMIT PASSWORD_REUSE_MAX 2;


ERR-42000(16315): profile 'PROF1' already exists :

CREATE PROFILE prof1 LIMIT PASSWORD_REUSE_MAX 2

*

ERROR at line 1:

Action

Create the profile which is not an existing profile.


gSQL> CREATE PROFILE prof2 LIMIT PASSWORD_REUSE_MAX 2;


Profile created.

16316 (SQLSTATE: 42000): function '%s' not found

Cause

PASSWORD_VERIFY_FUNCTION which did not exist was used.


gSQL> ALTER PROFILE prof1 LIMIT PASSWORD_VERIFY_FUNCTION invalid;


ERR-42000(16316): function 'INVALID' not found :

ALTER PROFILE prof1 LIMIT PASSWORD_VERIFY_FUNCTION invalid

*

ERROR at line 1:

Action

Use existing PASSWORD_VERIFY_FUNCTION as follows.


gSQL> ALTER PROFILE prof1 LIMIT PASSWORD_VERIFY_FUNCTION KISA_VERIFY_FUNCTION;


Profile altered.

16317 (SQLSTATE: 42000): profile '%s' has users assigned, cannot drop without CASCADE

Cause

The profile has been assigned to the user.


gSQL> DROP PROFILE prof1;


ERR-42000(16317): profile 'PROF1' has users assigned, cannot drop without CASCADE

Action

Use CASCADE option.


gSQL> DROP PROFILE prof1 CASCADE;


Profile dropped.

16318 (SQLSTATE: 42000): profile '%s' does not exist

Cause

The profile does not exist.


gSQL> DROP PROFILE prof1;


ERR-42000(16318): profile 'PROF1' does not exist :

DROP PROFILE prof1

*

ERROR at line 1:

Action

Check if the profile exists.


gSQL> SELECT DISTINCT profile_name FROM dba_profiles;


PROFILE_NAME

------------

DEFAULT

PROF2


2 rows selected.

16319 (SQLSTATE: 42000): cannot assign PROFILE to "SYS" account

Cause

The profile can not be assigned to the account.


gSQL> ALTER USER sys PROFILE prof2;


ERR-42000(16319): cannot assign PROFILE to "SYS" account

Action

The profile can not be assigned to SYS account.

16320 (SQLSTATE: 42000): cannot assign DEFAULT parameter value to "DEFAULT" profile

Cause

DEFAULT value can not be assigned to "DEFAULT" profile.


gSQL> ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS DEFAULT;


ERR-42000(16320): cannot assign DEFAULT parameter value to "DEFAULT" profile :

ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS DEFAULT

*

ERROR at line 1:

Action

DEFAULT value to be used in another profile is assigned to "DEFAULT" profile.

Therefore, assign the valid value to "DEFAULT" profile.


gSQL> SELECT * FROM dba_profiles WHERE profile_name = 'DEFAULT';


PROFILE_NAME RESOURCE_NAME RESOURCE_TYPE LIMIT_VALUE COMMON

------------ ------------------------ ------------- ----------- ------

DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 YES

DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 YES

DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 YES

DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 YES

DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED YES

DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED YES

DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL YES


7 rows selected.


gSQL> ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS 20;


Profile altered.

16321 (SQLSTATE: 42000): password length less than '%d'

Cause

The password length constraint is not satisfied among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> CREATE PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION KISA_VERIFY_FUNCTION;


Profile created.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> ALTER USER u1 IDENTIFIED BY u1;


ERR-42000(16321): password length less than '8'

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY axUt_z3qt;


User altered.

16322 (SQLSTATE: 42000): password must contain at least '%d' letter(s)

Cause

The constraint on the use of password character is not satisfied among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> CREATE PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION KISA_VERIFY_FUNCTION;


Profile created.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> ALTER USER u1 IDENTIFIED BY "1234567801";


ERR-42000(16322): password must contain at least '1' letter(s)

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY axUt_z3qt;


User altered.

16323 (SQLSTATE: 42000): password must contain at least uppercase '%d' character(s)

Cause

The constraint on the number of password uppercase letters is not satisfied among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_STRONG_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> ALTER USER u1 IDENTIFIED BY a1b2_c3fdja;


ERR-42000(16323): password must contain at least uppercase '2' character(s)

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY a1B2_C3f_dja;


User altered.

16324 (SQLSTATE: 42000): password must contain at least lowercase '%d' character(s)

Cause

The constraint on the number of password lowercase letters is not satisfied among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_STRONG_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> ALTER USER u1 IDENTIFIED BY A1U2DX_12;


ERR-42000(16324): password must contain at least lowercase '2' character(s)

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY a1B2_C3f_dja;


User altered.

16325 (SQLSTATE: 42000): password must contain at least '%d' digit(s)

Cause

The constraint on the number of password numeric letters is not satisfied among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION KISA_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> ALTER USER u1 IDENTIFIED BY AuDX_zqT;


ERR-42000(16325): password must contain at least '1' digit(s)

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY a1B2_C3f_dja;


User altered.

16326 (SQLSTATE: 42000): password must contain at least '%d' special character(s)

Cause

The constraint on the number of password special characters is not satisfied among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION KISA_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> ALTER USER u1 IDENTIFIED BY A1uDX9zqT;


ERR-42000(16326): password must contain at least '1' special character(s)

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY a1B2_C3f_dja;


User altered.

16327 (SQLSTATE: 42000): password same as or similar to user name

Cause

The password includes the user name among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER test1user PROFILE p1;


User altered.


gSQL> ALTER USER test1user IDENTIFIED BY atest1User_1;


ERR-42000(16327): password same as or similar to user name

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER test1user IDENTIFIED BY a1B2_C3f_dja;


User altered.

16328 (SQLSTATE: 42000): password contains the user name reversed

Cause

The user name was used in a reverse order for the password among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER test1user PROFILE p1;


User altered.


gSQL> ALTER USER test1User IDENTIFIED BY aresU1tset_;


ERR-42000(16328): password contains the user name reversed

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER test1user IDENTIFIED BY a1B2_C3f_dja;


User altered.

16329 (SQLSTATE: 42000): password same as or similar to database name

Cause

The database name was used in the password among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER test1user PROFILE p1;


User altered.


gSQL> ALTER USER test1User IDENTIFIED BY test_db100;


ERR-42000(16329): password same as or similar to database name


gSQL> SELECT catalog_name FROM catalog_name;


CATALOG_NAME

------------

TEST_DB


1 row selected.

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER test1user IDENTIFIED BY a1B2_C3f_dja;


User altered.

16330 (SQLSTATE: 42000): password too simple

Cause

The password format is too simple among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER test1user PROFILE p1;


User altered.


gSQL> ALTER USER test1User IDENTIFIED BY password1;


ERR-42000(16330): password too simple

Action

지정된 PASSWORD_VERIFY_FUNCTION 의 제약을 준수하는 password 를 사용한다.


gSQL> ALTER USER test1user IDENTIFIED BY a1B2_C3f_dja;


User altered.

16331 (SQLSTATE: 42000): Password should differ from the old password by at least '%d' characters

Cause

The new password should be different at least three characters compared to the old password among PASSWORD_VERIFY_FUNCTION constraints.


gSQL> ALTER PROFILE p1 LIMIT PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;


Profile altered.


gSQL> ALTER USER u1 PROFILE p1;


User altered.


gSQL> \connect u1 zAc123_2

gSQL> ALTER USER u1 IDENTIFIED BY zAc123_3 REPLACE zAc123_2;


ERR-42000(16331): Password should differ from the old password by at least '3' characters

Action

Use the password complying with the specified PASSWORD_VERIFY_FUNCTION constraint.


gSQL> ALTER USER u1 IDENTIFIED BY TuzY1__6 REPLACE zAc123_2;


User altered.

16332 (SQLSTATE: 42000): constant value does not support LONG VARCHAR and LONG VARBINARY

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16333 (SQLSTATE: 42000): value of parameter number (%d) must be consistent datatype

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16334 (SQLSTATE: 42000): invalid value is prevented in parameter number (%d)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16335 (SQLSTATE: 42000): UPDATE primary key not allowed for supplemental log table

Cause

SUPPLEMENTAL LOG does not allow primary key UPDATE of the specified table.


gSQL> CREATE TABLE t1 ( c1 INTEGER PRIMARY KEY, c2 INTEGER );


Table created.


gSQL> ALTER TABLE t1 ADD SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;


Table altered.


gSQL> ALTER SESSION SET DISABLE_UPDATE_PK_CDC_GIVEUP = ON;


Session altered.


gSQL> UPDATE t1 SET c1 = 2 WHERE c2 = 1;


ERR-42000(16335): UPDATE primary key not allowed for supplemental log table

Action

If DISABLE_UPDATE_PK_CDC_GIVEUP property is set, then the primary key can not be UPDATEd.

16336 (SQLSTATE: 42000): cluster group '%s' does not exist

Cause

The cluster group does not exist.


gSQL> DROP CLUSTER GROUP invalid_group;


ERR-42000(16336): cluster group 'INVALID_GROUP' does not exist :

DROP CLUSTER GROUP invalid_group

*

ERROR at line 1:

Action

Check the name of the existing cluster group.


gSQL> SELECT DISTINCT group_name FROM dba_cluster;


GROUP_NAME

----------

G2

G1

G3


3 rows selected.

16337 (SQLSTATE: 42000): duplicate cluster object listed

Cause

The duplicate cluster member name was listed.


gSQL>


CREATE CLUSTER GROUP g4

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 10410,

CLUSTER MEMBER g4n2 HOST '127.0.0.1' PORT 10420,

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 10430;


ERR-42000(16337): duplicate cluster object listed :

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 10430

*

ERROR at line 4:

Action

Do not use the duplicate cluster member name.

16338 (SQLSTATE: 42000): cluster domain '%s' does not exist

Cause

The cluster domain does not exist.


gSQL> SELECT * FROM t1@INVALID;


ERR-42000(16338): cluster domain 'INVALID' does not exist :

SELECT * FROM t1@INVALID

*

ERROR at line 1:

Action

Use the valid cluster domain name.


gSQL> SELECT * FROM t1@G1;


C1

--

1


1 row selected.


gSQL> SELECT * FROM t1@G1N1;


C1

--

1


1 row selected.

16339 (SQLSTATE: 42000): invalid hash shard count (must between %d and %d)

Cause

It exceeds the range of the hash shard count.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1) SHARD COUNT 513;


ERR-42000(16339): invalid hash shard count (must between 1 and 512) :

CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1) SHARD COUNT 513

*

ERROR at line 1:

Action

Use the valid hash shard count ( 1 ~ 512 ).


gSQL> CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1) SHARD COUNT 60;


Table created.

16340 (SQLSTATE: 42000): not found available sharding key column

Cause

The table consisting of LONG VARCHAR columns only can not be sharded with DEFAULT_SHARDING property.


gSQL> ALTER SESSION SET DEFAULT_SHARDING = 1;


Session altered.


gSQL> CREATE TABLE t1 ( c1 LONG VARCHAR );


ERR-42000(16340): not found available sharding key column

Action

Create the table consisting of LONG VARCHAR columns only as cloned.


gSQL> ALTER SESSION SET DEFAULT_SHARDING = 1;


Session altered.


gSQL> CREATE TABLE t1 ( c1 LONG VARCHAR ) CLONED;


Table created.

16341 (SQLSTATE: 42000): cannot specifiy sharding strategy and placement for a table on dictionary schema '%s'

Cause

The table created in the system schema can not specify the sharding policy


gSQL> CREATE TABLE INFORMATION_SCHEMA.t1 ( c1 INTEGER ) CLONED;


ERR-42000(16341): cannot specify sharding strategy and placement for a table on dictionary schema 'INFORMATION_SCHEMA'

Action

Do not create the user object in the system schema.

16342 (SQLSTATE: HYC00): not implemented feature for cluster system, in a function %s

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16343 (SQLSTATE: 42000): invalid syntax for a stand-alone system

Cause

The syntax can not be used in the stand-alone system.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.


gSQL> ALTER TABLE t1 ADD GLOBAL SECONDARY INDEX;


ERR-42000(16343): invalid syntax for a stand-alone system :

ALTER TABLE t1 ADD GLOBAL SECONDARY INDEX

*

ERROR at line 1:

Action

Check if it is the cluster system.


gSQL> SELECT is_cluster FROM x$instance;


IS_CLUSTER

----------

FALSE


1 row selected.

16344 (SQLSTATE: 42000): database is not local opened

Cause

The current start-up phase is not local opened.


gSQL> \startup nomount


Startup success


gSQL> ALTER SYSTEM OPEN GLOBAL DATABASE;


ERR-42000(16344): database is not local opened

Action

Check the current status, and shift the start-up phase step by step.


gSQL> \startup nomount


Startup success


gSQL> ALTER SYSTEM MOUNT DATABASE;


System altered.


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


System altered.


gSQL> ALTER SYSTEM OPEN GLOBAL DATABASE;


System altered.

16345 (SQLSTATE: 42000): database is already opened

Cause

The database is already open.


gSQL> ALTER SYSTEM MOUNT DATABASE;


ERR-42000(16345): database is already opened

Action

Check the current status.


gSQL> SELECT status FROM x$instance;


STATUS

------

OPEN


1 row selected.

16346 (SQLSTATE: 42000): name '%s' is already used by an existing cluster object

Cause

The cluster object name is already in use.


gSQL> ALTER CLUSTER GROUP g1 ADD


CLUSTER MEMBER g1n1 HOST '127.0.0.1' PORT 10101;

ERR-42000(16346): name 'G1N1' is already used by an existing cluster object :

CLUSTER MEMBER g1n1 HOST '127.0.0.1' PORT 10101

*

ERROR at line 2:

Action

Check if the cluster object name is already in use.


gSQL> SELECT group_name, member_name FROM dba_cluster;


GROUP_NAME MEMBER_NAME

---------- -----------

G1 G1N1

G1 G1N2

G2 G2N1

G2 G2N2

G3 G3N1

G3 G3N2


6 rows selected.

16347 (SQLSTATE: 42000): cluster port is out of range( %d to %d )

Cause

The cluster port value is wrong.


gSQL> ALTER CLUSTER LOCATION g1n9 PORT 11;


ERR-42000(16347): cluster port is out of range( 1024 to 49151 ) :

ALTER CLUSTER LOCATION g1n9 PORT 11

*

ERROR at line 1:

Action

Use the cluster port in the valid range (1024 ~ 49151).


gSQL> ALTER CLUSTER LOCATION g1n9 PORT 11111;


Location altered.

16348 (SQLSTATE: 42000): duplicate cluster connection listed

Cause

The duplicate cluster connection was listed.


gSQL>


CREATE CLUSTER GROUP g4

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 10410,

CLUSTER MEMBER g4n2 HOST '127.0.0.2' PORT 10410,

CLUSTER MEMBER g4n3 HOST '127.0.0.1' PORT 10410;


ERR-42000(16348): duplicate cluster connection listed :

CLUSTER MEMBER g4n3 HOST '127.0.0.1' PORT 10410

*

ERROR at line 4:

Action

The combination of HOST and PORT should be unique in the cluster system.

16349 (SQLSTATE: 42000): the first cluster group does not contain local cluster member '%s'

Cause

The currently connected cluster member should be included when creating the first cluster group in the cluster system.


gSQL> SELECT local_member_name FROM x$instance;


LOCAL_MEMBER_NAME

-----------------

G1N1


1 row selected.


gSQL> CREATE CLUSTER GROUP G1 CLUSTER MEMBER G1N2 HOST '127.0.0.1' PORT 12150;


ERR-42000(16349): the first cluster group does not contain local cluster member 'G1N1'

Action

When creating the first cluster group, it can consist of only currently connected cluster members.


gSQL> SELECT local_member_name FROM x$instance;


LOCAL_MEMBER_NAME

-----------------

G1N1


1 row selected.


gSQL> CREATE CLUSTER GROUP G1 CLUSTER MEMBER G1N1 HOST '127.0.0.1' PORT 11150;


Cluster Group created.

16350 (SQLSTATE: 42000): maximum number of cluster members exceeded

Cause

The number of cluster members created in a cluster group is exceeded.


gSQL>


CREATE CLUSTER GROUP g4

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 10410,

CLUSTER MEMBER g4n2 HOST '127.0.0.1' PORT 10420,

CLUSTER MEMBER g4n3 HOST '127.0.0.1' PORT 10430,

CLUSTER MEMBER g4n4 HOST '127.0.0.1' PORT 10440,

CLUSTER MEMBER g4n5 HOST '127.0.0.1' PORT 10405,

CLUSTER MEMBER g4n6 HOST '127.0.0.1' PORT 10406,

CLUSTER MEMBER g4n7 HOST '127.0.0.1' PORT 10407,

CLUSTER MEMBER g4n8 HOST '127.0.0.1' PORT 10408,

CLUSTER MEMBER g4n9 HOST '127.0.0.1' PORT 10409,

CLUSTER MEMBER g4n10 HOST '127.0.0.1' PORT 10410,

CLUSTER MEMBER g4n11 HOST '127.0.0.1' PORT 10411,

CLUSTER MEMBER g4n12 HOST '127.0.0.1' PORT 10412,

CLUSTER MEMBER g4n13 HOST '127.0.0.1' PORT 10413,

CLUSTER MEMBER g4n14 HOST '127.0.0.1' PORT 10414,

CLUSTER MEMBER g4n15 HOST '127.0.0.1' PORT 10415,

CLUSTER MEMBER g4n16 HOST '127.0.0.1' PORT 10416,

CLUSTER MEMBER g4n17 HOST '127.0.0.1' PORT 10417,

CLUSTER MEMBER g4n18 HOST '127.0.0.1' PORT 10418,

CLUSTER MEMBER g4n19 HOST '127.0.0.1' PORT 10419,

CLUSTER MEMBER g4n20 HOST '127.0.0.1' PORT 10420,

CLUSTER MEMBER g4n21 HOST '127.0.0.1' PORT 10421,

CLUSTER MEMBER g4n22 HOST '127.0.0.1' PORT 10422,

CLUSTER MEMBER g4n23 HOST '127.0.0.1' PORT 10423,

CLUSTER MEMBER g4n24 HOST '127.0.0.1' PORT 10424,

CLUSTER MEMBER g4n25 HOST '127.0.0.1' PORT 10425,

CLUSTER MEMBER g4n26 HOST '127.0.0.1' PORT 10426,

CLUSTER MEMBER g4n27 HOST '127.0.0.1' PORT 10427,

CLUSTER MEMBER g4n28 HOST '127.0.0.1' PORT 10428,

CLUSTER MEMBER g4n29 HOST '127.0.0.1' PORT 10429,

CLUSTER MEMBER g4n30 HOST '127.0.0.1' PORT 10430,

CLUSTER MEMBER g4n31 HOST '127.0.0.1' PORT 10431,

CLUSTER MEMBER g4n32 HOST '127.0.0.1' PORT 10432,

CLUSTER MEMBER g4n33 HOST '127.0.0.1' PORT 10433

;


ERR-42000(16350): maximum number of cluster members exceeded

Action

A cluster group can consist of up to 32 cluster members.

16351 (SQLSTATE: HY000): failed to connect to the cluster member '%s'

Cause

This error occurs if the target node is not running or if the host or port value is incorrectly specified.


gSQL> alter cluster group g3 add cluster member g3n3 host '127.0.0.1' port 13350;


ERR-HY000(16351): failed to connect to the cluster member 'G3N3'

ERR-HY000(56022): failed to connect to a host

ERR-HY000(11067): failed to connect to a host with a socket : poll() - port '13350' : stnConnect() returned errno(111)

Action

Check the location information of the target node, update the syntax accordingly, and try again.

16352 (SQLSTATE: 42000): mismatch local cluster member with location file

Cause

This error occurs when the location information of the target member does not match the location specified in the syntax while adding a new member or group.


gSQL> CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 11111;


ERR-42000(16352): mismatch local cluster member with location file :

CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 11111

*

ERROR at line 1:

Action

Check the location information of the target node, update the syntax accordingly, and try again.

16353 (SQLSTATE: 42000): conflict between new cluster member and location file

Cause

This error occurs when the location specified in the syntax conflicts with the location of an existing running node while adding a new member or group.


gSQL> CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 11150;


ERR-42000(16353): conflict between new cluster member and location file :

CREATE CLUSTER GROUP g4 CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 11150

*

ERROR at line 1:

Action

Check the location information of the existing node, update the syntax accordingly, and try again.

16354 (SQLSTATE: HY000): connection of member '%s' is broken

Cause

It was disconnected from the specific cluster member.


gSQL> SELECT * FROM x$instance;


ERR-HY000(16354): connection of member 'G2N2' is broken

Action

Specify the valid and connectable domain,


gSQL> SELECT local_member_name FROM x$instance@LOCAL;


LOCAL_MEMBER_NAME

-----------------

G1N1


1 row selected.


Or use CLUSTER_IGNORE_INACTIVE_MEMBER option which processes the error as a warning.


gSQL> ALTER SESSION SET CLUSTER_IGNORE_INACTIVE_MEMBER = ON;


Session altered.


gSQL> SELECT local_member_name FROM x$instance;


ERR-01000(16394): Warning: connection of member 'G2N2' is broken

LOCAL_MEMBER_NAME

-----------------

G1N1

G3N2

G3N1

G1N2

G2N1


5 rows selected.

16355 (SQLSTATE: 42000): non-deterministic function not allowed here

Cause

The non-deterministic function which is not constant can not be used.


gSQL>


CREATE TABLE t1 ( sk INTEGER )

SHARDING BY RANGE (sk)

SHARD s1 VALUES LESS THAN ( RANDOM(1,100) ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( RANDOM(1,200) ) AT CLUSTER GROUP g2,

SHARD s3 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g3;


ERR-42000(16374): range shard bound value must be one of: valid constant or MAXVALUE

ERR-42000(16355): non-deterministic function not allowed here :

SHARD s1 VALUES LESS THAN ( RANDOM(1,100) ) AT CLUSTER GROUP g1,

*

ERROR at line 3:

Action

Use the constant value as follows.


gSQL>


CREATE TABLE t1 ( sk INTEGER )

SHARDING BY RANGE (sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP g2,

SHARD s3 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g3;


Table created.

16356 (SQLSTATE: 42000): version conflict

Cause

This error is internally controlled in the server.

Action

If this error occurs, contact our customer service department.

16357 (SQLSTATE: 42R01): must be accessible to at least one member of group '%s'

Cause

It is not accessible to any cluster member configuring the cluster group.


gSQL> INSERT INTO t1 VALUES ( 12, 12 );


ERR-42R01(16357): must be accessible to at least one member of group 'G4'

Action

Recover at least one cluster member.

However, the operation for another cluster group is executable.


gSQL> UPDATE T_RANGE SET I1 = 2 WHERE I1 = 1;


1 row updated.

16358 (SQLSTATE: 42R01): accessible member does not exist

Cause

The cluster member which is accessible to the domain does not exist.


gSQL> SELECT COUNT(*) FROM t_cloned@g1;


ERR-42R01(16358): accessible member does not exist

Action

Use the accessible cluster domain.


gSQL> SELECT COUNT(*) FROM t_cloned@g3;


COUNT(*)

--------

1


1 row selected.

16359 (SQLSTATE: 42000): no inactive members

Cause

All cluster members are connected.


gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS;


ERR-42000(16359): no inactive members

Action

Execute it to drop the disconnected cluster member.

16360 (SQLSTATE: 42R02): cloned table "%s"."%s" must have at least one usable replica

Cause

If all inactive cluster members are dropped, then all data in the clone table is lost.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) CLONED AT CLUSTER GROUP g4;


Table created.


Afterwards, it is executed after disconnecting all cluster members configuring G4 group.


gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS;


ERR-42R02(16360): cloned table "PUBLIC"."T1" must have at least one usable replica

Action

DROPping the cluster member causing the data loss is not allowed.

At least one cluster member should be recovered to prevent the data loss.

16361 (SQLSTATE: 42R02): sharded table "%s"."%s" must have at least one usable replica of group '%s'

Cause

If all inactive cluster members are dropped, then all data of the specific shard in the sharded table is lost.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1);


Table created.


Then, it is executed after all cluster members consisting G4 group where the shard is allocated are disconnected.


gSQL> ALTER DATABASE DROP INACTIVE CLUSTER MEMBERS;


ERR-42R02(16361): sharded table "PUBLIC"."T1" must have at least one usable replica of group 'G4'

Action

DROPping the cluster member causing the data loss is not allowed.

At least one cluster member should be recovered to prevent the data loss.

16362 (SQLSTATE: 42000): NODE SHARDED table cannot be rebalanced

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16363 (SQLSTATE: 42000): the cluster member '%s' does not join in a cluster system

Cause

It is not the cluster member which joined the cluster system.


gSQL> ALTER SYSTEM JOIN DATABASE;


ERR-42000(16363): the cluster member 'G3N3' failed to join the cluster system

Action

The connected cluster member is not the member which joined the cluster system, so add it to the cluster system and use it.

16364 (SQLSTATE: 42000): cluster group has sharded data

Cause

A cluster group that contains data in a sharded table cannot be dropped.


gSQL> DROP CLUSTER GROUP g4;

ERR-42000(16364): cluster group has sharded data

Action

DROP CLUSTER GROUP that may cause data loss cannot be performed.

16365 (SQLSTATE: 42000): schema name of instant table must be SESSION_SCHEMA

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16366 (SQLSTATE: 42000): hash shard count smaller than AT CLUSTER GROUP list

Cause

The number of listed cluster groups is smaller than the number of hash shards.


gSQL>


CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1)

SHARD COUNT 2

AT CLUSTER GROUP g1, g2, g3;

ERR-42000(16366): hash shard count smaller than AT CLUSTER GROUP list

Action

Set SHARD COUNT value bigger than the number of cluster groups.


gSQL>


CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1)

SHARD COUNT 60

AT CLUSTER GROUP g1, g2, g3;


Table created.

16367 (SQLSTATE: 42000): cannot drop sharding key column

Cause

The column being used as a sharding key can not be dropped.


gSQL> CREATE TABLE t1 ( sk INTEGER, c2 INTEGER, c3 INTEGER ) SHARDING BY (sk);


Table created.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN (sk);


ERR-42000(16367): cannot drop sharding key column

Action

Only the column which is not included in the sharding key can be dropped.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN (c2);


Table altered.

16368 (SQLSTATE: 42000): not a fixed table

Cause

The target table is not a fixed table.


gSQL> ALTER FIXED TABLE t1 RESET;


ERR-42000(16368): not a fixed table :

ALTER FIXED TABLE t1 RESET

*

ERROR at line 1:

Action

It is an SQL statement which is executable only for the fixed table.


gSQL> ALTER FIXED TABLE x$sql_system_info RESET;


Table altered.

16369 (SQLSTATE: 42000): not a statistics table

Cause

It is not the fixed table with cumulative statistical information.


gSQL> ALTER FIXED TABLE X$AGABLE_INFO RESET;


ERR-42000(16369): not a statistics table :

ALTER FIXED TABLE X$AGABLE_INFO RESET

*

ERROR at line 1:

Action

It is an SQL statement which is executable only for the fixed table with cumulative statistical information.


gSQL> ALTER FIXED TABLE x$sql_system_info RESET;


Table altered.

16370 (SQLSTATE: 42000): have to create one or more datafiles to each member

Cause

It is not allowed to created the tablespace only in the specific cluster member.


gSQL> CREATE TABLESPACE TEST_TBS DATAFILE 'test_tbs_g1.dbf' SIZE 10M AT G1;


ERR-42000(16370): MEMBER(G2N1): have to create one or more datafiles to each member :

CREATE TABLESPACE TEST_TBS DATAFILE 'test_tbs_g1.dbf' SIZE 10M AT G1

*

ERROR at line 1:

Action

Create the tablespace in all cluster members.


gSQL> CREATE TABLESPACE TEST_TBS DATAFILE 'test_tbs_g1.dbf' SIZE 10M;


Tablespace created.

16371 (SQLSTATE: 42000): conversion is not applicable

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16372 (SQLSTATE: 42000): duplicate shard name

Cause

The duplicate shard name was used.


gSQL>


CREATE TABLE t1

(

c1 INTEGER,

c2 INTEGER,

c3 INTEGER

)

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s1 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;



ERR-42000(16372): duplicate shard name :

SHARD s1 VALUES LESS THAN ( 200 ),

*

ERROR at line 10:

Action

Use a different shard name as follows.


gSQL>


CREATE TABLE t1

(

c1 INTEGER,

c2 INTEGER,

c3 INTEGER

)

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


Table created.

16373 (SQLSTATE: 42000): the number of elements in shard bound mismatch the sharding key columns

Cause

The number of shard key columns and the number of values are different.


gSQL>


CREATE TABLE t1

(

c1 INTEGER,

c2 INTEGER,

c3 INTEGER

)

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 200, 300 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;

ERR-42000(16373): the number of elements in the shard bound mismatch the sharding key columns :

SHARD s2 VALUES LESS THAN ( 200, 300 ),

*

ERROR at line 10:

Action

Match the number of values used in the shard bound as follows.


gSQL>


CREATE TABLE t1

(

c1 INTEGER,

c2 INTEGER,

c3 INTEGER

)

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


Table created.

16374 (SQLSTATE: 42000): range shard bound value must be one of: valid constant or MAXVALUE

Cause

NULL value was used in the shard bound value.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY RANGE (c1)

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( NULL ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


ERR-42000(16374): range shard bound value must be one of: valid constant or MAXVALUE :

SHARD s2 VALUES LESS THAN ( NULL ),

*

ERROR at line 5:

Action

Use a constant rather than NULL as follows.


gSQL>


CREATE TABLE t1

(

c1 INTEGER,

c2 INTEGER,

c3 INTEGER

)

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


Table created.

16375 (SQLSTATE: 42000): only MAXVALUE allowed after MAXVALUE

Cause

The constant value was used after MAXVALUE.


gSQL>


CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER )

SHARDING BY RANGE (c1, c2)

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100, MAXVALUE ),

SHARD s2 VALUES LESS THAN ( MAXVALUE, 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE, MAXVALUE )

;


ERR-42000(16375): only MAXVALUE allowed after MAXVALUE :

SHARD s2 VALUES LESS THAN ( MAXVALUE, 200 ),

*

ERROR at line 5:

Action

Adjust the location of MAXVALUE as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER )


SHARDING BY RANGE (c1, c2)

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100, MAXVALUE ),

SHARD s2 VALUES LESS THAN ( 200, MAXVALUE ),

SHARD s3 VALUES LESS THAN ( MAXVALUE, MAXVALUE )

;


Table created.

16376 (SQLSTATE: 42000): multiple MAX shard defined

Cause

MAX shard was defined multiple times.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY RANGE (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( MAXVALUE ),

SHARD s2 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


ERR-42000(16376): multiple MAX shard defined :

SHARD s3 VALUES LESS THAN ( MAXVALUE )

*

ERROR at line 6:

Action

Only a single MAX shard is allowed as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


Table created.

16377 (SQLSTATE: 42000): MAX shard not defined

Cause

MAX shard was not defined.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY RANGE (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 )

;


ERR-42000(16377): MAX shard not defined :

SHARD s1 VALUES LESS THAN ( 100 )

*

ERROR at line 4:

Action

Define MAX shard as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( MAXVALUE )

;


Table created.

16378 (SQLSTATE: 42000): duplicate shard bound value

Cause

The duplicate shard bound value was used.


gSQL>


CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER )

SHARDING BY RANGE (c1)

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 100 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


ERR-42000(16378): duplicate shard bound value :

SHARD s2 VALUES LESS THAN ( 100 ),

*

ERROR at line 5:

Action

Use a different shard bound value as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY RANGE ( c1 )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( 200 ),

SHARD s3 VALUES LESS THAN ( MAXVALUE )

;


Table created.

16379 (SQLSTATE: 42000): of the total '%d' tables, '%d' tables failed to rebalance

Cause

The rebalance of some tables was not normally completed.


gSQL> ALTER DATABASE REBALANCE;


ERR-42000(16379): of the total '5' tables, '2' tables failed to rebalance :

concurrent execution : 2

inactive member : 0

replica usablility : 0

offline tablespace : 0

others : 0


Database altered.


  • concurrent execution

    • Failure caused by concurrency issues with other sessions

  • inactive member

    • All replicas of active members are offline and there is at least one inactive member

  • replica usability

    • The local replica is in an unusable state, or

    • All replicas of active members are unusable

  • offline tablespace

    • The local replica is created in an offline tablespace

  • others

    • Any cases not covered by the above causes

Action

  • concurrent execution

    • Stop DDL execution in other sessions due to concurrency issues and retry.

  • inactive member

    • Join the inactive member to the cluster and retry.

  • replica usability

  • offline tablespace

  • others

    • Check the cause in system.trc, take corrective action, and retry.

16380 (SQLSTATE: HYC00): UNIQUE or PRIMARY KEY must include all sharding key columns for cluster system

Cause

PRIMARY KEY does not include the shard key.


gSQL> CREATE TABLE t1 ( sk INTEGER, c1 INTEGER, c2 INTEGER ) SHARDING BY (sk);


Table created.


gSQL> ALTER TABLE t1 ADD PRIMARY KEY (c1);


ERR-HYC00(16380): UNIQUE or PRIMARY KEY must include all sharding key columns for cluster system

Action

Create PRIMARY KEY including the shard key as follows.


gSQL> ALTER TABLE t1 ADD PRIMARY KEY (c1, sk);


Table altered.

16381 (SQLSTATE: 42000): invalid shard count (must between %d and %d)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16382 (SQLSTATE: 42000): cluster member '%s' does not exist

Cause

The cluster member does not exist.


gSQL> COMMENT ON CLUSTER MEMBER invalid IS 'test comment';


ERR-42000(16382): cluster member 'INVALID' does not exist :

COMMENT ON CLUSTER MEMBER invalid IS 'test comment'

*

ERROR at line 1:

Action

Use a valid cluster member name.


gSQL> COMMENT ON CLUSTER MEMBER g2n1 IS 'test comment';


Comment created.

16383 (SQLSTATE: 42000): domain '%s' is unknown

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16384 (SQLSTATE: 42000): multiple DEFAULT shard defined

Cause

Multiple DEFAULT shards were defined.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES IN ( DEFAULT ),

SHARD s2 VALUES IN ( 200 ),

SHARD s3 VALUES IN ( DEFAULT )

;


ERR-42000(16384): multiple DEFAULT shard defined :

SHARD s3 VALUES IN ( DEFAULT )

*

ERROR at line 6:

Action

Define only a single DEFAULT shard as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100 ),

SHARD s2 VALUES IN ( 200 ),

SHARD s3 VALUES IN ( DEFAULT )

;


Table created.

16385 (SQLSTATE: 42000): DEFAULT shard not defined

Cause

DEFAULT shard was not defined.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100 )

;


ERR-42000(16385): DEFAULT shard not defined :

SHARD s1 VALUES IN ( 100 )

*

ERROR at line 4:

Action

Define DEFAULT shard as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100 ),

SHARD s2 VALUES IN ( DEFAULT )

;


Table created.

16386 (SQLSTATE: 42000): DEFAULT cannot be specified with other values

Cause

DEFAULT can not be used together with another value.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100 ),

SHARD s2 VALUES IN ( DEFAULT, 200 );


ERR-42000(16386): DEFAULT cannot be specified with other values :

SHARD s2 VALUES IN ( DEFAULT, 200 )

*

ERROR at line 5:

Action

Use DEFAULT alone as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1 )

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100, 200 ),

SHARD s2 VALUES IN ( DEFAULT );


Table created.

16387 (SQLSTATE: 42000): list shard bound value must be one of: valid constant or NULL or DEFAULT

Cause

An invalid function was used for the shard bound value.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1)

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100 ),

SHARD s2 VALUES IN ( SUM(200) ),

SHARD s3 VALUES IN ( DEFAULT )

;


ERR-42000(16387): list shard bound value must be one of: valid constant or NULL or DEFAULT

ERR-42000(16158): group function is not allowed here :

SHARD s2 VALUES IN ( SUM(200) ),

*

ERROR at line 5:

Action

Use a valid constant, NULL, DEFAULT as follows.


gSQL>


CREATE TABLE t1 ( c1 INTEGER )

SHARDING BY LIST (c1)

AT CLUSTER WIDE

SHARD s1 VALUES IN ( 100 ),

SHARD s2 VALUES IN ( NULL ),

SHARD s3 VALUES IN ( DEFAULT )

;


Table created.

16388 (SQLSTATE: HYC00): does not support deferrable constraints in the cluster system

Cause

The deferrable constraint can not be used in the cluster system.


gSQL>


CREATE TABLE t1

(

c1 INTEGER PRIMARY KEY DEFERRABLE,

c2 INTEGER

)

SHARDING BY HASH( c1 );


ERR-HYC00(16388): does not support deferrable constraints in the cluster system :

c1 INTEGER PRIMARY KEY DEFERRABLE,

*

ERROR at line 3:

Action

Delete DEFERRABLE option as follows.


gSQL>


CREATE TABLE t1

(

c1 INTEGER PRIMARY KEY,

c2 INTEGER

)

SHARDING BY HASH( c1 );


Table created.

16389 (SQLSTATE: 42000): domain names of the datafile for renaming don't mismatch

Cause

Different domain names were used.


gSQL> ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_1.dbf' AT G2N2 TO 'TEST_TBS_111.dbf' AT G2N1;


ERR-42000(16389): domain names of the datafile for renaming don't mismatch

Action

Use the identical domain name or delete it as follows.


gSQL> ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_1.dbf' AT G2N2 TO 'TEST_TBS_111.dbf' AT G2N2;


Tablespace altered.


gSQL> ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_1.dbf' AT G2N2 TO 'TEST_TBS_111.dbf';


Tablespace altered.

16390 (SQLSTATE: 42000): invalid table for sharding strategy and placement specified

Cause

The table used as the function argument is not a sharded table.


gSQL> SELECT SHARD_ID( x$instance, 1 ) FROM DUAL;


ERR-42000(16390): invalid table for sharding strategy and placement specified :

SELECT SHARD_ID( x$instance, 1 ) FROM DUAL

*

ERROR at line 1:

Action

Use the sharded table as an argument as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) SHARDING BY (c1);


Table created.


gSQL> SELECT SHARD_ID( t1, 1 ) FROM DUAL;


SHARD_ID( T1, 1 )

-----------------

1


1 row selected.

16391 (SQLSTATE: 42000): the number of sharding key in function is mismatch

Cause

The number of shard keys and the number of arguments are different.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c1 INTEGER, c2 INTEGER )

SHARDING BY RANGE( sk )

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP g2,

SHARD s3 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g3

;


Table created.


gSQL> SELECT SHARD_NAME( t1, 10, 20 ) FROM dual;


ERR-42000(16391): the number of sharding key in function is mismatch :

SELECT SHARD_NAME( t1, 10, 20 ) FROM dual

*

ERROR at line 1:

Action

Use the value as many as the number of shard keys as follows.


gSQL> SELECT SHARD_NAME( t1, 300 ) FROM dual;


SHARD_NAME( T1, 300 )

---------------------

S3


1 row selected.

16392 (SQLSTATE: HYC00): the number of sharding key in function is mismatch

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16393 (SQLSTATE: 01000): Warning: accessible member does not exist

Cause

IGNORE_INACTIVE_MEMBER option was used together with the domain in VIEW, but the accessible cluster member does not exist.


gSQL> SELECT c1 FROM view1@G4N2[RANDOM_MEMBER, IGNORE_INACTIVE_MEMBER] ORDER BY 1;


ERR-01000(16393): Warning: accessible member does not exist

no rows selected.

Action

Describe the domain including the accessible member.


gSQL> SELECT c1 FROM view1@G4[RANDOM_MEMBER, IGNORE_INACTIVE_MEMBER] ORDER BY 1;


C1

----

G1N1

G1N2

G2N1

G2N2

G2N3

G3N1

G3N2

G4N1

G4N2


9 rows selected.

16394 (SQLSTATE: 01000): Warning: connection of member '%s' is broken

Cause

The query result was obtained, but the connection error of a specific cluster member was detected.


gSQL>


SELECT

table_name,

blocks

FROM ALL_TABLES

WHERE table_schema = 'PUBLIC'

AND table_name IN ( 'TAB_CLONED' )

ORDER BY 1;


ERR-01000(16394): Warning: connection of member 'G4N2' is broken

TABLE_NAME BLOCKS

---------- ------

TAB_CLONED 448


1 row selected.

Action

Join the cluster member to the cluster system.

16395 (SQLSTATE: 01000): Warning: must be accessible to at least one member of group '%s'

Cause

The query result was obtained, but it could not access the data of the specific cluster group.


gSQL> SELECT COUNT(*) FROM t_range@GLOBAL[ IGNORE_INACTIVE_MEMBER ];


ERR-01000(16395): Warning: must be accessible to at least one member of group 'G1'

COUNT(*)

--------

1


1 row selected.

Action

Join the cluster group to the cluster system.

16396 (SQLSTATE: 42000): exceeds the maximum number of nodes

Cause

It exceeds the maximum number of cluster members to be added to the cluster system.

Action

Add cluster members as many as MAX_NODE_COUNT property value.

16397 (SQLSTATE: 42000): exceeds the maximum number of groups

Cause

It exceeds the maximum number of cluster groups to be added to the cluster system.

Action

Add cluster groups as many as MAX_GROUP_COUNT property value.

16398 (SQLSTATE: 42000): the domain of property does not match with domain '%s'

Cause

This property can not be altered only in a specific domain.


gSQL> ALTER SYSTEM SET NLS_DATE_FORMAT = 'YYYY-MM-DD' DEFERRED AT G1;


ERR-42000(16398): the domain of property does not match with domain 'G1' :

ALTER SYSTEM SET NLS_DATE_FORMAT = 'YYYY-MM-DD' DEFERRED AT G1

*

ERROR at line 1:

Action

Do not use AT clause as follows.


gSQL> ALTER SYSTEM SET NLS_DATE_FORMAT = 'YYYY-MM-DD' DEFERRED;


System altered.

16399 (SQLSTATE: 42000): cannot insert or update a generated always identity column, value shall be a DEFAULT

Cause

The value can not be specified in the column created with GENERATED ALWAYS AS IDENTITY.


gSQL> CREATE TABLE t1 ( c1 INTEGER GENERATED ALWAYS AS IDENTITY );


Table created.


gSQL> INSERT INTO t1 VALUES ( 1 );


ERR-42000(16399): cannot insert or update a generated always identity column, value shall be a DEFAULT :

INSERT INTO t1 VALUES ( 1 )

*

ERROR at line 1:

Action

Use DEFAULT as follows.


gSQL> INSERT INTO t1 VALUES ( DEFAULT );


1 row created.


gSQL> INSERT INTO t1 VALUES ( DEFAULT );


1 row created.


gSQL> SELECT * FROM t1;


C1

--

1

2


2 rows selected.

16400 (SQLSTATE: HY000): cannot RECOVER UNTIL CHANGE SCN; invalid SCN format

Cause

The scn_format specified for performing recovery up to a specific SCN is invalid.


gSQL> ALTER DATABASE RECOVER UNTIL CHANGE SCN '10.*.*';

ERR-HY000(16400): cannot RECOVER UNTIL CHANGE SCN; invalid SCN format

gSQL> ALTER DATABASE RECOVER UNTIL CHANGE SCN '10.10';

ERR-HY000(16400): cannot RECOVER UNTIL CHANGE SCN; invalid SCN format

Action

Perform incomplete recovery using a valid scn_format as described in the ALTER DATABASE RECOVER statement.


gSQL> ALTER DATABASE RECOVER UNTIL CHANGE SCN '10.*';


Database altered.


gSQL> ALTER DATABASE RECOVER UNTIL CHANGE SCN '10.10.*';


Database altered.

16401 (SQLSTATE: 42000): invalid SAMPLE size specified

Cause

The SAMPLE size is not valid.


gSQL> ANALYZE TABLE t1 ESTIMATE STATISTICS SAMPLE 0 ROWS;


ERR-42000(16401): invalid SAMPLE size specified :

ANALYZE TABLE t1 ESTIMATE STATISTICS SAMPLE 0 ROWS

*

ERROR at line 1:

Action

Use a positive integer for SAMPLE size.


gSQL> ANALYZE TABLE t1 ESTIMATE STATISTICS SAMPLE 1000000 ROWS;


Table analyzed.

16402 (SQLSTATE: 42000): duplicate index name

Cause

The duplicate index is listed.


gSQL> ANALYZE TABLE t1 COMPUTE STATISTICS FOR INDEXES idx1, idx1;


ERR-42000(16402): duplicate index name :

ANALYZE TABLE t1 COMPUTE STATISTICS FOR INDEXES idx1, idx1

*

ERROR at line 1:

Action

Describe a different index name.


gSQL> ANALYZE TABLE t1 COMPUTE STATISTICS FOR INDEXES idx1, idx2;


Table analyzed.

16403 (SQLSTATE: 42000): failed to join some of nodes to the global database

Cause

This warning occurs when not all members of the cluster are able to join during the transition to the GLOBAL OPEN phase.


gSQL> ALTER SYSTEM OPEN GLOBAL DATABASE;


ERR-42000(16403): of the total '6' nodes, '3' nodes failed to join the global database

ERR-HY000(56022): failed to connect to a host

ERR-HY000(11067): failed to connect to a host with a socket : poll() - port '21250' : stnConnect() returned errno(111)

System altered.

Action

After taking the necessary actions, nodes that failed to join can be individually added using the ALTER SYSTEM JOIN DATABASE statement.

16404 (SQLSTATE: 42000): cannot execute the statement with OS user permissions

Cause

This error occurs when a file-modifying DDL is executed in DA mode using an account other than the installation account.

Action

DA mode DDLs that involve file modifications can only be performed by the installation account.

16405 (SQLSTATE: 42000): of the total '%d' tables in the database, '%d' tables need to be rebalanced

Cause

Failed to switch some tables to online.


gSQL> ALTER SYSTEM JOIN DATABASE;


ERR-42000(16405): of the total '5' tables in the database, '2' tables need to be rebalanced :

concurrent execution : 0

inactive member : 0

replica usablility : 0

offline tablespace : 0

low table scn : 2

others : 0


System altered.


  • concurrent execution

    • Failure caused by concurrency issues with other sessions

  • inactive member

    • All replicas of active members are offline and there is at least one inactive member

  • replica usability

    • The local replica is in an unusable state, or

    • All replicas of active members are unusable

  • offline tablespace

    • The local replica is created in an offline tablespace

  • low table scn

    • The local replica is not up-to-date

  • others

    • Any cases not covered by the above causes

Action

16406 (SQLSTATE: 42000): invalid routine name

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16407 (SQLSTATE: 42000): procedure or function does not exist

Cause

An invalid procedure name was used.


gSQL> ALTER PROCEDURE invalid COMPILE;


ERR-42000(16407): procedure or function does not exist :

ALTER PROCEDURE invalid COMPILE

*

ERROR at line 1:

Action

Use the existing procedure name.


gSQL> ALTER PROCEDURE proc1 COMPILE;


Procedure altered.

16408 (SQLSTATE: 42000): bind variables not allowed for procedures or functions

Cause

The bind variable can not be used when creating the procedure.


gSQL>


CREATE PROCEDURE proc1( a1 INTEGER )

AS

x1 INTEGER;

BEGIN

x1 := :v1;

END;

/


ERR-42000(16244): bind variables not allowed for data definition operations

Action

Do not use the bind variable when creating the procedure.


gSQL>


CREATE PROCEDURE proc1( a1 INTEGER )

AS

x1 INTEGER;

BEGIN

x1 := a1;

END;

/


Procedure created.

16409 (SQLSTATE: 01000): Warning: Routine definition has compilation errors

Cause

The routine(procedure/function) was created, but the compile error exists.


gSQL>


CREATE PROCEDURE proc1( a1 INTEGER )

AS

BEGIN

INSERT INTO t1 VALUES ( a1 );

END;

/


ERR-01000(16409): Warning: Routine(PROC1) has compilation errors :

(1) at (4:4): ERR-42000(16053): not enough values

Procedure created.

Action

Check the compile error and modify it.


gSQL>


CREATE OR REPLACE PROCEDURE proc1( a1 INTEGER, a2 INTEGER )

AS

BEGIN

INSERT INTO t1 VALUES ( a1, a2 );

END;

/


Procedure created.

16410 (SQLSTATE: 42000): Startup driver node must have the latest data - a suitable startup driver node is '%s' member

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16411 (SQLSTATE: 42000): maximum number of recursive SQL levels (%d) exceeded.

Cause

The maximum number of recursive calls is exceeds.


gSQL>


CREATE OR REPLACE PROCEDURE proc1( A1 INTEGER )

IS

BEGIN

IF( A1 > 0 ) THEN

DBMS_OUTPUT.PUT_LINE( 'A1 = ' || A1 );

PROC1( A1 -1 );

END IF;

END;

/


Procedure created.


gSQL> CALL proc1(100);


A1 = 100

A1 = 99

A1 = 98

A1 = 97

...

... (Ellipsis)

...

A1 = 55

A1 = 54

A1 = 53


ERR-42000(16411): maximum number of recursive SQL levels (50) exceeded. : ERROR at PROCEDURE("PUT_LINE")


ERROR at PROCEDURE("PROC1")

Action

Modify the recursive call procedure, or do not exceed the maximum number of recursive calls.


gSQL> CALL proc1(5);


A1 = 5

A1 = 4

A1 = 3

A1 = 2

A1 = 1


Procedure Call complete.

16412 (SQLSTATE: 42R02): all of shards in a table must be online.

Cause

The offline shard exists in DDL target table.


gSQL> CREATE INDEX tix3 ON t1( i3 );


ERR-42R02(16412): all of shards in a table 'T1' must be online. :

CREATE INDEX t1x3 ON t1( i3 )

*

ERROR at line 1:

Action

Check the offline status of the table, and respond to it.


gSQL> SELECT MEMBER_NAME, MEMBER_OFFLINE FROM USER_TAB_PLACE WHERE TABLE_NAME = 'T1' ORDER BY MEMBER_NAME;


ERR-01000(16394): Warning: connection of member 'G3N3' is broken

MEMBER_NAME MEMBER_OFFLINE

----------- --------------

G1N1 FALSE

G1N2 FALSE

G2N1 FALSE

G2N2 FALSE

G3N1 TRUE

G3N2 TRUE

G3N3 TRUE


7 rows selected.

16413 (SQLSTATE: 42000): LOCAL_OFFLINE domain must be specified to base table

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16414 (SQLSTATE: 42000): domain option not allowed here

Cause

The domain name and the domain option can not be used together.


gSQL> SELECT c1 FROM t1@G1|LOCAL;


ERR-42000(16414): domain option not allowed here :

SELECT c1 FROM t1@G1|LOCAL

*

ERROR at line 1:

Action

Use the domain as follows.


gSQL> SELECT c1 FROM t1@G1;


C1

--

1


1 row selected.


gSQL> SELECT c1 FROM t1@LOCAL;


C1

--

1


1 row selected.


gSQL> SELECT c1 FROM t1@G1|G2;


C1

--

1


1 row selected.

16415 (SQLSTATE: 42000): LOCAL_OFFLINE domain cannot be used with other domains

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16416 (SQLSTATE: 42000): lacks privilege (EXECUTE ON PROCEDURE "%s"."%s")

Cause

The user does not have the privilege to execute the procedure.


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> CALL proc1();


ERR-42000(16416): lacks privilege (EXECUTE ON PROCEDURE "PUBLIC"."PROC1")

Action

The procedure owner should grant the privilege to execute the procedure to the user.


gSQL> GRANT EXECUTE ON PROCEDURE proc1 TO u1;


Grant succeeded.


gSQL> \connect u1 u1


gSQL> CALL proc1();


Procedure Call complete.

16417 (SQLSTATE: 42000): active member '%s' cannot be offlined

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16418 (SQLSTATE: 42000): cluster member '%s' does not exist in cluster group '%s'

Cause

The cluster member does not belong to the cluster group.


gSQL> ALTER CLUSTER GROUP g1 OFFLINE CLUSTER MEMBER g2n2;


ERR-42000(16418): cluster member 'G2N2' does not exist in cluster group 'G1' :

ALTER CLUSTER GROUP g1 OFFLINE CLUSTER MEMBER g2n2

*

ERROR at line 1:

Action

Use the cluster member name belonging to the cluster group.


gSQL> SELECT member_name FROM dba_cluster WHERE group_name = 'G1';


MEMBER_NAME

-----------

G1N2

G1N1


2 rows selected.

16419 (SQLSTATE: 42000): object identifier not allowed here

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16420 (SQLSTATE: 0A000): does not support adding identity column in the cluster system

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16421 (SQLSTATE: 0A000): does not support deferred unqiue integrity in the cluster system

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16422 (SQLSTATE: 0A000): does not support SERIALIZABLE in the cluster system

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16423 (SQLSTATE: 42000): does not support non-deterministic DML in the cluster system : global secondary index expected

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16424 (SQLSTATE: 42000): function generating different values is not allowed here

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16425 (SQLSTATE: 42000): procedure, function, package, or type is not allowed here

Cause

The stored function can not be used as DEFAULT value.


gSQL> CREATE TABLE t1 ( c1 INTEGER DEFAULT func1 );


ERR-42000(16425): procedure, function, package, or type is not allowed here :

CREATE TABLE t1 ( c1 INTEGER DEFAULT func1 )

*

ERROR at line 1:

Action

Use a constant as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER DEFAULT 0 );


Table created.

16426 (SQLSTATE: 42000): does not support ADD COLUMN DEFAULT generating different values in the cluster system

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16427 (SQLSTATE: 42000): invalid events (%s)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16428 (SQLSTATE: 42000): cluster system is modified by concurrent cluster DDL execution

Cause

Cluster DDL statements cannot be executed concurrently.

Action

Execute the cluster DDL statements sequentially.

16429 (SQLSTATE: 42000): does not support cursor in the cluster system : global secondary index expected

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16430 (SQLSTATE: 42000): in the GLOBAL OPEN phase, the cluster database can be closed only with ABORT option

Cause

In the GLOBAL OPEN phase, only the ABORT option can be used for individual node shutdown.


gSQL> shutdown


ERR-42000(16430): in the GLOBAL OPEN phase, the cluster database can be closed only with ABORT option :

ALTER SYSTEM CLOSE DATABASE NORMAL

*

ERROR at line 1:

Action

Specify the ABORT option and try again.


gSQL> shutdown abort


Shutdown success

16431 (SQLSTATE: 42000): non-deterministic expression not allowed here : may lead to a replica synchronization failure

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16432 (SQLSTATE: 42000): global secondary index already exists in table

Cause

The global secondary index already exists in the table.


gSQL> ALTER TABLE t1 ADD GLOBAL SECONDARY INDEX;


ERR-42000(16432): global secondary index already exists in table

Action

Retrieve the tables without the global secondary index as follows.


gSQL>


SELECT table_name FROM user_tables

EXCEPT

SELECT table_name FROM user_global_secondary_indexes;


TABLE_NAME

----------

T2


1 row selected.

16433 (SQLSTATE: 42000): global secondary index does not exist in table

Cause

The global secondary index does not exist in the table.


gSQL> ALTER TABLE t2 DROP GLOBAL SECONDARY INDEX;


ERR-42000(16433): global secondary index does not exist in table :

ALTER TABLE t2 DROP GLOBAL SECONDARY INDEX

*

ERROR at line 1:

Action

Retrieve the tables with the global secondary index as follows.


gSQL> SELECT table_name FROM user_global_secondary_indexes;


TABLE_NAME

----------

T1


1 row selected.

16434 (SQLSTATE: HY000): invalid grid is prevented in cluster operation, in a function %s

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16435 (SQLSTATE: HY000): duplicate source datafile name

Cause

The duplicate source datafile name was used.


gSQL>


ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_0.dbf', 'TEST_TBS_0.dbf'

TO 'TEST_0.dbf' , 'TEST_1.dbf';


ERR-HY000(16435): duplicate source datafile name :

ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_0.dbf', 'TEST_TBS_0.dbf'

*

ERROR at line 1:

Action

Use a different source datafile as follows.


gSQL>


ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_0.dbf', 'TEST_TBS_1.dbf'

TO 'TEST_0.dbf' , 'TEST_1.dbf';


Tablespace altered.

16436 (SQLSTATE: HY000): duplicate target datafile name

Cause

The duplicate target datafile name was used.


gSQL>


ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_0.dbf', 'TEST_TBS_1.dbf'

TO 'TEST_0.dbf' , 'TEST_0.dbf';


ERR-HY000(16436): duplicate target datafile name :

TO 'TEST_0.dbf' , 'TEST_0.dbf'

*

ERROR at line 2:

Action

Use a different target datafile as follows.


gSQL>


ALTER TABLESPACE TEST_TBS RENAME DATAFILE 'TEST_TBS_0.dbf', 'TEST_TBS_1.dbf'

TO 'TEST_0.dbf' , 'TEST_1.dbf';

Tablespace altered.

16437 (SQLSTATE: HY000): cannot execute on cloned tables

Cause

RENAME SHARD can not be executed for the cloned table.


gSQL> CREATE TABLE t1 ( c1 INTEGER ) CLONED;


Table created.


gSQL> ALTER TABLE t1 RENAME SHARD s1 TO s2;


ERR-42000(16437): cannot execute on cloned tables :

ALTER TABLE t1 RENAME SHARD s1 TO s2

*

ERROR at line 1:

Action

RENAME SHARD can be executed for the sharded table.

16438 (SQLSTATE: HY000): invalid shard name - '%s'

Cause

The shard name which does not exist was used.


gSQL> ALTER TABLE t1 RENAME SHARD invalid TO s_new;


ERR-42000(16438): invalid shard name :

ALTER TABLE t1 RENAME SHARD invalid TO s_new

*

ERROR at line 1:

Action

Check shard names existing in the table as follows.


gSQL> SELECT table_name, shard_name FROM user_tab_shards WHERE table_name = 'T1';


TABLE_NAME SHARD_NAME

---------- ----------

T1 S1

T1 S2

T1 S3


3 rows selected.

16439 (SQLSTATE: HY000): cannot move shard to the same group

Cause

The shard can not be moved to the same cluster group.


gSQL> ALTER DATABASE MOVE SHARD FROM CLUSTER GROUP G1 TO CLUSTER GROUP G1;


ERR-42000(16439): cannot move shard to the same group :

ALTER DATABASE MOVE SHARD FROM CLUSTER GROUP G1 TO CLUSTER GROUP G1

*

ERROR at line 1:

Action

The shard movement in DATABASE unit is allowed between different cluster groups.

16440 (SQLSTATE: HY000): cannot execute on cluster wide sharded tables

Cause

MOVE SHARD can not be executed for the sharded table created as cluster wide.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER ) SHARDING BY RANGE ( sk )

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( MAXVALUE );


Table created.


gSQL> ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP g1 TO CLUSTER GROUP g2;


ERR-42000(16440): cannot execute on cluster wide sharded tables :

ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP g1 TO CLUSTER GROUP g2

*

ERROR at line 1:

Action

MOVE SHARD is allowed for the sharded table whose cluster group was specified as follows.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE (sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2;


Table created.


gSQL> ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP g2 TO CLUSTER GROUP g3;


Table altered.

16441 (SQLSTATE: 42000): not analyzed table

Cause

The table never has been ANALYZEd.


gSQL> ANALYZE TABLE t1 EXPORT 't1.stat';


ERR-42000(16441): not analyzed table :

ANALYZE TABLE t1 EXPORT 't1.stat'

*

ERROR at line 1:

Action

Execute it after ANALYZE TABLE.


gSQL> ANALYZE TABLE t1;


Table analyzed.


gSQL> ANALYZE TABLE t1 EXPORT 't1.stat';


Table analyzed.

16442 (SQLSTATE: 42000): invalid analyzed file format (%s)

Cause

The analyzed file format is not valid.


--# result: error

ANALYZE TABLE t1 IMPORT 't2.stat';


ERR-42000(16442): invalid analyzed file format (table mismatch: T1 and T2)

Action

Use the valid analyzed file.


gSQL> ANALYZE TABLE t1 IMPORT 't1.stat';


Table analyzed.

16443 (SQLSTATE: 42000): old plan

Cause

This error is internally controlled in the server.

Action

If this error occurs, contact our customer service department.

16444 (SQLSTATE: 42000): invalid cluster group name

Cause

The cluster group name which does not exist was used.


gSQL> ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP invalid TO CLUSTER GROUP g2;


ERR-42000(16444): invalid cluster group name :

ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP invalid TO CLUSTER GROUP g2

*

ERROR at line 1:

Action

Use the valid cluster group name.


gSQL> ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP g3 TO CLUSTER GROUP g2;


Table altered.

16445 (SQLSTATE: 42000): REBALANCE EXCLUDE can be executed only on cluster wide sharded tables

Cause

REBALANCE EXCLUDE statement can not be executed for the group-specific shard table.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE (sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2;


Table created.


gSQL> ALTER TABLE t1 REBALANCE EXCLUDE CLUSTER GROUP g2


ERR-42000(16445): REBALANCE EXCLUDE can be executed only on cluster wide sharded tables :

ALTER TABLE t1 REBALANCE EXCLUDE CLUSTER GROUP g2

*

ERROR at line 1:

Action

REBALANCE EXCLUDE statement can be executed for the cluster-wide shard table as follows.


gSQL>


CREATE TABLE t2 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE (sk)

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( MAXVALUE )

;


Table created.


gSQL> ALTER TABLE t2 REBALANCE EXCLUDE CLUSTER GROUP g2;


Table altered.

16446 (SQLSTATE: 42000): REBALANCE EXCLUDE target group is empty

Cause

REBALANCE EXCLUDE can not be executed for all cluster groups.


gSQL>


CREATE TABLE t2 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE (sk)

AT CLUSTER WIDE

SHARD s1 VALUES LESS THAN ( 100 ),

SHARD s2 VALUES LESS THAN ( MAXVALUE )

;


gSQL> ALTER TABLE t2 REBALANCE EXCLUDE CLUSTER GROUP g1, g2, g3;


ERR-42000(16446): REBALANCE EXCLUDE target group is empty :

ALTER TABLE t2 REBALANCE EXCLUDE CLUSTER GROUP g1, g2, g3

*

ERROR at line 1:

Action

REBALANCE EXCLUDE can be executed only for some cluster groups.


gSQL> ALTER TABLE t2 REBALANCE EXCLUDE CLUSTER GROUP g2;


Table altered.

16447 (SQLSTATE: HY000): internal error ( %s, %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16448 (SQLSTATE: 42000): of the total '%d' tables, '%d' tables failed to move shard

Cause

This error occurs when the ALTER DATABASE MOVE SHARD statement fails to move one or more shards.


The following is an example where the shard movement fails for 1 out of 7 tables:


gSQL> ALTER DATABASE MOVE SHARD FROM CLUSTER GROUP g1 TO CLUSTER GROUP g2;


ERR-42000(16448): of the total '7' tables, '1' tables failed to move shard

Database altered.

Action

Check the system trace logs to identify and resolve the cause, then execute the statement again.


The following shows the error messages recorded in the system trace logs when a shard movement fails.


[2026-03-04 10:58:27.880218 INSTANCE(G1N1) THREAD(50590,140314313557824)] [WARNING]

[MOVE SHARD] failed to move shard table 'PUBLIC.T1 - global transaction id(0.124553461858)

(G1N1) ERR-HYT00(14026): resource busy or timeout expired

16449 (SQLSTATE: 42000): cluster group does not have sharded data

Cause

This error occurs when there are no shards to move in the source group while executing the ALTER DATABASE MOVE SHARD statement.


gSQL> ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP g1 TO CLUSTER GROUP g2;


ERR-42000(16449): cluster group does not have sharded data :

ALTER TABLE t1 MOVE SHARD FROM CLUSTER GROUP g1 TO CLUSTER GROUP g2

*

ERROR at line 1:

Action

Check which group stores the table’s shards, and then execute the statement again.


The following shows how to verify the group where a table’s shards are stored.


gSQL> SELECT group_name, member_name FROM user_tab_place WHERE table_name = 'T1';


GROUP_NAME MEMBER_NAME

---------- -----------

G2 G2N1

G2 G2N2

G3 G3N1

G3 G3N2


4 rows selected.

16450 (SQLSTATE: 42000): exceeded global property lock timeout

Cause

This error occurs when multiple sessions attempt to modify a global property simultaneously and the wait time exceeds the configured limit.

Action

Increase the GLOBAL_PROPERTY_LOCK_TIMEOUT value and try again.

16451 (SQLSTATE: 42000): rownum not allowed here

Cause

ROWNUM can not be used as DEFAULT value.


gSQL> CREATE TABLE t1 ( c1 INTEGER DEFAULT ROWNUM );


ERR-42000(16451): rownum not allowed here :

CREATE TABLE t1 ( c1 INTEGER DEFAULT ROWNUM )

*

ERROR at line 1:

Action

Use a constant as DEFAULT value as follows.


gSQL> CREATE TABLE t1 ( c1 INTEGER DEFAULT 0 );


Table created.

16452 (SQLSTATE: 42000): rownum not allowed in sensitive cursor

Cause

ROWNUM can not be used in the sensitive cursor.


gSQL>


DECLARE cur1 SENSITIVE SCROLL CURSOR

FOR SELECT ROWNUM

FROM t1

WHERE c1 > 0

FOR UPDATE;


ERR-42000(16452): rownum not allowed in sensitive cursor

Action

Do not use ROWNUM as a SELECT target when using the sensitive cursor.


gSQL>


DECLARE cur1 SENSITIVE SCROLL CURSOR

FOR SELECT c1

FROM t1

WHERE c1 > 0

FOR UPDATE;


Cursor declared.

16453 (SQLSTATE: 42000): rownum not allowed in positioned UPDATE

Cause

ROWNUM can not be used in UPDATE CURRENT OF cursor statement.


gSQL> \var v1 INTEGER


gSQL>


DECLARE cur1 CURSOR

FOR SELECT ROWNUM

FROM t1

WHERE ROWNUM < 4

FOR UPDATE;

Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> FETCH cur1 INTO :v1;


V1

--

1


1 row fetched.


gSQL> UPDATE t1 SET c1 = ROWNUM WHERE CURRENT OF cur1;


ERR-42000(16453): rownum not allowed in positioned UPDATE

Action

Do not use ROWNUM in UPDATE CURRENT OF cursor statement.


gSQL> UPDATE t1 SET c1 = c1 + 10 WHERE CURRENT OF cur1;

16454 (SQLSTATE: 42000): function '%s' not allowed here

Cause

The function can not be used in INSERT RETURN statement.


gSQL> INSERT INTO t1 VALUES ( DEFAULT ) RETURN LAST_IDENTITY_VALUE() INTO :v1;


ERR-42000(16454): function 'LAST_IDENTITY_VALUE' not allowed here :

INSERT INTO t1 VALUES ( DEFAULT ) RETURN LAST_IDENTITY_VALUE() INTO :v1

*

ERROR at line 1:

Action

Do not use the function in INSERT RETURN statement.


gSQL> INSERT INTO t1 VALUES ( DEFAULT ) RETURN c1 INTO :v1;


V1

--

10


1 row created.

16455 (SQLSTATE: 42000): routine "%s.%s" has errors

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16456 (SQLSTATE: 42000): the startup phase '%s' of cluster member '%s' is mismatch with the required startup phase '%s'

Cause

The startup phase of the cluster member to add is not OPEN.


gSQL> CREATE CLUSTER GROUP G4 CLUSTER MEMBER G4N1 HOST '127.0.0.1' PORT 14150;


ERR-42000(16456): the startup phase 'LOCAL OPEN' of cluster member 'G4N1' is mismatch with the required startup phase 'OPEN'

Action

Shift the startup phase of the cluster member to OPEN.

16457 (SQLSTATE: 42000): the connection map of cluster member '%s' is mismatch with local connection map

Cause

This error occurs during the execution of ALTER SYSTEM JOIN DATABASE when the connection map of the local node does not match that of the remote node.

Although this error does not normally occur, it may happen if a remote node stops while the statement is being executed.

Action

After failover of the affected remote node is completed, try again.

16458 (SQLSTATE: 42000): reserved domain cannot be used with other domains

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16459 (SQLSTATE: 42000): cannot execute on hash sharded tables

Cause

MERGE SHARDS statement can not be used in the hash sharded table.


gSQL> CREATE TABLE T1( I1 INTEGER ) SHARDING BY HASH( I1 );


Table created.


gSQL> ALTER TABLE T1 MERGE SHARDS S1, S2 INTO S1;


ERR-42000(16459): cannot execute on hash sharded tables :

ALTER TABLE T1 MERGE SHARDS S1, S2 INTO S1

*

ERROR at line 1:

Action

MERGE SHARDS statement can be used in the range/ list sharded table.

16460 (SQLSTATE: 42000): cannot execute on range sharded tables

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16461 (SQLSTATE: 42000): invalid shard values

Cause

IN shard value was used when executing SPLIT SHARD for the range sharded table.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE (sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2;


Table created.


gSQL>


ALTER TABLE t1 SPLIT SHARD s2 INTO

(

SHARD s3 VALUES IN ( 50 ) AT CLUSTER GROUP G3

);


ERR-42000(16461): invalid shard values :

SHARD s3 VALUES IN ( 50 ) AT CLUSTER GROUP G3

*

ERROR at line 3:

Action

Use LESS THAN shard value as follows.


gSQL> ALTER TABLE t1 SPLIT SHARD s2 INTO

(

SHARD s3 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP G3

);


Table altered.

16462 (SQLSTATE: 42000): cannot split shard - source shard cannot be empty

Cause

IN shard value of the source shard becomes empty when executing SPLIT.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY LIST (sk)

SHARD s1 VALUES IN ( 1,2 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES IN ( DEFAULT ) AT CLUSTER GROUP g2;


Table created.


gSQL>


ALTER TABLE t1 SPLIT SHARD s1 INTO

(

SHARD S1_1 VALUES IN ( 1 ) AT CLUSTER GROUP g1,

SHARD S1_2 VALUES IN ( 2 ) AT CLUSTER GROUP g2

);


ERR-42000(16462): cannot split shard - source shard cannot be empty :

ALTER TABLE t1 SPLIT SHARD s1 INTO

*

ERROR at line 1:

Action

SPLIT as follows so that IN shard value of the source shard exists.


gSQL>


ALTER TABLE t1 SPLIT SHARD s1 INTO

(

SHARD S1_2 VALUES IN ( 2 ) AT CLUSTER GROUP g2

);


Table altered.

16463 (SQLSTATE: 42000): first CREATE CLUSTER GROUP must include only one cluster member

Cause

When creating the initial cluster group to create the cluster system, it can includes only its own cluster member.


gSQL>


CREATE CLUSTER GROUP g1

CLUSTER MEMBER g1n1 HOST '192.168.0.101' PORT 11000,

CLUSTER MEMBER g1n2 HOST '192.168.0.102' PORT 12000;


ERR-42000(16463): first CREATE CLUSTER GROUP must include only one cluster member

Action

Include only its own cluster member when creating the initial cluster group as follows.


gSQL>


CREATE CLUSTER GROUP g1

CLUSTER MEMBER g1n1 HOST '192.168.0.101' PORT 11000;


Cluster Group created.

16464 (SQLSTATE: HY000): unsupported feature with temporary table

Cause

This feature can not be used in the global temporary table.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER );


Table created.


gSQL> ALTER TABLE t1 PCTFREE 100;


ERR-HY000(16464): unsupported feature with temporary table :

ALTER TABLE t1 PCTFREE 100

*

ERROR at line 1:

Action

The storage option can not be used for the global temporary table.

16465 (SQLSTATE: 42000): cannot drop local cluster group

Cause

The currently connected cluster group can not be DROPped.


gSQL> DROP CLUSTER GROUP g1;


ERR-42000(16465): cannot drop local cluster group :

DROP CLUSTER GROUP g1

*

ERROR at line 1:

Action

Check the currently connected cluster group.


gSQL> SELECT local_group_name() FROM dual;


LOCAL_GROUP_NAME()

------------------

G1


1 row selected.

16466 (SQLSTATE: 42000): cannot execute with SERIALIZABLE

Cause

REBALANCE can not be executed in ISOLATION LEVEL SERIALIZABLE mode.


gSQL> SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE;


Session set.


gSQL> ALTER TABLE T1 REBALANCE;


ERR-42000(16466): cannot execute with SERIALIZABLE

Action

Shift ISOLATION LEVEL to READ COMMITTED, then execute it.


gSQL> SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED;


Session set.


gSQL> ALTER TABLE t1 REBALANCE;


Table altered.

16467 (SQLSTATE: 42000): table '%s' is READ ONLY

Cause

DML can not be execute for READ ONLY table.


gSQL> ALTER TABLE t1 READ ONLY;


Table altered.


gSQL> INSERT INTO t1 VALUES ( 1 );


ERR-42000(16467): table 'T1' is READ ONLY :

INSERT INTO t1 VALUES ( 1 )

*

ERROR at line 1:

Action

Shift it to READ WRITE, then execute DML.


gSQL> ALTER TABLE t1 READ WRITE;


Table altered.


gSQL> INSERT INTO t1 VALUES ( 1 );


1 row created.

16468 (SQLSTATE: HY000): cannot create TEMPORARY object in a NON-TEMPORARY tablespace '%s'

Cause

The global temporary table can not be created in the data tablespace.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER ) TABLESPACE mem_data_tbs;


ERR-HY000(16468): cannot create TEMPORARY object in a NON-TEMPORARY tablespace 'MEM_DATA_TBS' :

CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER ) TABLESPACE mem_data_tbs

*

ERROR at line 1:

Action

The global temporary table should be created in the temporary tablespace.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER ) TABLESPACE mem_temp_tbs;


Table created.

16469 (SQLSTATE: 0A000): cannot execute on global connection

Cause

The global temporary table can not be used in the global connection environment.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER );


Table created.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT INTO t1 VALUES ( 1 );


ERR-0A000(16469): cannot execute on global connection

Action

For more information about constraints for the global connection, refer to Constraints.

16470 (SQLSTATE: 42000): datafile size specified is smaller than minimum required '%ld'

Cause

The size of tablespace datafile is out of the range.


gSQL>


CREATE TABLESPACE TEST_TBS DATAFILE 'TEST_TBS.dbf'

SIZE 1M

EXTSIZE 1048576;


ERR-RD000(16080): file size is out of range( 4194304 to 32212254720 ) :

SIZE 1M

*

ERROR at line 2:

Action

The size of tablespace datafile should be 4M ~ 32G.

16471 (SQLSTATE: 42000): audit policy '%s' does not exists

Cause

The audit policy does not exist.


gSQL> AUDIT POLICY invalid;


ERR-42000(16471): audit policy 'INVALID' does not exists :

AUDIT POLICY invalid

*

ERROR at line 1:

Action

Check if the audit policy exists as follows.


gSQL> SELECT policy_name FROM audit_policies;


POLICY_NAME

-----------

P1


1 row selected.

16472 (SQLSTATE: 42000): audit policy cannot be dropped as it is currently enabled

Cause

The currently activated audit policy can not be DROPped.


gSQL> AUDIT POLICY p1;


Audit succeeded.


gSQL> DROP AUDIT POLICY p1;


ERR-42000(16472): audit policy cannot be dropped as it is currently enabled :

DROP AUDIT POLICY p1

*

ERROR at line 1:

Action

Deactivate it, then DROP it as follows.


gSQL> NOAUDIT POLICY p1;


Noaudit succeeded.


gSQL> DROP AUDIT POLICY p1;


Audit Policy dropped.

16473 (SQLSTATE: 42000): audit policy '%s' already exists

Cause

The audit policy object already exists.


gSQL> CREATE AUDIT POLICY p1 ACTIONS CREATE TABLE;


ERR-42000(16473): audit policy 'P1' already exists :

CREATE AUDIT POLICY p1 ACTIONS CREATE TABLE

*

ERROR at line 1:

Action

Check if the audit policy object exists as follows.


gSQL> SELECT policy_name FROM audit_policies;


POLICY_NAME

-----------

P1


1 row selected.

16474 (SQLSTATE: 42000): not auditable option

Cause

The privilege can not be used for the privilege audit.


gSQL>


CREATE AUDIT POLICY p1

PRIVILEGES CREATE SESSION

;


ERR-42000(16474): not auditable option :

PRIVILEGES CREATE SESSION

*

ERROR at line 2:

Action

Only the database privilege is allowed as PRIVILEGES audit option as follows.


gSQL>


CREATE AUDIT POLICY p1

PRIVILEGES SELECT ANY TABLE

;


Audit Policy created.


View the database privilege which can audit as follows.


gSQL> SELECT privilege_name FROM v$auditable_db_privileges;


PRIVILEGE_NAME

-----------------

ADMINISTRATION

ALTER DATABASE

...

...

...

EXECUTE ANY LIBRARY


55 rows selected.

16475 (SQLSTATE: 42000): audit policy already applied with the BY clause

Cause

The audit policy is already activated with BY user.


gSQL> AUDIT POLICY p1 BY u1;


Audit succeeded.


gSQL> AUDIT POLICY p1 EXCEPT u1;


ERR-42000(16475): audit policy already applied with the BY clause

Action

Deactivate the audit policy with BY user, then activate it with EXCEPT user as follows.


gSQL> NOAUDIT POLICY p1 BY u1;


Noaudit succeeded.


gSQL> AUDIT POLICY p1 EXCEPT u1;


Audit succeeded.

16476 (SQLSTATE: 42000): audit policy already applied with the EXCEPT clause

Cause

The audit policy is already activated with EXCEPT user.


gSQL> AUDIT POLICY p1 EXCEPT u1;


Audit succeeded.


gSQL> AUDIT POLICY p1 BY u1;


ERR-42000(16476): audit policy already applied with the EXCEPT clause

Action

Deactivate the audit policy without BY/EXCEPT option, then activate it with BY user as follows.


gSQL> NOAUDIT POLICY p1;


Noaudit succeeded.


gSQL> AUDIT POLICY p1 BY u1;


Audit succeeded.

16477 (SQLSTATE: 42000): not auditable object

Cause

It is not an auditable object.


gSQL>


CREATE AUDIT POLICY p1

ACTIONS ALL ON X$SESSION

;


ERR-42000(16477): not auditable object :

ACTIONS ALL ON X$SESSION

*

ERROR at line 2:

Action

Only the table created by the user is auditable.


gSQL>


CREATE AUDIT POLICY p1

ACTIONS ALL ON t1

;


Audit Policy created.

16478 (SQLSTATE: 42000): tablespace '%s' is not temporary tablespace or data tablespace

Cause

The specified tablespace can not be used as INDEX TABLESPACE.


gSQL> ALTER USER u1 INDEX TABLESPACE mem_undo_tbs;


ERR-42000(16478): tablespace 'MEM_UNDO_TBS' is not temporary tablespace or data tablespace :

ALTER USER u1 INDEX TABLESPACE mem_undo_tbs

*

ERROR at line 1:

Action

Specify the temporary tablespace or the data tablespace as INDEX TABLESPACE.


gSQL> ALTER USER u1 INDEX TABLESPACE mem_temp_tbs;


User altered.

16479 (SQLSTATE: 42000): failed to update system version - %s

Cause

This error occurs when the configured wait time is exceeded while multiple sessions attempt to update the system version simultaneously.

Action

The system version is increased to notify clients using global connections of changes to the cluster topology.

If global connections are in use, the system version can be manually increased using the ALTER SYSTEM RECONNECT GLOBAL CONNECTION statement.

16480 (SQLSTATE: 42000): cannot set irrecoverable on the local cluster member

Cause

This error occurs when the specified member name is the same as the local member while executing the ALTER SYSTEM IRRECOVERABLE CLUSTER MEMBER statement.


gSQL> SELECT local_member_name() FROM dual;


LOCAL_MEMBER_NAME()

-------------------

G1N1


1 row selected.


gSQL> ALTER SYSTEM IRRECOVERABLE CLUSTER MEMBER g1n1;


ERR-42000(16480): cannot set irrecoverable on the local cluster member :

ALTER SYSTEM IRRECOVERABLE CLUSTER MEMBER g1n1

*

ERROR at line 1:

Action

Verify the member name to be specified, and then execute the statement again.

16481 (SQLSTATE: 42000): global tempoary table segment no longer exists

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16482 (SQLSTATE: 42R02): database is not accessible; '%s' has detached from the cluster

Cause

The currently connected member (G3N3) is away from cluster system.


gSQL> SELECT COUNT(*) FROM t1;


ERR-42R02(16482): database is not accessible; 'G3N3' has detached from the cluster

ERR-42R01(16357): must be accessible to at least one member of group 'G1'

Action

Join the cluster member (G3N3) to the cluster system.

16483 (SQLSTATE: 42000): of the total '%d' sequences, '%d' sequences failed to synchronize

Cause

This error occurs during node addition or node join operations and indicates the number of sequence synchronization objects that failed.

Most failures are caused by concurrency issues due to locks.

Action

Execute the ALTER DATABASE SYNCHRONIZE SEQUENCE statement repeatedly until all sequences are successfully synchronized.

16484 (SQLSTATE: 42000): of the total '%d' identity columns, '%d' identity columns failed to synchronize

Cause

This error occurs during node addition or join operations and indicates the number of identity columns that failed to synchronize.

Most failures are caused by concurrency issues due to locks.

Action

Execute the ALTER DATABASE SYNCHRONIZE SEQUENCE statement repeatedly until all identity columns are successfully synchronized.

16485 (SQLSTATE: 42000): table '%s' does not have an identity column

Cause

The table does not have an identity column.


gSQL> ALTER TABLE t2 SYNCHRONIZE IDENTITY COLUMN;


ERR-42000(16485): table '%s' does not have an identity column :

ALTER TABLE t2 SYNCHRONIZE IDENTITY COLUMN

*

ERROR at line 1:

Action

Check which table has an identity column as follows.


gSQL> SELECT table_name, column_name FROM user_tab_identity_cols;


TABLE_NAME COLUMN_NAME

---------- -----------

T1 C1


1 row selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE IDENTITY COLUMN;


Table altered.

16486 (SQLSTATE: RD000): maximum file size is out of range( %ld to %ld )

Cause

It exceeds the maximum file size.


gSQL> CREATE DISK TABLESPACE DISK_TBS DATAFILE 'DISK_TBS.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE 31G;


ERR-RD000(16486): maximum file size is out of range( 4194304 to 32212254720 ) :

CREATE DISK TABLESPACE DISK_TBS DATAFILE 'DISK_TBS.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE 31G

*

ERROR at line 1:

Action

The file size should be set within the range (4M ~ 30G ).

16487 (SQLSTATE: 42000): only range sharded table is allowed

Cause

MERGE SHARDS start_shard_name TO end_shard_name statement can not be used in the list sharded table.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY LIST(sk)

SHARD s1 VALUES IN ( 101, 201 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES IN ( 102, 202 ) AT CLUSTER GROUP g1,

SHARD s3 VALUES IN ( 103, 203 ) AT CLUSTER GROUP g1,

SHARD s4 VALUES IN ( DEFAULT ) AT CLUSTER GROUP g2

;


Table created.


gSQL> ALTER TABLE T1 MERGE SHARDS s1 TO s2 INTO s5 AT CLUSTER GROUP g3;


ERR-42000(16487): only range sharded table is allowed :

ALTER TABLE T1 MERGE SHARDS s1 TO s2 INTO s5 AT CLUSTER GROUP g3

*

ERROR at line 1:

Action

MERGE SHARDS start_shard_name TO end_shard_name statement can be used in the range sharded table.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE(sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP g1,

SHARD s3 VALUES LESS THAN ( 300 ) AT CLUSTER GROUP g1,

SHARD s4 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2

;


Table created.


gSQL> ALTER TABLE T1 MERGE SHARDS s1 TO s2 INTO s5 AT CLUSTER GROUP g3;


Table altered.

16488 (SQLSTATE: 42000): shards being merged are not adjacent

Cause

Shards which are not adjacent can not be merged.


gSQL>


CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )

SHARDING BY RANGE(sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP g1,

SHARD s3 VALUES LESS THAN ( 300 ) AT CLUSTER GROUP g1,

SHARD s4 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2

;


Table created.


gSQL> ALTER TABLE T1 MERGE SHARDS s1, s3 INTO s5 AT CLUSTER GROUP g3;


ERR-42000(16488): shards being merged are not adjacent :

ALTER TABLE T1 MERGE SHARDS s1, s3 INTO s5 AT CLUSTER GROUP g3

*

ERROR at line 1:

Action

Merge shards which are adjacent as follows.


gSQL> ALTER TABLE T1 MERGE SHARDS s1, s2, s3 INTO s5 AT CLUSTER GROUP g3;


Table altered.

16489 (SQLSTATE: 42000): cluster group name must be specified

Cause

The cluster group name is not specified.


gSQL> CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )


SHARDING BY RANGE(sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP g1,

SHARD s3 VALUES LESS THAN ( 300 ) AT CLUSTER GROUP g1,

SHARD s4 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2

;


Table created.


gSQL> ALTER TABLE T1 MERGE SHARDS s1, s2 INTO s5;


ERR-42000(16489): cluster group name must be specified :

ALTER TABLE T1 MERGE SHARDS s1, s2 INTO s5

*

ERROR at line 1:

Action

Specify the cluster group name as follows.


gSQL> ALTER TABLE T1 MERGE SHARDS s1, s2 INTO s5 AT CLUSTER GROUP g3;


Table altered.

16490 (SQLSTATE: 42000): mismatch the group name of the source shard '%s'

Cause

When the identical shards were used in the source shard and the destine shard, the cluster group name of the shard was described differently.


gSQL> CREATE TABLE t1 ( sk INTEGER, c2 INTEGER )


SHARDING BY RANGE(sk)

SHARD s1 VALUES LESS THAN ( 100 ) AT CLUSTER GROUP g1,

SHARD s2 VALUES LESS THAN ( 200 ) AT CLUSTER GROUP g1,

SHARD s3 VALUES LESS THAN ( 300 ) AT CLUSTER GROUP g1,

SHARD s4 VALUES LESS THAN ( MAXVALUE ) AT CLUSTER GROUP g2

;


Table created.


gSQL> ALTER TABLE T1 MERGE SHARDS s1, s2 INTO s2 AT CLUSTER GROUP g2;


ERR-42000(16490): mismatch the group name of the source shard 'S2' :

ALTER TABLE T1 MERGE SHARDS s1, s2 INTO s2 AT CLUSTER GROUP g2

*

ERROR at line 1:

Action

If the identical shards were used in the source shard and the destine shard, then cluster group name of the shard should be described.


gSQL> ALTER TABLE T1 MERGE SHARDS s1, s2 INTO s2 AT CLUSTER GROUP g1;


Table altered.

16491 (SQLSTATE: 42000): exceed the maximum number of shards (%d)

Cause

It exceeds the maximum number of shards.


gSQL>


CREATE TABLE t1

(

c1 INTEGER,

c2 INTEGER

)

SHARDING BY RANGE (c1)

AT CLUSTER WIDE

SHARD s0001 VALUES LESS THAN (10001),

SHARD s0002 VALUES LESS THAN (10002),

SHARD s0003 VALUES LESS THAN (10003),

SHARD s0004 VALUES LESS THAN (10004),

...

...

...

SHARD s0510 VALUES LESS THAN (10510),

SHARD s0511 VALUES LESS THAN (10511),

SHARD s0512 VALUES LESS THAN (10512),

SHARD s0513 VALUES LESS THAN (MAXVALUE)

;


ERR-42000(16491): exceed the maximum number of shards (512) :

SHARD s0513 VALUES LESS THAN (MAXVALUE)

*

ERROR at line 520:

Action

The maximum number of shards to define is 512.

16492 (SQLSTATE: 42000): can not perform DDL/DML over objects in Recycle Bin

Cause

gSQL> create table t1 ( c1 integer ) ;



Table created.



gSQL> drop table t1;



Table dropped.



gSQL> select OBJECT_NAME, ORIGINAL_NAME from dba_recyclebin;



OBJECT_NAME ORIGINAL_NAME

------------------------------------ -------------

BIN$A202F0C6E59611EE8E17DF67981EB0BF T1



1 row selected.



gSQL> drop table BIN$A202F0C6E59611EE8E17DF67981EB0BF;



ERR-42000(16492): can not perform DDL/DML over objects in Recycle Bin :

drop table BIN$A202F0C6E59611EE8E17DF67981EB0BF

*

ERROR at line 1:

Action

OBJECT stored in the recycle bin can not perform DDL/DML. Recover it by using FLASHBACK TABLE statement, then perform DDL/DML.

16493 (SQLSTATE: 42000): object not in Recycle Bin

Cause

gSQL> select OBJECT_NAME, ORIGINAL_NAME from dba_recyclebin;


OBJECT_NAME ORIGINAL_NAME

------------------------------------ -------------

BIN$A202F0C6E59611EE8E17DF67981EB0BF T1


1 row selected.


gSQL> purge table t2;


ERR-42000(16493): object not in Recycle Bin :

purge table t2

*

ERROR at line 1:


gSQL> flashback table t2 to before drop;


ERR-42000(16493): object not in Recycle Bin :

flashback table t2 to before drop

*

ERROR at line 1:

Action

Use the correct OBJECT NAME when dropping or recovering OBJECT stored in the recycle bin.


gSQL> purge table t1;


Table purged.

16494 (SQLSTATE: 42000): original name is used by an existing object

Cause

gSQL> select OBJECT_NAME, ORIGINAL_NAME from dba_recyclebin;


OBJECT_NAME ORIGINAL_NAME

------------------------------------ -------------

BIN$9D8ADDDAE59911EE8E17DF67981EB0BF T1


1 row selected.


gSQL> create table t1 ( c1 integer ) ;


Table created.


gSQL> flashback table t1 to before drop;


ERR-42000(16494): original name is used by an existing object :

flashback table t1 to before drop

*

ERROR at line 1:

Action

This error occurs if the duplicate name OBJECT exists when recovering OBJECT stored in the recycle bin.

gSQL> flashback table t1 to before drop rename to t2;


Flashback complete.

16495 (SQLSTATE: HY000): package or package body does not exist

Cause

The package does not exist.


gSQL> DROP PACKAGE invalid;


ERR-42000(16495): package or package body does not exist :

DROP PACKAGE invalid

*

ERROR at line 1:

Action

Check the existing package as follows.


gSQL> SELECT object_name FROM user_objects WHERE object_type = 'PACKAGE';


OBJECT_NAME

-----------

PKG1


1 row selected.

16496 (SQLSTATE: 42000): built-in package '%s' is not modifiable

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16497 (SQLSTATE: 42000): lacks privilege (EXECUTE ON PACKAGE "%s"."%s")

Cause

The user does not have EXECUTE ON PACKAGE privilege.


gSQL> SELECT pkg1.func1(100) FROM dual;


ERR-42000(16497): lacks privilege (EXECUTE ON PACKAGE "PUBLIC"."PKG1") :

SELECT pkg1.func1(100) FROM dual

*

ERROR at line 1:


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.

Action

The package owner should grant the privilege to the user.


gSQL> GRANT EXECUTE ON PACKAGE "PUBLIC"."PKG1" TO u1;


Grant succeeded.


gSQL> \connect u1 u1


gSQL> SELECT current_user FROM dual;


CURRENT_USER

------------

U1


1 row selected.


gSQL> SELECT pkg1.func1(100) FROM dual;


PKG1.FUNC1(100)

---------------

100


1 row selected.

16498 (SQLSTATE: 42000): Only Btree indexes can be rebuilt

Cause

This error occurs when the INDEX REBUILD statement is used on a global temporary index.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER );


Table created.


gSQL> CREATE INDEX t1_idx ON t1 ( c1 );


Index created.


gSQL> COMMIT;


Commit complete.


gSQL> ALTER INDEX t1_idx REBUILD;


ERR-42000(16498): Only Btree indexes can be rebuilt :

ALTER INDEX t1_idx REBUILD

*

ERROR at line 1:

Action

Global temporary indexes do not support the REBUILD statement.

16499 (SQLSTATE: 42000): operation is not allowed on immutable table '%s'

Cause

The statement is not executable for the immutable table.


gSQL> CREATE IMMUTABLE TABLE t1 ( c1 INTEGER );


Table created.


gSQL> INSERT INTO t1 VALUES ( 1 );


1 row created.


gSQL> DELETE FROM t1 WHERE c1 = 1;


ERR-42000(16499): operation is not allowed on immutable table 'T1' :

DELETE FROM t1 WHERE c1 = 1

*

ERROR at line 1:

Action

Only INSERT is allowed for the immutable table.

16500 (SQLSTATE: 0A000): cannot execute on global session

Cause

DDL is not executable in the client of the global session.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


ERR-0A000(16500): cannot execute on global session

Action

For more information about constraints for the global connection and the global session, refer to Constraint.

16501 (SQLSTATE: 42000): size of log file is larger than maximum size of log file(%ld bytes).

Cause

This error occurs when the value specified in the SIZE clause exceeds 1 terabyte while executing the ALTER DATABASE ADD LOGFILE GROUP statement.


gSQL> ALTER DATABASE ADD LOGFILE GROUP 4 ( 'redo_4_0.log' ) SIZE 2T REUSE;


ERR-42000(16501): size of log file is larger than maximum size of log file(1099511627776 bytes).

Action

Set the SIZE clause to a value less than 1 terabyte, and then execute the statement again.

16502 (SQLSTATE: 42000): recursive WITH clause must reference itself directly in one of the UNION ALL branches

Cause

The recursive WITH clause was described wrongly.


gSQL>


WITH w1 ( w_emp, w_mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION

SELECT emp, mgr

FROM t1, w1

WHERE t1.mgr = w1.w_emp

)

SELECT * FROM w1;


ERR-42000(16502): recursive WITH clause must reference itself directly in one of the UNION ALL branches :

SELECT emp, mgr

*

ERROR at line 3:

Action

Describe it with UNION ALL as follows.


gSQL> WITH w1 ( w_emp, w_mgr ) AS


(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT emp, mgr

FROM t1, w1

WHERE t1.mgr = w1.w_emp

)


SELECT * FROM w1;


W_EMP W_MGR

----- -----

kim null

park kim

choi kim

tom park


4 rows selected.

16503 (SQLSTATE: 42000): recursive WITH clause must reference itself in the last UNION ALL branch

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16504 (SQLSTATE: 42000): recursive WITH clause must use UNION ALL operation

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16505 (SQLSTATE: 42000): recursive WITH clause must have column alias list

Cause

A column alias should be described in the recursive WITH clause.


gSQL>


WITH w1 AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)


SELECT * FROM w1;

ERR-42000(16505): recursive WITH clause must have column alias list :

WITH w1 AS

*

ERROR at line 1:

Action

Describe the column alias in the query name (w1) as follows.


gSQL>


WITH w1(emp, mgr) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)


SELECT * FROM w1;


EMP MGR

---- ----

kim null

park kim

choi kim

tom park


4 rows selected.

16506 (SQLSTATE: 42000): unsupported join in recursive WITH query

Cause

LEFT OUTER JOIN can not be used in the recursive query part of the recursive WITH clause.


gSQL>


WITH w1(emp, mgr) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1 LEFT OUTER JOIN

w1 ON t1.mgr = w1.emp

)

SELECT * FROM w1;


ERR-42000(16506): unsupported join in recursive WITH query :

w1 ON t1.mgr = w1.emp

*

ERROR at line 9:

Action

Use INNER JOIN in the recursive query part of the recursive WITH clause.


gSQL>


WITH w1(emp, mgr) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)

SELECT * FROM w1;


EMP MGR

---- ----

kim null

park kim

choi kim

tom park


4 rows selected.

16507 (SQLSTATE: 42000): cycle mark value and non-cycle mark value must be one byte character

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16508 (SQLSTATE: 42000): only recursive WITH element can have recursive search clause

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16509 (SQLSTATE: 42000): unsupported operation in recursive branch of recursive WITH clause

Cause

GROUP BY can not be used in the recursive query part of the recursive WITH clause.


gSQL> WITH w1(emp, mgr) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, MAX(t1.mgr)

FROM t1, w1

WHERE t1.mgr = w1.emp

GROUP BY t1.emp

)


SELECT * FROM w1;


ERR-42000(16509): unsupported operation in recursive branch of recursive WITH clause :

GROUP BY t1.emp

*

ERROR at line 10:

Action

Drop GROUP BY and DISTINCT as follows.


gSQL>


WITH w1(emp, mgr) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)


SELECT * FROM w1;


EMP MGR

---- ----

kim null

park kim

choi kim

tom park


4 rows selected.

16510 (SQLSTATE: 42000): unsupported use of WITH clause

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16511 (SQLSTATE: 42000): cycle detected while executing recursive WITH query

Cause

cycle was detected while executing the recursive WITH clause.


gSQL> WITH w1(emp, mgr) AS


(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)


SELECT * FROM w1;


ERR-42000(16511): cycle detected while executing recursive WITH query

Action

Use CYCLE clause as follows.


gSQL> WITH w1(emp, mgr) AS


(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, mgr SET w_cycle TO 'T' DEFAULT 'F'


SELECT * FROM w1;


EMP MGR W_CYCLE

---- ---- -------

kim null F

kim tom F

park kim F

choi kim F

park kim F

choi kim F

tom park F

tom park F

kim tom F

kim tom T

park kim T

choi kim F


12 rows selected.

16512 (SQLSTATE: 42000): CONNECT BY clause required in this query block

Cause

LEVEL is a hierarchy function which is used together with CONNECT BY clause.


gSQL>


SELECT emp, mgr, LEVEL

FROM t1

;


ERR-42000(16512): CONNECT BY clause required in this query block :

SELECT emp, mgr, LEVEL

*

ERROR at line 1:

Action

SELECT emp, mgr, LEVEL


FROM t1

START WITH emp = 'kim'

CONNECT BY mgr = PRIOR emp

;


EMP MGR LEVEL

---- ---- -----

kim null 1

choi kim 2

park kim 2

tom park 3


4 rows selected.

16513 (SQLSTATE: 42000): hierarchy function not allowed here

Cause

The hierarchy function can not be used in SELECT target together with PRIOR.


gSQL>


SELECT emp, mgr, PRIOR SYS_CONNECT_BY_PATH( emp, '/' )

FROM t1

START WITH emp = 'kim'

CONNECT BY mgr = PRIOR emp

;


ERR-42000(16513): hierarchy function not allowed here :

SELECT emp, mgr, PRIOR SYS_CONNECT_BY_PATH( emp, '/' )

*

ERROR at line 1:

Action

Drop PRIOR as follows.


gSQL>


SELECT emp, mgr, SYS_CONNECT_BY_PATH( emp, '/' )

FROM t1

START WITH emp = 'kim'

CONNECT BY mgr = PRIOR emp

;


EMP MGR SYS_CONNECT_BY_PATH( EMP, '/' )

---- ---- -------------------------------

kim null /kim

choi kim /kim/choi

park kim /kim/park

tom park /kim/park/tom


4 rows selected.

16514 (SQLSTATE: 42000): cycle detected while executing CONNECT BY Clause

Cause

cycle was detected while executing CONNECT BY.


gSQL>


SELECT emp, mgr

FROM t1

START WITH emp = 'kim'

CONNECT BY mgr = PRIOR emp

;


ERR-42000(16511): cycle detected while executing recursive WITH query

Action

Use NOCYCLE option as follows.


gSQL> SELECT emp, mgr


FROM t1

START WITH emp = 'kim'

CONNECT BY NOCYCLE mgr = PRIOR emp

;


EMP MGR

---- ----

kim null

choi kim

park kim

tom park


4 rows selected.

16515 (SQLSTATE: 42000): ORDER SIBLINGS BY requires specific target expressions

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16516 (SQLSTATE: 42000): invalid argument expressions for SYS_CONNECT_BY_PATH

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16517 (SQLSTATE: 42000): NOCYCLE keyword is required with CONNECT_BY_ISCYCLE

Cause

NOCYCLE option is missing.


gSQL>


SELECT emp, mgr, CONNECT_BY_ISCYCLE

FROM t1

START WITH emp = 'kim'

CONNECT BY mgr = PRIOR emp

;


ERR-42000(16517): NOCYCLE keyword is required with CONNECT_BY_ISCYCLE :

SELECT emp, mgr, CONNECT_BY_ISCYCLE

*

ERROR at line 1:

Action

The hierarchy function CONNECT_BY_ISCYCLE should be used together with NOCYCLE option.


gSQL>


SELECT emp, mgr, CONNECT_BY_ISCYCLE

FROM t1

START WITH emp = 'kim'

CONNECT BY NOCYCLE mgr = PRIOR emp

;


EMP MGR CONNECT_BY_ISCYCLE

---- ---- ------------------

kim null 0

choi kim 0

park kim 0

tom park 1


4 rows selected.

16518 (SQLSTATE: 42000): LOCAL_OFFLINE domain expected

Cause

The currently connected local data is offline, so use LOCAL_OFFLINE option.


gSQL> SELECT * FROM t1@local;


ERR-42000(16518): LOCAL_OFFLINE domain expected :

SELECT * FROM t1@local

*

ERROR at line 1:

Action

The currently connected local data is offline as follows.


gSQL> SELECT local_member_name() FROM dual;


LOCAL_MEMBER_NAME()

-------------------

G2N2


1 row selected.


gSQL> SELECT table_name, member_name, member_offline FROM user_tab_place WHERE table_name = 'T1';


TABLE_NAME MEMBER_NAME MEMBER_OFFLINE

---------- ----------- --------------

T1 G1N1 FALSE

T1 G1N2 FALSE

T1 G2N1 FALSE

T1 G2N2 TRUE

T1 G3N1 FALSE

T1 G3N2 FALSE


6 rows selected.


REBALANCE the table(t1), or inquire it with LOCAL_OFFLINE domain as follows.


gSQL> SELECT * FROM t1@local_offline;


C1

--

1


1 row selected.

16519 (SQLSTATE: 42000): global secondary index expected in cluster DML

Cause

The global secondary index is required to execute the non-deterministic DML.


gSQL> CREATE TABLE t1 ( id INTEGER ) SHARDING BY(id) WITHOUT GLOBAL SECONDARY INDEX;


Table created.


gSQL> DELETE FROM t1 LIMIT 3;


ERR-42000(16519): global secondary index expected in cluster DML

Action

Add a global secondary index, then execute it as follows.


gSQL> ALTER TABLE t1 ADD GLOBAL SECONDARY INDEX;


Table altered.


gSQL> DELETE FROM t1 LIMIT 3;


no rows deleted.

16520 (SQLSTATE: 42000): long varying memory manager does not exist

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16521 (SQLSTATE: 42000): invalid hash bucket count (must between 1 and %ld)

Cause

The hash bucket count value was set wrongly.


gSQL> ALTER SESSION SET HINT_ERROR = ON;


Session altered.


gSQL> \explain plan


SELECT /*+ USE_HASH(t2, 0) */

t1.id, t1.name

FROM t1, t2

WHERE t1.id = t2.id;


ERR-42000(16521): invalid hash bucket count (must between 1 and 9223372036854775807) :

SELECT /*+ USE_HASH(t2, 0) */

*

ERROR at line 1:

Action

Use the value within the valid range as follows.


gSQL> \explain plan


SELECT /*+ USE_HASH(t2, 1024) */

t1.id, t1.name

FROM t1, t2

WHERE t1.id = t2.id;


ID NAME

-- ----

1 kim


1 row selected.


>>> start print plan


... Ellipsis ...


<<< end print plan

16522 (SQLSTATE: 42000): invalid cluster member position

Cause

The specified cluster member position can not be used.


gSQL>


ALTER CLUSTER GROUP g4 ADD

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 14150 POSITION 5;


ERR-42000(16522): invalid cluster member position :

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 14150 POSITION 5

*

ERROR at line 2:

Action

Check the cluster member position to which the cluster member is not allocated as follows.


gSQL>


SELECT member_name,

member_position

FROM dba_cluster

WHERE member_position < 9

ORDER BY member_position

;


MEMBER_NAME MEMBER_POSITION

----------- ---------------

G1N1 0

G1N2 1

G2N1 2

G2N2 3

G3N1 4

G3N2 5

null 6

G4N2 7

null 8


9 rows selected.


gSQL>


ALTER CLUSTER GROUP g4 ADD

CLUSTER MEMBER g4n1 HOST '127.0.0.1' PORT 14150 POSITION 6;


Cluster Group altered.

16523 (SQLSTATE: 08S01): the database system is shutting down

Cause

SQL statement was executed during the shutdown.

Action

SQL statement can not be executed during the shutdown.

16524 (SQLSTATE: 42000): package specification '%s' does not exist. package body requires its package specification

Cause

The package specification is not valid, so the package body can not be compiled.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.


gSQL>


CREATE PACKAGE pkg1

AS

v1 t1.c1%TYPE;

FUNCTION f1 RETURN INTEGER;

END;

/


Package created.


gSQL>


CREATE PACKAGE BODY pkg1

AS

FUNCTION f1 RETURN INTEGER

AS

BEGIN

RETURN v1;

END;

END;

/


Package created.


gSQL> DROP TABLE t1;


Table dropped.


gSQL> ALTER PACKAGE pkg1 COMPILE BODY;


ERR-2F000(17102): PACKAGE(PKG1) Body has compilation errors :

(1) : ERR-42000(16524): Cannot compile package body of 'PUBLIC.PKG1' without its specification

Package altered.

Action

Correct the cause of the package specification error, then compile the package body.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.


gSQL> ALTER PACKAGE pkg1 COMPILE BODY;


Package altered.

16525 (SQLSTATE: 42000): duplicate name found in WITH name list for WITH clause

Cause

The duplicate WITH name was used.


gSQL>


WITH w1 AS ( SELECT name FROM t1 WHERE id = 1 )

, w1 AS ( SELECT name FROM t1 WHERE id = 2 )

SELECT name FROM w1;


ERR-42000(16525): duplicate name found in WITH name list for WITH clause :

, w1 AS ( SELECT name FROM t1 WHERE id = 2 )

*

ERROR at line 2:

Action

Modify it so that duplicate WITH names do not exist as follows.


gSQL>


WITH w1 AS ( SELECT name FROM t1 WHERE id = 1 )

, w2 AS ( SELECT name FROM t1 WHERE id = 2 )

SELECT name FROM w1;


NAME

----

kim


1 row selected.

16526 (SQLSTATE: 42000): only recursive WITH element can have recursive search clause

Cause

SEARCH clause can not be used.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

) SEARCH DEPTH FIRST BY emp SET w_seq

SELECT * FROM w1;


ERR-42000(16526): only recursive WITH element can have recursive search clause :

) SEARCH DEPTH FIRST BY emp SET w_seq

*

ERROR at line 6:

Action

SEARCH clause can be used only in the recursive WITH clause.


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH DEPTH FIRST BY emp SET w_seq

SELECT * FROM w1;


EMP MGR W_SEQ

---- ---- -----

kim null 1

choi kim 2

park kim 3

tom park 4


4 rows selected.

16527 (SQLSTATE: 42000): only recursive WITH element can have recursive cycle clause

Cause

CYCLE clause can not be used.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

) CYCLE emp SET w_cycle TO 1 DEFAULT 0

SELECT * FROM w1;


ERR-42000(16527): only recursive WITH element can have recursive cycle clause :

) CYCLE emp SET w_cycle TO 1 DEFAULT 0

*

ERROR at line 6:

Action

CYCLE clause can be used only in the recursive WITH clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp SET w_cycle TO 1 DEFAULT 0

SELECT * FROM w1;


EMP MGR W_CYCLE

---- ---- -------

kim null 0

park kim 0

choi kim 0

tom park 0


4 rows selected.

16528 (SQLSTATE: 42000): illegal reference of a query name in WITH clause

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16529 (SQLSTATE: 42000): recursive query name referenced more than once in recursive branch of recursive WITH clause element

Cause

The recursive query name (w1) was used in multiple recursive branches.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)

SELECT * FROM w1;


ERR-42000(16529): recursive query name referenced more than once in recursive branch of recursive WITH clause element :

FROM t1, w1

*

ERROR at line 12:

Action

Describe the recursive query name (w1) only in the last UNION ALL.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1

WHERE t1.emp = 'park'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)

SELECT * FROM w1;


EMP MGR

---- ----

kim null

park kim

park kim

choi kim

tom park

tom park


6 rows selected.

16530 (SQLSTATE: 42000): number of WITH clause column names does not match number of elements in select list

Cause

The number of columns in WITH clause and the number of columns in SELECT are different.


gSQL>


WITH w1 ( emp, mgr, invalid ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)


SELECT * FROM w1;


ERR-42000(16530): number of WITH clause column names does not match number of elements in select list :

WITH w1 ( emp, mgr, invalid ) AS

*

ERROR at line 1:

Action

Match the number of columns in WITH clause to the number of columns in SELECT.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

)

SELECT * FROM w1;


EMP MGR

---- ----

kim null

park kim

choi kim

tom park


4 rows selected.

16531 (SQLSTATE: 42000): sequence column name for SEARCH clause must not be part of the column alias list

Cause

The sequence name in SEARCH clause should be different from WITH column alias.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp SET emp

SELECT * FROM w1;


ERR-42000(16531): sequence column name for SEARCH clause must not be part of the column alias list :

) SEARCH BREADTH FIRST BY emp SET emp

*

ERROR at line 10:

Action

Use the sequence name in SEARCH clause which is different from WITH column alias.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp SET seq

SELECT * FROM w1;


EMP MGR SEQ

---- ---- ---

kim null 1

choi kim 2

park kim 3

tom park 4


4 rows selected.

16532 (SQLSTATE: 42000): cycle mark column name for CYCLE clause must not be part of the column alias list

Cause

The mark column name in CYCLE clause should be different from WITH column alias.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp SET mgr TO 'T' DEFAULT 'F'

SELECT * FROM w1;


ERR-42000(16532): cycle mark column name for CYCLE clause must not be part of the column alias list :

) CYCLE emp SET mgr TO 'T' DEFAULT 'F'

*

ERROR at line 10:

Action

Use the mark column name in CYCLE clause which is different from WITH column alias.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp SET cyl TO 'T' DEFAULT 'F'

SELECT * FROM w1;


EMP MGR CYL

---- ---- ---

kim null F

park kim F

choi kim F

tom park F


4 rows selected.

16533 (SQLSTATE: 42000): sequence column for SEARCH clause must be different from the cycle mark column for CYCLE clause

Cause

The mark column name in CYCLE clause should be different from the sequence column in SEARCH clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp SET x1

CYCLE emp SET x1 TO 'T' DEFAULT 'F'

SELECT * FROM w1;


ERR-42000(16533): sequence column for SEARCH clause must be different from the cycle mark column for CYCLE clause :

) SEARCH BREADTH FIRST BY emp SET x1

*

ERROR at line 10:

Action

Use different names as follows.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp SET x1

CYCLE emp SET x2 TO 'T' DEFAULT 'F'

SELECT * FROM w1;


EMP MGR X1 X2

---- ---- -- --

kim null 1 F

choi kim 2 F

park kim 3 F

tom park 4 F


4 rows selected.

16534 (SQLSTATE: 42000): element in sort specification list of SEARCH clause did not appear in the column alias list of the WITH clause element

Cause

The sort column in SEARCH clause does not exist in the column list of WITH clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY invalid SET seq


SELECT * FROM w1;


ERR-42000(16534): element in sort specification list of SEARCH clause did not appear in the column alias list of the WITH clause element :

) SEARCH BREADTH FIRST BY invalid SET seq

*

ERROR at line 10:

Action

Use the column list of WITH clause for the sort column in SEARCH clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp SET seq

SELECT * FROM w1;


EMP MGR SEQ

---- ---- ---

kim null 1

choi kim 2

park kim 3

tom park 4


4 rows selected.

16535 (SQLSTATE: 42000): element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element

Cause

The column for CYCLE test does not exist in WITH column list.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE invalid SET cyc TO 'T' DEFAULT 'F'

SELECT * FROM w1;


ERR-42000(16535): element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element :

) CYCLE invalid SET cyc TO 'T' DEFAULT 'F'

*

ERROR at line 10:

Action

Use the column list in WITH clause for CYCLE column.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp SET cyc TO 'T' DEFAULT 'F'

SELECT * FROM w1;


EMP MGR CYC

---- ---- ---

kim null F

park kim F

choi kim F

tom park F


4 rows selected.

16536 (SQLSTATE: 42000): duplicate name found in search column list for SEARCH clause of WITH clause

Cause

Duplicate names were used in SEARCH clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp, emp SET seq

SELECT * FROM w1;


ERR-42000(16536): duplicate name found in search column list for SEARCH clause of WITH clause :

) SEARCH BREADTH FIRST BY emp, emp SET seq

*

ERROR at line 10:

Action

Use different column names in SEARCH clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) SEARCH BREADTH FIRST BY emp, mgr SET seq

SELECT * FROM w1;


EMP MGR SEQ

---- ---- ---

kim null 1

choi kim 2

park kim 3

tom park 4


4 rows selected.

16537 (SQLSTATE: 42000): duplicate name found in cycle column list for CYCLE clause of WITH clause

Cause

Duplicate names were used in CYCLE clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, emp SET cyc TO 'T' DEFAULT 'F'

SELECT * FROM w1;


ERR-42000(16537): duplicate name found in cycle column list for CYCLE clause of WITH clause :

) CYCLE emp, emp SET cyc TO 'T' DEFAULT 'F'

*

ERROR at line 10:

Action

Use different column names in CYCLE clause.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, mgr SET cyc TO 'T' DEFAULT 'F'


SELECT * FROM w1;


EMP MGR CYC

---- ---- ---

kim null F

park kim F

choi kim F

tom park F


4 rows selected.

16538 (SQLSTATE: 42000): cycle mark value and non-cycle mark value must be one byte character string values

Cause

Only 1 byte character is allowed for the cycle mark value.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, mgr SET cyc TO 'TRUE' DEFAULT 'F'

SELECT * FROM w1;


ERR-42000(16538): cycle mark value and non-cycle mark value must be one byte character string values :

) CYCLE emp, mgr SET cyc TO 'TRUE' DEFAULT 'F'

*

ERROR at line 10:

Action

Use 1 byte character for the cycle mark value.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, mgr SET cyc TO 'T' DEFAULT 'F'


SELECT * FROM w1;


EMP MGR CYC

---- ---- ---

kim null F

park kim F

choi kim F

tom park F


4 rows selected.

16539 (SQLSTATE: 42000): cycle value for CYCLE clause must be different from the non-cycle value

Cause

The cycle value and the non-cycle value are same.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, mgr SET cyc TO 'O' DEFAULT 'O'

SELECT * FROM w1;


ERR-42000(16539): cycle value for CYCLE clause must be different from the non-cycle value :

) CYCLE emp, mgr SET cyc TO 'O' DEFAULT 'O'

*

ERROR at line 10:

Action

Use different mark values as follows.


gSQL>


WITH w1 ( emp, mgr ) AS

(

SELECT emp, mgr

FROM t1

WHERE emp = 'kim'

UNION ALL

SELECT t1.emp, t1.mgr

FROM t1, w1

WHERE t1.mgr = w1.emp

) CYCLE emp, mgr SET cyc TO 'O' DEFAULT 'X'

SELECT * FROM w1;


EMP MGR CYC

---- ---- ---

kim null X

park kim X

choi kim X

tom park X


4 rows selected.

16540 (SQLSTATE: 42000): multiple WITH clauses not allowed

Cause

WITH clause can not be used multiple times.


gSQL>


WITH w1 AS ( SELECT emp, mgr FROM t1 )

(

WITH w2 AS ( SELECT emp, mgr FROM w1 WHERE emp = 'park' )

SELECT * FROM w2

);


ERR-42000(16540): multiple WITH clauses not allowed :

WITH w1 AS ( SELECT emp, mgr FROM t1 )

*

ERROR at line 1:

Action

List query names in order in a single WITH clause as follows.


gSQL>


WITH w1 AS ( SELECT emp, mgr FROM t1 )

, w2 AS ( SELECT emp, mgr FROM w1 WHERE emp = 'park' )

SELECT * FROM w2;


EMP MGR

---- ---

park kim


1 row selected.

16541 (SQLSTATE: 42000): cannot affect row a second time

Cause

A row is UPDATEd twice when upserting.


DROP TABLE t1;

CREATE TABLE t1 ( c1 INTEGER UNIQUE );

INSERT INTO t1 VALUES ( 1 );

COMMIT;


gSQL> SELECT * FROM t1;


C1

--

1


1 row selected.


gSQL> INSERT INTO t1 VALUES ( 1 ), ( 1 ) ON DUPLICATE KEY UPDATE SET c1 = c1 + 1;


ERR-42000(16541): cannot affect row a second time

Action

Prevent a row from being affected twice as follows.


gSQL> INSERT INTO t1 VALUES ( 1 ) ON DUPLICATE KEY UPDATE SET c1 = c1 + 1;


1 row created.


gSQL> INSERT INTO t1 VALUES ( 1 ) ON DUPLICATE KEY UPDATE SET c1 = c1 + 1;


1 row created.


gSQL> SELECT * FROM t1;


C1

--

1

2


2 rows selected.

16542 (SQLSTATE: 42000): upsert not allowed for the row that caused more than one unique constraint violation

Cause

An upsert which causes two or more unique violations is not allowed.


DROP TABLE t1;

CREATE TABLE t1 ( c1 INTEGER UNIQUE , c2 INTEGER UNIQUE );

INSERT INTO t1 VALUES ( 1, 1 );

INSERT INTO t1 VALUES ( 2, 2 );

INSERT INTO t1 VALUES ( 3, 3 );

COMMIT;


gSQL> SELECT * FROM t1;


C1 C2

-- --

1 1

2 2

3 3


3 rows selected.


gSQL> INSERT INTO t1 VALUES ( 1, 2 ) ON DUPLICATE KEY UPDATE SET c1 = c1 + 1;


ERR-42000(16542): upsert not allowed for the row that caused more than one unique constraint violation

Action

Do not cause two or more unique violations.


gSQL> INSERT INTO t1 VALUES ( 3, 4 ) ON DUPLICATE KEY UPDATE SET c1 = c1 + 1;


1 row created.


gSQL> SELECT * FROM t1;


C1 C2

-- --

1 1

2 2

4 3


3 rows selected.

16543 (SQLSTATE: 42000): upsert is not allowed for the table with a deferrable constraint (%s.%s)

Cause

The upsert statement is not executable while the constraint is set to DEFERRED.


DROP TABLE t1;

CREATE TABLE t1 ( id INTEGER PRIMARY KEY DEFERRABLE INITIALLY IMMEDIATE, cnt INTEGER );

INSERT INTO t1 VALUES ( 1, 1 );

COMMIT;


gSQL> SET CONSTRAINTS ALL DEFERRED;


Constraints set.


gSQL> INSERT INTO t1 VALUES ( 1, 1 ) ON DUPLICATE KEY UPDATE SET cnt = cnt + 1;


ERR-42000(16543): upsert is not allowed for the table with a deferrable constraint (PUBLIC.T1_PRIMARY_KEY)

Action

Set the constraint to IMMEDIATE, then execute it.


gSQL> SET CONSTRAINTS ALL IMMEDIATE;


Constraints set.


gSQL> INSERT INTO t1 VALUES ( 1, 1 ) ON DUPLICATE KEY UPDATE SET cnt = cnt + 1;


1 row created.

16544 (SQLSTATE: 01000): Warning: Package '%s.%s' has compilation errors

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16545 (SQLSTATE: 42R02): cloned table "%s"."%s" must have at least one online usable replica

Cause

This error occurs in a table of type CLONED when all replicas are in the OFFLINE state and an inactive member exists. Executing the following statements under this condition results in an error.


The following example shows a case in a 2×2 cluster where all replicas are OFFLINE and an inactive member exists.


gSQL> SELECT map.group_id, map.member_id, map.is_offline

2 FROM table_member_map@local map,

3 definition_schema.tables@local tbl

4 WHERE map.table_id = tbl.table_id AND tbl.table_name = 'T1'

5 ORDER BY 1, 2

6 ;


GROUP_ID MEMBER_ID IS_OFFLINE

-------- --------- ----------

1 1 TRUE

1 2 TRUE

2 3 TRUE

2 4 TRUE


4 rows selected.


gSQL> SELECT member_id, STATUS FROM v$cluster_member@local;


MEMBER_ID STATUS

--------- --------

1 ACTIVE

2 ACTIVE

3 ACTIVE

4 INACTIVE


4 rows selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


ERR-42R02(16545): cloned table "PUBLIC"."T1" must have at least one online usable replica

Action

The ALTER TABLE name SYNCHRONIZE statement fails because an inactive member is present. Add all inactive members back to the cluster and then try again.


gSQL> SELECT local_member_id() FROM dual;


LOCAL_MEMBER_ID()

-----------------

4


1 row selected.


gSQL> ALTER SYSTEM JOIN DATABASE;


System altered.


gSQL> SELECT member_id, STATUS FROM v$cluster_member@local;


MEMBER_ID STATUS

--------- ------

1 ACTIVE

2 ACTIVE

3 ACTIVE

4 ACTIVE


4 rows selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


Table altered.

16546 (SQLSTATE: 42R02): sharded table "%s"."%s" must have at least one online usable replica of group '%s'

Cause

This error occurs in a table of type SHARDED when all replicas in a specific group are in the OFFLINE state and an inactive member exists within the group. Executing the following statements under this condition results in an error.


The following example shows a case in a 2×2 cluster where all replicas in g2 are OFFLINE and an inactive member exists in the group.


gSQL> SELECT map.group_id, map.member_id, map.is_offline

2 FROM table_member_map@local map,

3 definition_schema.tables@local tbl

4 WHERE map.table_id = tbl.table_id AND tbl.table_name = 'T1'

5 ORDER BY 1, 2

6 ;


GROUP_ID MEMBER_ID IS_OFFLINE

-------- --------- ----------

1 1 FALSE

1 2 FALSE

2 3 TRUE

2 4 TRUE


4 rows selected.


gSQL> SELECT group_id, member_id, STATUS FROM v$cluster_member@local;


MEMBER_ID STATUS

--------- --------

1 ACTIVE

2 ACTIVE

3 ACTIVE

4 INACTIVE


4 rows selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


ERR-42R02(16546): sharded table "PUBLIC"."T1" must have at least one online usable replica of group 'G2'

Action

Add all inactive members back to the cluster and then try again.


gSQL> SELECT local_member_id() FROM dual;


LOCAL_MEMBER_ID()

-----------------

4


1 row selected.


gSQL> ALTER SYSTEM JOIN DATABASE;


System altered.


gSQL> SELECT member_id, STATUS FROM v$cluster_member@local;


MEMBER_ID STATUS

--------- ------

1 ACTIVE

2 ACTIVE

3 ACTIVE

4 ACTIVE


4 rows selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


Table altered.

16547 (SQLSTATE: 01000): of the total '%d' tables in the database, '%d' tables have offline replica

Cause

The ALTER SYSTEM {MOUNT | OPEN} DATABASE statement attempts to change replicas in the OFFLINE state to ONLINE after all members have joined the cluster.

This warning message is generated when a table cannot be converted to the ONLINE state.

The transition to ONLINE fails when the SCN of an ONLINE replica is greater than the SCN of an OFFLINE replica.


The following example shows a case where the replica of table t1 could not be converted to the ONLINE state when the ALTER SYSTEM OPEN GLOBAL DATABASE statement was executed in a 1×2 cluster with only the g1 group.


gSQL> ALTER SYSTEM OPEN GLOBAL DATABASE;


ERR-01000(16547): of the total '4' tables in the database, '1' tables have offline replica

System altered.


gSQL> SELECT global_scn FROM gv$relation@g1n1 WHERE name = 'T1';


GLOBAL_SCN

----------

9.1.0


1 row selected.


gSQL> SELECT global_scn FROM gv$relation@g1n2 WHERE name = 'T1';


GLOBAL_SCN

----------

5.0.0


1 row selected.

Action

Execute the ALTER TABLE name SYNCHRONIZE or ALTER DATABASE SYNCHRONIZE statement to synchronize the table and convert it to the ONLINE state.


gSQL> SELECT map.group_id, map.member_id, map.is_offline

2 FROM table_member_map@local map,

3 definition_schema.tables@local tbl

4 WHERE map.table_id = tbl.table_id AND tbl.table_name = 'T1'

5 ORDER BY 1, 2

6 ;


GROUP_ID MEMBER_ID IS_OFFLINE

-------- --------- ----------

1 1 FALSE

1 2 TRUE


2 rows selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


Table altered.


gSQL> SELECT map.group_id, map.member_id, map.is_offline

2 FROM table_member_map@local map,

3 definition_schema.tables@local tbl

4 WHERE map.table_id = tbl.table_id AND tbl.table_name = 'T1'

5 ORDER BY 1, 2

6 ;


GROUP_ID MEMBER_ID IS_OFFLINE

-------- --------- ----------

1 1 FALSE

1 2 FALSE


2 rows selected.

16548 (SQLSTATE: 01000): of the total '%d' tables in the member to be dropped, %d' tables have offline replica

Cause

The ALTER DATABASE DROP FORCE INACTIVE CLUSTER MEMBERS statement drops inactive members and then attempts to change replicas in the OFFLINE state to ONLINE.

This warning message is generated when a table cannot be converted to the ONLINE state.

The transition to ONLINE fails when the SCN of an ONLINE replica is greater than the SCN of an OFFLINE replica.


The following example shows a case where an inactive member (g1n3) is forcibly dropped in a 1×3 cluster with only the g1 group.


gSQL> SELECT member_id, status FROM v$cluster_member@local;


MEMBER_ID STATUS

--------- --------

1 ACTIVE

2 ACTIVE

3 INACTIVE


3 rows selected.


gSQL> ALTER DATABASE DROP FORCE INACTIVE CLUSTER MEMBERS;


ERR-01000(16548): of the total '4' tables in the member to be dropped, '1' tables have offline replica

Database altered.


gSQL> SELECT global_scn FROM gv$relation@g1n1 WHERE name = 'T1';


GLOBAL_SCN

----------

15.1.0


1 row selected.


gSQL> SELECT global_scn FROM gv$relation@g1n2 WHERE name = 'T1';


GLOBAL_SCN

----------

7.0.0


1 row selected.

Action

Execute the ALTER TABLE name SYNCHRONIZE or ALTER DATABASE SYNCHRONIZE TABLE statement to synchronize the table and convert it to the ONLINE state.


gSQL> SELECT map.group_id, map.member_id, map.is_offline

2 FROM table_member_map@local map,

3 definition_schema.tables@local tbl

4 WHERE map.table_id = tbl.table_id AND tbl.table_name = 'T1'

5 ORDER BY 1, 2

6 ;


GROUP_ID MEMBER_ID IS_OFFLINE

-------- --------- ----------

1 1 FALSE

1 2 TRUE


2 rows selected.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


Table altered.


gSQL> SELECT map.group_id, map.member_id, map.is_offline

2 FROM table_member_map@local map,

3 definition_schema.tables@local tbl

4 WHERE map.table_id = tbl.table_id AND tbl.table_name = 'T1'

5 ORDER BY 1, 2

6 ;


GROUP_ID MEMBER_ID IS_OFFLINE

-------- --------- ----------

1 1 FALSE

1 2 FALSE


2 rows selected.

16549 (SQLSTATE: 42000): invalid bind parameter

Cause

The bind parameter us not valid.


gSQL> DECLARE cur1 CURSOR FOR SELECT id, name FROM t1;


Cursor declared.


gSQL> OPEN cur1;


Cursor is open.


gSQL> \var v_id INTEGER


gSQL> \var v_name VARCHAR(32)


gSQL> FETCH cur1 INTO v_id, :v_name;


ERR-42000(16549): invalid bind parameter :

FETCH cur1 INTO v_id, :v_name

*

ERROR at line 1:

Action

Use the host variable together with (:) as follows.


gSQL> FETCH cur1 INTO :v_id, :v_name;


V_ID V_NAME

---- ------

1 kim


1 row fetched.

16550 (SQLSTATE: HY000): failed to offline the already dropped cluster member

Cause

This is an error code used within the server.

Action

No action is required.

16551 (SQLSTATE: HY000): shutdown cannot be performed on ipc

Cause

The shutdown is not executable in IPC connection.

Action

Execute the shutdown with TCP connection.

16552 (SQLSTATE: 42000): cannot execute on NODE SHARDED table

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16553 (SQLSTATE: 42000): of the total '%d' tables, '%d' tables failed to drop offline segments

Cause

The ALTER DATABASE DROP OFFLINE SEGMENTS statement failed to remove the segment of a specific table.

In most cases, the failure occurs because the required lock cannot be acquired during concurrency control.

Action

Increase the value of DDL_LOCK_TIMEOUT and execute the statement again.

16554 (SQLSTATE: 42000): NODE SHARDED table cannot be synchronized

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16555 (SQLSTATE: 42000): of the total '%d' tables, '%d' tables failed to synchronize

Cause

The synchronization of some tables was not normally completed.


gSQL> ALTER DATABASE SYNCHRONIZE;


ERR-42000(16379): of the total '5' tables, '2' tables failed to synchronize :

concurrent execution : 2

inactive member : 0

replica usablility : 0

offline tablespace : 0

others : 0


Database altered.


  • concurrent execution

    • Failure caused by concurrency issues with other sessions

  • inactive member

    • All replicas of active members are offline and there is at least one inactive member

  • replica usability

    • The local replica is in an unusable state, or

    • All replicas of active members are unusable

  • offline tablespace

    • The local replica is created in an offline tablespace

  • others

    • Any cases not covered by the above causes

Action

  • concurrent execution

    • Stop DDL execution in other sessions due to concurrency issues and retry.

  • inactive member

    • Join the inactive member to the cluster and retry.

  • replica usability

  • offline tablespace

  • others

    • Check the cause in system.trc, take corrective action, and retry.

16556 (SQLSTATE: 42000): scan partition is out of range( 1 to %d )

Cause

When executing the following statements, the specified SCAN PARTITION value exceeded the maximum allowed value (1000).


gSQL> ALTER TABLE t1 REORGANIZE SCAN PARTITION 1001;


ERR-42000(16556): scan partition is out of range( 1 to 1000 ) :

ALTER TABLE t1 REORGANIZE SCAN PARTITION 1001

*

ERROR at line 1:

Action

Change the SCAN PARTITION value to 1000 or less, and then execute the statement again.

16557 (SQLSTATE: 42000): duplicate window name specified

Cause

The duplicate window name was declared.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER w1 AS year_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

, w1 AS ( PARTITION BY s_quarter )

;


ERR-42000(16557): duplicate window name specified :

, w1 AS ( PARTITION BY s_quarter )

*

ERROR at line 7:

Action

Use different window names as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER w1 AS year_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

, w2 AS ( PARTITION BY s_quarter )

;


S_YEAR S_QUARTER S_REVENUE YEAR_SUM

------ --------- --------- --------

2010 1/4 100 800

2010 2/4 200 800

2010 3/4 300 800

2010 4/4 200 800

2011 1/4 100 770

2011 2/4 220 770

2011 3/4 250 770

2011 4/4 200 770


8 rows selected.

16558 (SQLSTATE: 42000): window does not exist

Cause

The window does not exist.


gSQL> SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER w_invalid AS year_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

;


ERR-42000(16558): window does not exist :

, SUM( s_revenue ) OVER w_invalid AS year_sum

*

ERROR at line 4:

Action

Use the declared window name as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER w1 AS year_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

;


S_YEAR S_QUARTER S_REVENUE YEAR_SUM

------ --------- --------- --------

2010 1/4 100 800

2010 2/4 200 800

2010 3/4 300 800

2010 4/4 200 800

2011 1/4 100 770

2011 2/4 220 770

2011 3/4 250 770

2011 4/4 200 770


8 rows selected.

16559 (SQLSTATE: 42000): missing ORDER BY expression in the window specification

Cause

Use it together with ORDER BY clause to use the window frame clause.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w1 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

;


ERR-42000(16559): missing ORDER BY expression in the window specification :

, SUM( s_revenue ) OVER ( w1 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) AS until_sum

*

ERROR at line 4:

Action

Describe ORDER BY together in OVER clause as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w1 ORDER BY s_quarter ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

;


S_YEAR S_QUARTER S_REVENUE UNTIL_SUM

------ --------- --------- ---------

2010 1/4 100 100

2010 2/4 200 300

2010 3/4 300 600

2010 4/4 200 800

2011 1/4 100 100

2011 2/4 220 320

2011 3/4 250 570

2011 4/4 200 770


8 rows selected.

16560 (SQLSTATE: 42000): DISTINCT is not implemented for window functions

Cause

DISTINCT can not be described in the window function.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( DISTINCT s_revenue ) OVER w1 AS year_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

;


ERR-42000(16560): DISTINCT is not implemented for window functions :

, SUM( DISTINCT s_revenue ) OVER w1 AS year_sum

*

ERROR at line 4:

Action

Drop DISTINCT from the window function.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER w1 AS year_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

;


S_YEAR S_QUARTER S_REVENUE YEAR_SUM

------ --------- --------- --------

2010 1/4 100 800

2010 2/4 200 800

2010 3/4 300 800

2010 4/4 200 800

2011 1/4 100 770

2011 2/4 220 770

2011 3/4 250 770

2011 4/4 200 770


8 rows selected.

16561 (SQLSTATE: 42000): frame start cannot be UNBOUNDED FOLLOWING

Cause

UNBOUNDED FOLLOWING can not be used in the start of the window frame.


gSQL> SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN UNBOUNDED FOLLOWING AND CURRENT ROW ) AS until_sum

FROM t1

;


ERR-42000(16561): frame start cannot be UNBOUNDED FOLLOWING :

ROWS BETWEEN UNBOUNDED FOLLOWING AND CURRENT ROW ) AS until_sum

*

ERROR at line 5:

Action

Use UNBOUNDED PRECEDING in the start of the window frame.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS until_sum

FROM t1

;


S_YEAR S_QUARTER S_REVENUE UNTIL_SUM

------ --------- --------- ---------

2010 1/4 100 100

2010 2/4 200 300

2010 3/4 300 600

2010 4/4 200 800

2011 1/4 100 100

2011 2/4 220 320

2011 3/4 250 570

2011 4/4 200 770


8 rows selected.

16562 (SQLSTATE: 42000): frame end cannot be UNBOUNDED PRECEDING

Cause

UNBOUNDED PRECEDING can not be used in the window frame end.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN CURRENT ROW AND UNBOUNDED PRECEDING ) AS after_sum

FROM t1

;


ERR-42000(16562): frame end cannot be UNBOUNDED PRECEDING :

ROWS BETWEEN CURRENT ROW AND UNBOUNDED PRECEDING ) AS after_sum

*

ERROR at line 5:

Action

Use UNBOUNDED FOLLOWING in the end of the window frame.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) AS after_sum

FROM t1

;


S_YEAR S_QUARTER S_REVENUE AFTER_SUM

------ --------- --------- ---------

2010 1/4 100 800

2010 2/4 200 700

2010 3/4 300 500

2010 4/4 200 200

2011 1/4 100 770

2011 2/4 220 670

2011 3/4 250 450

2011 4/4 200 200


8 rows selected.

16563 (SQLSTATE: 42000): frame starting from current row cannot have preceding rows

Cause

If the window frame start is CURRENT ROW, then PRECEDING can not be described in the frame end.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN CURRENT ROW AND 1 PRECEDING ) AS sum_two_quarter

FROM t1

;


ERR-42000(16563): frame starting from current row cannot have preceding rows :

ROWS BETWEEN CURRENT ROW AND 1 PRECEDING ) AS sum_two_quarter

*

ERROR at line 5:

Action

If the window frame start is CURRENT ROW, then describe FOLLOWING in the frame end.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ) AS sum_two_quarter

FROM t1

;


S_YEAR S_QUARTER S_REVENUE SUM_TWO_QUARTER

------ --------- --------- ---------------

2010 1/4 100 300

2010 2/4 200 500

2010 3/4 300 500

2010 4/4 200 200

2011 1/4 100 320

2011 2/4 220 470

2011 3/4 250 450

2011 4/4 200 200


8 rows selected.

16564 (SQLSTATE: 42000): frame starting from following row cannot have preceding rows

Cause

If the window frame start is FOLLOWING, then PRECEDING can not be used in the window frame end.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN 1 FOLLOWING AND 1 PRECEDING ) AS sum_two_quarter

FROM t1

;


ERR-42000(16564): frame starting from following row cannot have preceding rows :

ROWS BETWEEN 1 FOLLOWING AND 1 PRECEDING ) AS sum_two_quarter

*

ERROR at line 5:

Action

If the window frame start is FOLLOWING, then use FOLLOWING in the window frame end as well.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING ) AS sum_two_quarter

FROM t1

;


S_YEAR S_QUARTER S_REVENUE SUM_TWO_QUARTER

------ --------- --------- ---------------

2010 1/4 100 500

2010 2/4 200 500

2010 3/4 300 200

2010 4/4 200 null

2011 1/4 100 470

2011 2/4 220 450

2011 3/4 250 200

2011 4/4 200 null


8 rows selected.

16565 (SQLSTATE: 42000): window functions are not allowed here

Cause

The window function can not be used in WHERE clause.


gSQL> SELECT s_year

, s_quarter

, s_revenue

FROM t1

WHERE SUM( s_revenue ) OVER () > 0

;


ERR-42000(16565): window functions are not allowed here :

WHERE SUM( s_revenue ) OVER () > 0

*

ERROR at line 5:

Action

Use the window function in SELECT, ORDER BY.


gSQL> SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER () AS total_sum

FROM t1

WHERE s_revenue > 0

;


S_YEAR S_QUARTER S_REVENUE TOTAL_SUM

------ --------- --------- ---------

2010 1/4 100 1570

2010 2/4 200 1570

2010 3/4 300 1570

2010 4/4 200 1570

2011 1/4 100 1570

2011 2/4 220 1570

2011 3/4 250 1570

2011 4/4 200 1570


8 rows selected.

16566 (SQLSTATE: 42000): window specification referencing a window name cannot have PARTITION BY clause

Cause

The window definition (w2) referring to another window name (w1) can not use PARTITION BY clause.


gSQL> SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w2 ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

, w2 AS ( w1 PARTITION BY s_quarter )

;


ERR-42000(16566): window specification referencing a window name cannot have PARTITION BY clause :

, w2 AS ( w1 PARTITION BY s_quarter )

*

ERROR at line 7:

Action

The window definition (w2) referring to another window name (w1) can describe ORDER BY and the window frame.


gSQL> SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w2 ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year )

, w2 AS ( w1 ORDER BY s_quarter )

;


S_YEAR S_QUARTER S_REVENUE UNTIL_SUM

------ --------- --------- ---------

2010 1/4 100 100

2010 2/4 200 300

2010 3/4 300 600

2010 4/4 200 800

2011 1/4 100 100

2011 2/4 220 320

2011 3/4 250 570

2011 4/4 200 770


8 rows selected.

16567 (SQLSTATE: 42000): referenced window name with ORDER BY clause specified already

Cause

The referenced window name(w1) already includes ORDER BY clause.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w1 ORDER BY s_quater ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year ORDER BY s_quarter )

;


ERR-42000(16567): referenced window name with ORDER BY clause specified already :

, SUM( s_revenue ) OVER ( w1 ORDER BY s_quater ) AS until_sum

*

ERROR at line 4:

Action

Drop ORDER BY from OVER () clause as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w1 ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year ORDER BY s_quarter )

;


S_YEAR S_QUARTER S_REVENUE UNTIL_SUM

------ --------- --------- ---------

2010 1/4 100 100

2010 2/4 200 300

2010 3/4 300 600

2010 4/4 200 800

2011 1/4 100 100

2011 2/4 220 320

2011 3/4 250 570

2011 4/4 200 770


8 rows selected.

16568 (SQLSTATE: 42000): cannot reference a window name defined with WINDOW FRAME clause

Cause

The referring window name already includes the window frame.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( w1 ) AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW )

;


ERR-42000(16568): cannot reference a window name defined with WINDOW FRAME clause :

, SUM( s_revenue ) OVER ( w1 ) AS until_sum

*

ERROR at line 4:

Action

If it is OVER ( w1 ), then the default window frame is applied, so use OVER w1 without parenthesis.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER w1 AS until_sum

FROM t1

WINDOW w1 AS ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW )

;


S_YEAR S_QUARTER S_REVENUE UNTIL_SUM

------ --------- --------- ---------

2010 1/4 100 100

2010 2/4 200 300

2010 3/4 300 600

2010 4/4 200 800

2011 1/4 100 100

2011 2/4 220 320

2011 3/4 250 570

2011 4/4 200 770


8 rows selected.

16569 (SQLSTATE: 42000): window frame offset must not be negative

Cause

The offset value of the window frame should not be a negative number.


gSQL> SELECT s_year


, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN -1 PRECEDING AND 1 FOLLOWING ) AS sum_three_quarter

FROM t1

;


ERR-42000(16569): window frame offset must not be negative

Action

Use a positive number as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING ) AS sum_three_quarter

FROM t1

;


S_YEAR S_QUARTER S_REVENUE SUM_THREE_QUARTER

------ --------- --------- -----------------

2010 1/4 100 300

2010 2/4 200 600

2010 3/4 300 700

2010 4/4 200 500

2011 1/4 100 320

2011 2/4 220 570

2011 3/4 250 670

2011 4/4 200 450


8 rows selected.

16570 (SQLSTATE: 42000): RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column

Cause

When using RANGE offset, ORDER BY clause should be a single column.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, MAX( s_year ) OVER w1 AS max_year

, MAX( s_quarter ) OVER w1 AS max_quarter

FROM t1

WINDOW w1 AS ( ORDER BY s_revenue, s_year

RANGE BETWEEN 50 PRECEDING AND 50 FOLLOWING )

;


ERR-42000(16570): RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column :

WINDOW w1 AS ( ORDER BY s_revenue, s_year

*

ERROR at line 7:

Action

Describe only one column corresponding to RANGE offset in ORDER BY clause as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, MAX( s_year ) OVER w1 AS max_year

, MAX( s_quarter ) OVER w1 AS max_quarter

FROM t1

WINDOW w1 AS ( ORDER BY s_revenue

RANGE BETWEEN 50 PRECEDING AND 50 FOLLOWING )

;


S_YEAR S_QUARTER S_REVENUE MAX_YEAR MAX_QUARTER

------ --------- --------- -------- -----------

2010 1/4 100 2011 1/4

2011 1/4 100 2011 1/4

2010 2/4 200 2011 4/4

2010 4/4 200 2011 4/4

2011 4/4 200 2011 4/4

2011 2/4 220 2011 4/4

2011 3/4 250 2011 4/4

2010 3/4 300 2011 3/4


8 rows selected.

16571 (SQLSTATE: 42000): RANGE with offset PRECEDING/FOLLOWING is not supported for column type

Cause

It is the data type in which RANGE offset can not be used.


gSQL> SELECT s_year


, s_quarter

, s_revenue

, MAX( s_quarter ) OVER ( PARTITION BY s_year ORDER BY s_quarter

RANGE BETWEEN 50 PRECEDING AND 50 FOLLOWING ) AS max_quarter

FROM t1

;


ERR-42000(16571): RANGE with offset PRECEDING/FOLLOWING is not supported for column type :

, MAX( s_quarter ) OVER ( PARTITION BY s_year ORDER BY s_quarter

*

ERROR at line 4:

Action

RANGE offset allows only the number and the datetime.


gSQL> SELECT s_year


, s_quarter

, s_revenue

, MAX( s_quarter ) OVER ( PARTITION BY s_year ORDER BY s_revenue

RANGE BETWEEN 50 PRECEDING AND 50 FOLLOWING ) AS max_quarter

FROM t1

;


S_YEAR S_QUARTER S_REVENUE MAX_QUARTER

------ --------- --------- -----------

2010 1/4 100 1/4

2010 2/4 200 4/4

2010 4/4 200 4/4

2010 3/4 300 3/4

2011 1/4 100 1/4

2011 4/4 200 4/4

2011 2/4 220 4/4

2011 3/4 250 4/4


8 rows selected.

16572 (SQLSTATE: 42000): window frame offset must not be null

Cause

A null value can not be used in the window frame offset.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN null PRECEDING AND 1 FOLLOWING ) AS three_quarter_sum

FROM t1

;


ERR-42000(16572): window frame offset must not be null

Action

Use a positive value as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, SUM( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_quarter

ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING ) AS three_quarter_sum

FROM t1

;


S_YEAR S_QUARTER S_REVENUE THREE_QUARTER_SUM

------ --------- --------- -----------------

2010 1/4 100 300

2010 2/4 200 600

2010 3/4 300 700

2010 4/4 200 500

2011 1/4 100 320

2011 2/4 220 570

2011 3/4 250 670

2011 4/4 200 450


8 rows selected.

16573 (SQLSTATE: 42000): argument of ntile must be greater than zero

Cause

A value other than a positive number was used as an argument of NTILE() function.


gSQL> SELECT s_year


, s_quarter

, s_revenue

, NTILE( 0 ) OVER ( ORDER BY s_revenue ) AS ntile_value

FROM t1

;


ERR-42000(16573): argument of ntile must be greater than zero

Action

Use a positive number as an argument of NTILE() function.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, NTILE( 4 ) OVER ( ORDER BY s_revenue ) AS ntile_value

FROM t1

;


S_YEAR S_QUARTER S_REVENUE NTILE_VALUE

------ --------- --------- -----------

2010 1/4 100 1

2011 1/4 100 1

2010 2/4 200 2

2010 4/4 200 2

2011 4/4 200 3

2011 2/4 220 3

2011 3/4 250 4

2010 3/4 300 4


8 rows selected.

16574 (SQLSTATE: 42000): window order by is not allowed here

Cause

ORDER BY can not be used in OVER() clause when using KEEP ( DENSE_RANK FIRST ORDER BY ) clause.


gSQL> SELECT s_year


, s_quarter

, s_revenue

, s_price

, MAX( s_revenue ) KEEP ( DENSE_RANK FIRST ORDER BY s_price )

OVER ( PARTITION BY s_year ORDER BY s_price ) AS min_price_max_revenue

FROM t1

;


ERR-42000(16574): window order by is not allowed here :

, MAX( s_revenue ) KEEP ( DENSE_RANK FIRST ORDER BY s_price )

*

ERROR at line 5:

Action

Drop ORDER BY from OVER() clause as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, s_price

, MAX( s_revenue ) KEEP ( DENSE_RANK FIRST ORDER BY s_price )

OVER ( PARTITION BY s_year ) AS min_price_max_revenue

FROM t1

;


S_YEAR S_QUARTER S_REVENUE S_PRICE MIN_PRICE_MAX_REVENUE

------ --------- --------- ------- ---------------------

2010 1/4 100 10 200

2010 2/4 200 10 200

2010 4/4 200 10 200

2010 3/4 300 20 200

2011 3/4 250 10 250

2011 4/4 200 10 250

2011 1/4 100 20 250

2011 2/4 220 20 250


8 rows selected.

16575 (SQLSTATE: 42000): window frame is not allowed here

Cause

The window function such as RANK() can not describe the window frame.


gSQL> SELECT s_year

, s_quarter

, s_revenue

, RANK() OVER ( PARTITION BY s_year ORDER BY s_revenue DESC

ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING ) AS rank_revenue

FROM t1

;


ERR-42000(16575): window frame is not allowed here :

, RANK() OVER ( PARTITION BY s_year ORDER BY s_revenue DESC

*

ERROR at line 4:

Action

Drop the window frame as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, RANK() OVER ( PARTITION BY s_year ORDER BY s_revenue DESC ) AS rank_revenue

FROM t1

;


S_YEAR S_QUARTER S_REVENUE RANK_REVENUE

------ --------- --------- ------------

2010 3/4 300 1

2010 2/4 200 2

2010 4/4 200 2

2010 1/4 100 4

2011 3/4 250 1

2011 2/4 220 2

2011 4/4 200 3

2011 1/4 100 4


8 rows selected.

16576 (SQLSTATE: 42000): argument should be a function of expressions in PARTITION BY

Cause

If the argument of NTILE() function is not a constant, then it should be an expression of PARTITION BY 의 expression.


SELECT s_year

, s_quarter

, s_revenue

, NTILE( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_revenue ) AS ntile_value

FROM t1

;


ERR-42000(16576): argument should be a function of expressions in PARTITION BY :

, NTILE( s_revenue ) OVER ( PARTITION BY s_year ORDER BY s_revenue ) AS ntile_value

*

ERROR at line 4:

Action

Use a positive number or an expression of PARTITION BY as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, NTILE( 100 ) OVER ( PARTITION BY s_year ORDER BY s_revenue ) AS ntile_value

FROM t1

;


S_YEAR S_QUARTER S_REVENUE NTILE_VALUE

------ --------- --------- -----------

2010 1/4 100 1

2010 2/4 200 26

2010 4/4 200 51

2010 3/4 300 76

2011 1/4 100 1

2011 4/4 200 26

2011 2/4 220 51

2011 3/4 250 76


8 rows selected.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, NTILE( s_year ) OVER ( PARTITION BY s_year ORDER BY s_revenue ) AS ntile_value

FROM t1

;


S_YEAR S_QUARTER S_REVENUE NTILE_VALUE

------ --------- --------- -----------

2010 1/4 100 1

2010 2/4 200 503

2010 4/4 200 1006

2010 3/4 300 1508

2011 1/4 100 1

2011 4/4 200 503

2011 2/4 220 1006

2011 3/4 250 1509


8 rows selected.

16577 (SQLSTATE: 42000): offset argument is out of range

Cause

A negative number can not be used as an offset value of LEAD() function.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, LEAD( s_revenue, -1 ) OVER ( ORDER BY s_revenue ) AS lead_value

FROM t1

;


ERR-42000(16577): offset argument is out of range

Action

Use a positive offset value as follows.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, LEAD( s_revenue, 1 ) OVER ( ORDER BY s_revenue ) AS lead_value

FROM t1

;


S_YEAR S_QUARTER S_REVENUE LEAD_VALUE

------ --------- --------- ----------

2010 1/4 100 100

2011 1/4 100 200

2010 2/4 200 200

2010 4/4 200 200

2011 4/4 200 220

2011 2/4 220 250

2011 3/4 250 300

2010 3/4 300 null


8 rows selected.

16578 (SQLSTATE: 42000): percentile value should be a number between 0 and 1

Cause

The argument value of PERCENTILE_DISC() function is wrong.


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, PERCENTILE_DISC( 10 ) WITHIN GROUP ( ORDER BY s_revenue ) OVER ( PARTITION BY s_year ) AS pertile_value

FROM t1

;


ERR-42000(16578): percentile value should be a number between 0 and 1

Action

PERCENTILE_DISC() function value should be between 0 ~ 1 (ratio).


gSQL>


SELECT s_year

, s_quarter

, s_revenue

, PERCENTILE_DISC( 0.5 ) WITHIN GROUP ( ORDER BY s_revenue ) OVER ( PARTITION BY s_year ) AS pertile_value

FROM t1

;


S_YEAR S_QUARTER S_REVENUE PERTILE_VALUE

------ --------- --------- -------------

2010 1/4 100 200

2010 2/4 200 200

2010 4/4 200 200

2010 3/4 300 200

2011 1/4 100 200

2011 4/4 200 200

2011 2/4 220 200

2011 3/4 250 200


8 rows selected.

16579 (SQLSTATE: 42000): INDEX COALESCE only supports b-tree type index

Cause

This error occurs when the INDEX COALESCE statement is used on a global temporary index.


gSQL> CREATE GLOBAL TEMPORARY TABLE t1 ( c1 INTEGER );


Table created.


gSQL> CREATE INDEX t1_idx ON t1 ( c1 );


Index created.


gSQL> COMMIT;


Commit complete.


gSQL> ALTER INDEX t1_idx COALESCE;


ERR-42000(16579): INDEX COALESCE only supports b-tree type index :

ALTER INDEX t1_idx COALESCE

*

ERROR at line 1:

Action

Global temporary indexes do not support the COALESCE statement.

16580 (SQLSTATE: 42000): table '%s' is not online on cluster domain '%s'

Cause

It is already offline in the cluster member.


gSQL> ALTER TABLE t1 SET OFFLINE AT g2n2;


ERR-42000(16580): table 'T1' is not online on cluster domain 'G2N2'

Action

Check if the table is offline as follows.


gSQL> SELECT member_name, member_offline FROM user_tab_place WHERE table_name = 'T1';


MEMBER_NAME MEMBER_OFFLINE

----------- --------------

G1N1 FALSE

G1N2 FALSE

G2N1 FALSE

G2N2 TRUE

G3N1 FALSE

G3N2 FALSE


6 rows selected.

16581 (SQLSTATE: 42000): cannot find global transaction logfile

Cause

When executing the ALTER DATABASE RENAME GLOBAL TRANSACTION LOGFILE statement, the specified source TCL (Transaction Commit Log) file is not the log file currently in use.


gSQL> ALTER DATABASE RENAME GLOBAL TRANSACTION LOGFILE 'commit_2.log' TO 'new_commit_2.log';


ERR-42000(16581): cannot find global transaction logfile :

ALTER DATABASE RENAME GLOBAL TRANSACTION LOGFILE 'commit_2.log' TO 'new_commit_2.log'

*

ERROR at line 1:

Action

Verify whether the log file to be renamed is the currently active TCL log file. Then specify the correct log file and execute the statement again.


The following shows how to check the currently active TCL log file.


gSQL> SELECT group_id, file_name, group_state FROM v$tcl_logfile;


GROUP_ID FILE_NAME GROUP_STATE

-------- ---------------------- -----------

0 /test/wal/commit_0.log CURRENT

1 /test/wal/commit_1.log UNUSED


2 rows selected.

16582 (SQLSTATE: 42000): there are active cluster members in the target cluster group '%s'

Cause

An active cluster member exists.


gSQL> DROP CLUSTER GROUP g4;


ERR-42000(16582): there are active cluster members in the target cluster group 'G4'

Action

The cluster group which has an active cluster member can not be DROPped.

16583 (SQLSTATE: 42000): cannot transactional service: %s

Cause

The password should be changed when logging in, but the transaction service for the password change is not available.

Action

Shift the cluster system to the available global open phase.

16584 (SQLSTATE: 42000): index type '%s' exceeds maximum shard sequence

Cause

This error may occur during the execution of the ALTER TABLE name MOVE SHARD statement. When a shard is moved, the shard stored in the index is logically deleted rather than physically removed.

Logical deletion can be performed up to 255 times, and exceeding this limit results in an error.


gSQL> ALTER TABLE t1 MOVE SHARD s2 TO CLUSTER GROUP g1;


ERR-42000(16584): index 'T1X' exceeds maximum shard sequence

Action

After executing ALTER INDEX name COALESCE or ALTER INDEX name REBUILD, retry the MOVE SHARD statement.

16585 (SQLSTATE: 42000): cannot drop cluster group that includes a global coordinator

Cause

deprecated

Action

If this error occurs, contact our customer service department.

16586 (SQLSTATE: 42000): role name '%s' conflicts with another user or role name

Cause

The duplicate user or role name exists.


gSQL> CREATE ROLE r1;


ERR-42000(16586): role name 'R1' conflicts with another user or role name :

CREATE ROLE r1

*

ERROR at line 1:

Action

Check if the duplicate user or role name exists as follows.


gSQL>


SELECT role_name, 'ROLE' AS auth FROM dba_roles WHERE role_name = 'R1'

UNION ALL

SELECT username, 'USER' AS auth FROM dba_users WHERE username = 'R1';


ROLE_NAME AUTH

--------- ----

R1 ROLE


1 row selected.

16587 (SQLSTATE: 28000): role '%s' does not exists

Cause

The role does not exist.


gSQL> DROP ROLE r1;


ERR-28000(16587): role 'R1' does not exists :

DROP ROLE r1

*

ERROR at line 1:

Action

Check if the role exists as follows.


gSQL> SELECT role_name FROM dba_roles WHERE role_name = 'R1';


no rows selected.

16588 (SQLSTATE: 42000): cannot GRANT to a role/public WITH GRANT OPTION

Cause

The privilege can not be granted to a role or a public with WITH GRANT OPTION.


gSQL> GRANT SELECT ON t1 TO PUBLIC WITH GRANT OPTION;


ERR-42000(16588): cannot GRANT to a role/public WITH GRANT OPTION

Action

Grant the privilege without WITH GRANT OPTION as follows.


gSQL> GRANT SELECT ON t1 TO PUBLIC;


Grant succeeded.

16589 (SQLSTATE: 0P000): circular role grant detected

Cause

The cycle occurred when granting the role..


gSQL> GRANT role1 TO role2;


Grant succeeded.


gSQL> GRANT role2 TO role1;


ERR-0P000(16589): circular role grant detected

Action

Prevent the cycle from occurring when granting a role.

16590 (SQLSTATE: 42000): duplicate role name in role granted/revoked list

Cause

The duplicate role name was used.


gSQL> GRANT role1, role2, role1 TO u1;


ERR-42000(16590): duplicate role name in role granted/revoked list :

GRANT role1, role2, role1 TO u1

*

ERROR at line 1:

Action

Drop the duplicate role name as follows.


gSQL> GRANT role1, role2 TO u1;


Grant succeeded.

16591 (SQLSTATE: 28000): cannot GRANT/REVOKE built-in role(SYSDBA, ADMIN) to/from authorization

Cause

sysdba and admin ROLE can not be granted to another user or role.


gSQL> GRANT sysdba TO role1;


ERR-28000(16591): cannot GRANT/REVOKE built-in role(SYSDBA, ADMIN) to/from authorization :

GRANT sysdba TO role1

*

ERROR at line 1:

Action

sysdba and admin ROLE can not be granted to or revoked from another user or role.

16592 (SQLSTATE: 0P000): invalid role specification

Cause

The role does not exist.


gSQL> SET ROLE invalid;


ERR-0P000(16592): invalid role specification

Action

Use the role name which can be set.


gSQL> SET ROLE dba;


Session set.

16593 (SQLSTATE: 25001): invalid transaction state: active transaction exists

Cause

SET ROLE can not be executed while the transaction is in progress.


gSQL> INSERT INTO t1 VALUES ( 1 );


1 row created.


gSQL> SET ROLE role1;


ERR-25001(16593): invalid transaction state: active transaction exists

Action

Terminate the transaction, then execute SET ROLE.


gSQL> COMMIT;


Commit complete.


gSQL> SET ROLE role1;


Session set.

16594 (SQLSTATE: 42000): role '%s' not granted or need ADMIN OPTION

Cause

The role without ADMIN OPTION can not grant the role to another user.


gSQL> GRANT role1 TO u2;


ERR-42000(16594): role 'ROLE1' not granted or need ADMIN OPTION

Action

The given role information can be view as follows and only the role with ADMIN OPTION can be granted to another user.


gSQL> SELECT username, granted_role, admin_option FROM user_role_privs;


USERNAME GRANTED_ROLE ADMIN_OPTION

-------- ------------ ------------

U1 ROLE1 NO

U1 ROLE2 YES


2 rows selected.


gSQL> GRANT role2 TO u2;


Grant succeeded.

16595 (SQLSTATE: 42000): role '%s' not granted to '%s'

Cause

The role which was not granted by a user can not be revoked.


gSQL> REVOKE role1 FROM u2;


ERR-42000(16595): role 'ROLE1' not granted to 'U2'

Action

Revoke the role which was given by a user as follows.


gSQL> REVOKE role2 FROM u2;


Revoke succeeded.

16596 (SQLSTATE: 42000): transactional service temporarily unavailable 

Cause

This error occurs when a transaction service is requested on a participating node while ALTER SYSTEM JOIN DATABASE is in progress.

Action

After ALTER SYSTEM JOIN DATABASE has completed, try again.

16597 (SQLSTATE: 42000): too many grouping sets present (maximum %ld)

Cause

The number of columns that can be listed in grouping sets such as ROLLUP must be less than the value specified by MAX_GROUPING_SETS_COUNT.


gSQL>


SELECT SUM( COUNT(*) )

FROM t1

GROUP BY ROLLUP( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10,

c11, c12, c13, c14, c15, c16, c17, c18, c19, c20,

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40,

c41, c42, c43, c44, c45, c46, c47, c48, c49, c50,

c1, c2, c3, c4, c5, c6, c7, c8, c9, c10,

c11, c12, c13, c14, c15, c16, c17, c18, c19, c20,

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

...

...

...

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40,

c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, -- 4000

c1, c2, c3, c4, c5, c6, c7, c8, c9, c10,

c11, c12, c13, c14, c15, c16, c17, c18, c19, c20,

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40,

c41, c42, c43, c44, c45, c46, c47, c48, c49, c50,

c1, c2, c3, c4, c5, c6, c7, c8, c9, c10,

c11, c12, c13, c14, c15, c16, c17, c18, c19, c20,

c21, c22, c23, c24, c25, c26, c27, c28, c29, c30,

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40,

c41, c42, c43, c44, c45, c46 );


ERR-42000(16597): too many grouping sets present (maximum 4096)

Action

Adjust the MAX_GROUPING_SETS_COUNT property and try again.

16598 (SQLSTATE: 42000): GROUPING function requires GROUP BY clause

Cause

GROUPING function should be used together with GROUP BY.


gSQL>


SELECT GROUPING( c1 )

AS RESULT

FROM t1;


ERR-42000(16598): GROUPING function requires GROUP BY clause :

SELECT GROUPING( c1 )

*

ERROR at line 1:

Action

gSQL>


SELECT c1,

c2,

c3,

COUNT(*),

GROUPING( c1, c2, c3 )

FROM t1

GROUP BY ROLLUP(c1, c2, c3);


C1 C2 C3 COUNT(*) GROUPING( C1, C2, C3 )

---- ---- ---- -------- ----------------------

1 1 1 2 0

1 1 2 1 0

1 2 2 1 0

2 2 2 1 0

2 2 null 1 1

1 2 null 1 1

1 1 null 3 1

1 null null 4 3

2 null null 1 3

null null null 5 7


10 rows selected.

16599 (SQLSTATE: 42000): not a GROUP BY expression

Cause

The argument of GROUPING() function is not the expression used in GROUP BY.


gSQL>


SELECT c1,

COUNT(*)

FROM t1

HAVING GROUPING(c1) = 0;


ERR-42000(16599): not a GROUP BY expression :

HAVING GROUPING(c1) = 0

*

ERROR at line 4:

Action

Use the column used in GROUP BY as the argument of GROUPING() function as follows.


gSQL>


SELECT c1,

COUNT(*)

FROM t1

GROUP BY c1

HAVING GROUPING(c1) = 0;


C1 COUNT(*)

-- --------

1 4

2 1


2 rows selected.

16600 (SQLSTATE: 42000): The number of columns in a column group must be in the range (%d ~ %d)

Cause

The number of columns listed in COLUMN GROUPS is out of range (2~4) as follows.


gSQL> ANALYZE TABLE t1 COMPUTE STATISTICS FOR COLUMN GROUPS ( c1, c2, c3, c4, c5 );

ERR-42000(16600): The number of columns in a column group must be in the range(2 ~ 4) :

Action

Use 2 ~ 4 columns when listing column groups.


gSQL> ANALYZE TABLE t1 COMPUTE STATISTICS FOR COLUMN GROUPS ( c1, c2 );

Table analyzed.

16601 (SQLSTATE: 42000): specified column group statistics already exists

Cause

The statistics information about the pre-defined column group exists.


gSQL> ANALYZE TABLE t1 COMPUTE STATISTICS FOR COLUMN GROUPS ( c1, c2 );

ERR-42000(16601): specified column group statistics already exists

Action

Check if the column group already exists.


gSQL> SELECT column_groups FROM USER_STAT_COLUMN_GROUP WHERE TABLE_NAME = 'T1';

COLUMN_GROUPS

-------------

( C1, C2 )


Delete and rebuild it as follows.


gSQL> ANALYZE TABLE t1 DELETE STATISTICS FOR COLUMN GROUPS ( c1, c2 );

16602 (SQLSTATE: 42000): specified column group statistics not exists

Cause

The statistics information about the column group does not exist.


gSQL> ANALYZE TABLE t1 DELETE STATISTICS FOR COLUMN GROUPS ( c1, c2 );

ERR-42000(16602): specified column group statistics not exists

Action

Check if the column group exists as follows.


gSQL> SELECT column_groups FROM USER_STAT_COLUMN_GROUP WHERE TABLE_NAME = 'T1';

no rows selected.

16603 (SQLSTATE: 42000): system session cannot be canceled

Cause

ALTER SYSTEM CANCEL SESSION statement is not applied to a system session nor to a cluster session.

Action

Check if the session id and the serial numbers are correct.

16604 (SQLSTATE: 42000): pivot operations are not supported on lateral views

Cause

It does not support the pivot for the lateral view.


gSQL> SELECT * FROM t1, LATERAL( SELECT c1 FROM dual) PIVOT( COUNT(*) FOR c1 IN ( 1 ) );

ERR-42000(16604): pivot operations are not supported on lateral views :

SELECT * FROM t1, LATERAL( SELECT c1 FROM dual) PIVOT( COUNT(*) FOR c1 IN ( 1 ) )

*

ERROR at line 1:

Action

Do not describe the pivot statement whose target is the lateral view.

16605 (SQLSTATE: 42000): unpivot operations are not supported on lateral views

Cause

It does not support the unpivot for the lateral view.


gSQL> SELECT * FROM t1, LATERAL( SELECT c1 FROM dual) UNPIVOT( col_val FOR col_name IN ( c1 ) );

ERR-42000(16605): unpivot operations are not supported on lateral views :

SELECT * FROM t1, LATERAL( SELECT c1 FROM dual) UNPIVOT( col_val FOR col_name IN ( c1 ) )

*

ERROR at line 1:

Action

Do not describe the unpivot statement whose target is the lateral view.

16606 (SQLSTATE: 42000): the number of elements in pivot values mismatch the pivot columns

Cause

The number of pivot columns and the number of the pivot values described in the pivot statement are different.


gSQL> SELECT * FROM t1 PIVOT( COUNT(*) FOR ( c1, c2 ) IN ( ( 1, 2 ), ( 3 ) ) );

ERR-42000(16606): the number of elements in pivot values mismatch the pivot columns :

SELECT * FROM t1 PIVOT( COUNT(*) FOR ( c1, c2 ) IN ( ( 1, 2 ), ( 3 ) ) )

*

ERROR at line 1:

Action

Check if the number of pivot columns and the number of the pivot values described in the pivot statement are same.

16607 (SQLSTATE: 42000): the number of elements in unpivot values mismatch the unpivot columns

Cause

The number of unpivot columns and the number of the unpivot values described in the unpivot statement are different.


gSQL> SELECT * FROM t1 UNPIVOT( col_val FOR ( col1, col2 ) IN ( ( c1, c2 ), ( c3 ) ) );

ERR-42000(16607): the number of elements in unpivot values mismatch the unpivot columns :

SELECT * FROM t1 UNPIVOT( col_val FOR ( col1, col2 ) IN ( ( c1, c2 ), ( c3 ) ) )

*

ERROR at line 1:

Action

Check if the number of unpivot columns and the number of the unpivot values described in the unpivot statement are same.

16608 (SQLSTATE: 42000): non-constant expression is not allowed for pivot|unpivot values

Cause

Only the constant expression is allowed for the pivot value or the unpivot value.


gSQL> SELECT * FROM t1 UNPIVOT( col_ FOR c1 IN ( c1 AS RANDOM( 1, 1 ) ) );

ERR-42000(16608): non-constant expression is not allowed for pivot|unpivot values :

SELECT * FROM t1 UNPIVOT( col_ FOR c1 IN ( c1 AS RANDOM( 1, 1 ) ) )

*

ERROR at line 1:


gSQL> SELECT * FROM t1 UNPIVOT( col_ FOR c1 IN ( c1 AS CLOCK_DATE() ) );

ERR-42000(16608): non-constant expression is not allowed for pivot|unpivot values :

SELECT * FROM t1 UNPIVOT( col_ FOR c1 IN ( c1 AS CLOCK_DATE() ) )

*

ERROR at line 1:

Action

Do not use the non-constant expression as the pivot value or the unpivot value.

16609 (SQLSTATE: 42000): lacks privilege (EXECUTE ON LIBRARY \"%s\".\"%s\")

Cause

It does not have EXECUTE ON LIBRARY privilege.


gSQL>


CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER ) RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY u2.ext_lib1 NAME "sample"

PARAMETERS ( p1 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) : ERR-42000(16609): lacks privilege (EXECUTE ON LIBRARY "U2"."EXT_LIB1")

Function created.

Action

The owner should grant the privilege, then execute it as follows.


gSQL> GRANT EXECUTE ON LIBRARY u2.ext_lib1 TO u1;


Grant succeeded.


gSQL> \connect u1 u1


gSQL>


CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER ) RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY u2.ext_lib1 NAME "sample"

PARAMETERS ( p1 INT,

RETURN INT );

/


Function created.

16610 (SQLSTATE: 42000): library does not exist

Cause

The library does not exist.


gSQL>


CREATE OR REPLACE FUNCTION func1 RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY invalid NAME "sample"

PARAMETERS( RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (3:9): ERR-42000(16610): library does not exist

Function created.

Action

Use the existing library name as follows.


gSQL> SELECT library_name FROM user_libraries;


LIBRARY_NAME

------------

LIB1


1 row selected.


gSQL>


CREATE OR REPLACE FUNCTION func1 RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib1 NAME "sample"

PARAMETERS( RETURN INT );

/


Function created.

16611 (SQLSTATE: 42000): the number of pieces is out of range( 1 to %d )

Cause

When executing the following statements, the specified value in the PIECE clause exceeds the maximum allowed value (1024).


gSQL> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 PIECE 1025;


ERR-42000(16611): the number of pieces is out of range (1 to 1024)

ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 PIECE 1025

*

ERROR at line 1:

Action

Change the PIECE value to 1024 or less, and then execute the statement again.

16612 (SQLSTATE: 42000): invalid backup format ( %s )

Cause

When executing the following statements, the format of the string specified in the FORMAT clause is invalid.


gSQL> ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 FORMAT 'backup_%p%z';


ERR-42000(16612): invalid backup format ( backup_%p%z ) :

ALTER DATABASE BACKUP INCREMENTAL LEVEL 0 FORMAT 'backup_%p%z'

*

ERROR at line 1:

Action

Verify that the FORMAT clause string follows the correct format, and then execute the statement again.

For more information, refer to the description of the FORMAT clause in the ALTER DATABASE BACKUP INCREMENTAL statement.

16613 (SQLSTATE: 42000): cannot backup; tablespace(%s) is temporary

Cause

The ALTER TABLESPACE name BACKUP statement was executed on a temporary tablespace.


gSQL> ALTER TABLESPACE mem_temp_tbs BACKUP INCREMENTAL LEVEL 0;


ERR-42000(16613): cannot backup; tablespace(MEM_TEMP_TBS) is temporary :

ALTER TABLESPACE mem_temp_tbs BACKUP INCREMENTAL LEVEL 0

*

ERROR at line 1:

Action

No action is required.

16614 (SQLSTATE: 42000): unreachable WHEN clause specified after unconditional WHEN clause

Cause

• If <merge when matched clause> without <search condition> is described, then no more <merge when matched clause> can be described.


gSQL>


MERGE INTO t1

USING t2

ON t1.c1 = t2.c1

WHEN MATCHED THEN UPDATE SET ( c1, c2 ) = ( t2.c1, t2.c2 )

WHEN MATCHED AND t1.c1 = 100 THEN DO NOTHING;


ERR-42000(16614): unreachable WHEN clause specified after unconditional WHEN clause :

WHEN MATCHED AND t1.c1 = 100 THEN DO NOTHING

*

ERROR at line 5:


• If <merge when not matched clause> without <search condition> is described, then no more <merge when not matched clause> can be described.


gSQL>


MERGE INTO t1

USING t2

ON t1.c1 = t2.c1

WHEN NOT MATCHED THEN INSERT VALUES ( c1, c2 )

WHEN NOT MATCHED AND c1 = 4 THEN INSERT DEFAULT VALUES;


ERR-42000(16614): unreachable WHEN clause specified after unconditional WHEN clause :

WHEN NOT MATCHED AND c1 = 4 THEN INSERT DEFAULT VALUES

*

ERROR at line 5:

Action

• <merge when matched clause> without <search condition> should be described at the end of <merge when matched clause>.


gSQL>


MERGE INTO t1

USING t2

ON t1.c1 = t2.c1

WHEN MATCHED AND t1.c1 = 100 THEN DO NOTHING

WHEN MATCHED THEN UPDATE SET ( c1, c2 ) = ( t2.c1, t2.c2 );

3 rows merged.


• <merge when not matched clause> without <search condition> should be described at the end of <merge when not matched clause>.


gSQL>


MERGE INTO t1

USING t2

ON t1.c1 = t2.c1

WHEN NOT MATCHED AND c1 = 4 THEN INSERT DEFAULT VALUES

WHEN NOT MATCHED THEN INSERT VALUES ( c1, c2 );

3 rows merged.

16615 (SQLSTATE: 01000): Warning: failed to make sequences online

Cause

This error occurs if it fails to shift sequence objects to online.

It does not occur in general cases, but it may occur when the resources are insufficient.

Action

Use ALTER DATABASE SYNCHRONIZE statement as follows to shift sequence objects to online.


gSQL> ALTER DATABASE SYNCHRONIZE SEQUENCE;


Database altered.

16616 (SQLSTATE: 01000): Warning: failed to make tables online

Cause

This error occurs if it fails to shift table objects to online.

It does not occur in general cases, but it may occur when the resources are insufficient.

Action

Use ALTER DATABASE SYNCHRONIZE statement as follows to shift table objects to online.


gSQL> ALTER DATABASE SYNCHRONIZE TABLE;


Database altered.

16617 (SQLSTATE: 01000): Warning: failed to drop offline segments

Cause

This error occurs if it fails to drop offline segments.

It does not occur in general cases, but it may occur when the resources are insufficient.

Action

Use ALTER DATABASE DROP OFFLINE SEGMENTS statement as follows to drop offline segments.


gSQL> ALTER DATABASE DROP OFFLINE SEGMENTS;


Database altered.

16618 (SQLSTATE:01000): of the total '%d' members, it was executed only on '%d' members

Cause

This warning occurs for statements that can be executed even if inactive members exist.

It indicates that some of the specified members were in an inactive state.


The following is an example where the statement was executed on only one of the two members in the g2 group.


gSQL> ALTER DATABASE CLEAR AUDIT TRAIL AT g2;


ERR-01000(16618): of the total '2' members, it was executed only on '1' members

Database altered.

Action

After changing the inactive member to an active state, retry the statement on that member.

16619 (SQLSTATE: 42000): AT DOMAIN can be specified in the GLOBAL OPEN phase of
the cluster database

Cause

AT domain cannot be specified in phases prior to GLOBAL OPEN.


The following is an example of specifying the AT domain clause during the LOCAL OPEN phase.


gSQL> SELECT status FROM x$instance@local;


STATUS

----------

LOCAL OPEN


1 row selected.


gSQL> ALTER SYSTEM CHECKPOINT AT g1n1;


ERR-42000(16619): AT DOMAIN can be specified in the GLOBAL OPEN phase of

the cluster database :

ALTER SYSTEM CHECKPOINT AT g1n1

*

ERROR at line 1:

Action

When executing locally, remove the AT domain and try again.

When executing remotely, join the cluster and then try again.

16620 (SQLSTATE: 42000): The domain option cannot be specified together with
ONLINE, TABLESPACE, or index attributes options

Cause

This error occurs when the AT domain clause is used together with ONLINE, TABLESPACE, or index attributes during ALTER INDEX name REBUILD.


gSQL> CREATE TABLE t1 ( i1 INTEGER );


Table created.


gSQL> CREATE INDEX t1x ON t1( i1 );


Index created.


gSQL> ALTER INDEX t1x REBUILD ONLINE AT g2;


ERR-42000(16620): The domain option cannot be specified together with

ONLINE, TABLESPACE, or index attributes options :

ALTER INDEX t1x REBUILD ONLINE AT g2

*

ERROR at line 1:

Action

Remove the AT domain clause and try again.

16621 (SQLSTATE: 42000): a transaction can insert into only one table in append manner

Cause

This error message occurs when attempting to perform append insert into two or more tables within a single transaction.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> INSERT /*+ APPEND */ INTO T2 VALUES ( 1 );


ERR-42000(16621): a transaction can insert into only one table in append manner

Action

To add data using append insert to multiple tables, each table must be handled in a separate transaction.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT /*+ APPEND */ INTO T2 VALUES ( 1 );


1 row created.


gSQL> COMMIT;


Commit complete.

16622 (SQLSTATE: 42000): append insert attributes mismatch

Cause

An append insert statement was executed more than once within a single transaction using different options.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> INSERT /*+ APPEND NOLOGGING */ INTO T1 VALUES ( 2 );


ERR-42000(16622): append insert attributes mismatch

Action

When executing multiple append insert statements within the same transaction, the same options must be used for all statements.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 2 );


1 row created.

16623 (SQLSTATE: 42000): cannot execute DDL - append inserts unfinished

Cause

A DDL statement was executed before the transaction that performed an append insert was completed.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> CREATE TABLE T2 ( I1 INTEGER );


ERR-42000(16623): cannot execute DDL - append inserts unfinished

Action

Complete the transaction that performed the append insert, and then execute the DDL statement.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> COMMIT;


Commit complete.


gSQL> CREATE TABLE T2 ( I1 INTEGER );


Table created.

16624 (SQLSTATE: 42000): cannot execute DML - append inserts unfinished

Cause

A DML statement was executed on the same table before the transaction that performed an append insert was completed.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> UPDATE T1 SET I1 = 2;


ERR-42000(16624): cannot execute DML - append inserts unfinished

Action

Complete the transaction that performed the append insert, and then execute the DML statement.


gSQL> INSERT /*+ APPEND */ INTO T1 VALUES ( 1 );


1 row created.


gSQL> COMMIT;


Commit complete.


gSQL> UPDATE T1 SET I1 = 2;


1 row updated.

16625 (SQLSTATE: 42000): segment is unusable in the member with the latest data of table '%s.%s'

Cause

When executing the following statements, the SCN of a replica in UNUSABLE state is greater than the SCN of the OFFLINE replica on other members.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


ERR-42000(16625): segment is unusable in the member with the latest data of table 'PUBLIC.T1'

Action

A replica in UNUSABLE state can no longer be used. Drop the unusable replica using the ALTER TABLE name DROP UNUSABLE SEGMENTS statement, and then execute the statement again.


gSQL> ALTER TABLE t1 DROP UNUSABLE SEGMENTS;


Table altered.


gSQL> ALTER TABLE t1 SYNCHRONIZE;


Table altered.


※ Note: The table will be synchronized based on the past data held by the OFFLINE replica.

16626 (SQLSTATE: 42000): of the total '%d' tables in the database, failed to modify the offline member map in '%d' tables

Cause

The ALTER DATABASE OFFLINE INACTIVE CLUSTER MEMBERS statement sets inactive members to OFFLINE status in the table member map maintained by active members.

This statement is executed sequentially for all tables. This warning message is generated if the OFFLINE operation fails for any table.

In most cases, the failure occurs because the required lock cannot be acquired during concurrency control.

Action

Increase the value of DDL_LOCK_TIMEOUT and execute the statement again.

16627 (SQLSTATE: 42000): Input to JSON generation function has unsupported data type

Cause

An invalid data type was used as an argument for the JSON string constructor function.


CREATE TABLE test ( col INTEGER );


gSQL> SELECT JSON_ARRAY( test.rowid )

FROM test;


ERR-42000(16627): Input to JSON generation function has unsupported data type :

SELECT JSON_ARRAY( test.rowid )

*

ERROR at line 1:

Action

Convert it to a supported data type.


gSQL> SELECT JSON_ARRAY( CAST( test.rowid AS VARCHAR(32) ) )

FROM test;


JSON_ARRAY( CAST( TEST.ROWID AS VARCHAR(32) ) )

-----------------------------------------------

["AAAAAAAAYeoAACAAAEAkAAA"]


1 row selected.

16628 (SQLSTATE: 42000): unusable replicas in table '%s' must be offline

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16629 (SQLSTATE: 42000): of the total '%d' tables, '%d' tables failed to drop unusable segments

Cause

This error occurs when the deletion of unusable segments fails for some of the tables that contain them.

Action

Since there can be various causes of failure, the exact reason should be identified through the system.trc log.

Resolve the issue and try again.

16630 (SQLSTATE: 42000): global transactions cannot perform append inserts

Cause

In XA transactions, the APPEND INSERT method cannot be used to add data.

Action

In XA transactions, data must be inserted using CONVENTIONAL INSERT.

16631 (SQLSTATE: 42000): of the total '%d' tables, '%d' tables failed to offline

Cause

This error occurs when the attempt to change some of the tables related to a tablespace to the offline state fails.

Action

Since there can be various causes of failure, the exact reason should be identified through the system.trc log.

Resolve the issue and try again.

16632 (SQLSTATE: 42000): tables related to tablespace '%s' must be offline

Cause

This error occurs when the attempt to change some of the tables related to a tablespace to the offline state fails.


gSQL> ALTER TABLESPACE space1 OFFLINE;


ERR-42000(16632): tables related to tablespace 'SPACE1' must be offline

Action

After changing the related tables to the OFFLINE state using the ALTER TABLESPACE ... OFFLINE TABLES statement, try again.


gSQL> ALTER TABLESAPCE space1 OFFLINE TABLES;


Tablespace altered.


gSQL> ALTER TABLESPACE space1 OFFLINE;


Tablespace altered.

16633 (SQLSTATE: 42000): all tablespaces related to table '%s' must be online

Cause

This error occurs when executing the following statements on tables related to an OFFLINE tablespace.

Action

Change the tablespace to ONLINE and then retry the operation.

For more information about how to change a tablespace to ONLINE, refer to ALTER TABLESPACE name [ONLINE|OFFLINE].

16634 (SQLSTATE: 42000): referenced table '%s' does not have a primary key

Cause

The parent table does not have a primary key.


gSQL> CREATE TABLE parent ( pk INTEGER );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent );

ERR-42000(16634): referenced table '%s' does not have a primary key :

CREATE TABLE child ( fk INTEGER REFERENCES parent )

*

ERROR at line 1:

Action

Add a primary key constraint to the parent table before creating a foreign key.


gSQL> ALTER TABLE parent ADD CONSTRAINT parent_pk PRIMARY KEY(pk);

Table altered.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent );

Table created.

16635 (SQLSTATE: 42000): number of referencing columns must match referenced columns

Cause

The number of columns in the foreign key and the primary key are different.


gSQL>

CREATE TABLE parent ( c1 INTEGER,

c2 INTEGER,

CONSTRAINT parent_pk PRIMARY KEY (c1, c2) );

Table created.


gSQL> CREATE TABLE child ( c1 INTEGER REFERENCES parent );

ERR-42000(16635): number of referencing columns must match referenced columns :

CREATE TABLE child ( c1 INTEGER REFERENCES parent )

*

ERROR at line 1:

Action

Create a foreign key with the same number of columns as the primary key, as shown below.


gSQL>

CREATE TABLE child ( c1 INTEGER,

c2 INTEGER,

FOREIGN KEY (c1, c2) REFERENCES parent );

Table created.

16636 (SQLSTATE: 42000): column type incompatible with referenced column type

Cause

The data types of the primary key and foreign key are not compatible.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL> CREATE TABLE child ( fk VARCHAR(10) REFERENCES parent(pk) );

ERR-42000(16636): column type incompatible with referenced column type :

CREATE TABLE child ( fk VARCHAR(10) REFERENCES parent(pk) )

*

ERROR at line 1:

Action

Align the foreign key’s data type with that of the primary key.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.

16637 (SQLSTATE: 42000): no matching unique or primary key for this column list

Cause

The referenced column does not have a corresponding primary key or unique key.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY, c1 INTEGER );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(c1) );

ERR-42000(16637): no matching unique or primary key for this column list :

CREATE TABLE child ( fk INTEGER REFERENCES parent(c1) )

*

ERROR at line 1:

Action

Reference a column that has a primary key or unique key.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.

16638 (SQLSTATE: 23000): referential constraint "%s"."%s" violated : parent keys not found

Cause

This error occurs when the value specified in a FOREIGN KEY column cannot be found in the corresponding PRIMARY KEY or UNIQUE column of the referenced table.


This error may occur in the following cases:

  • Deleting a value from the parent table that is currently being referenced by the child table

  • Inserting a value into the child table that does not exist in the parent table

Action

When deleting a record from the parent table, check whether the record is being referenced by the child table.

When inserting a record into the child table, ensure that the referenced value exists in the parent table.

For more information about FOREIGN KEY constraints, refer to the FOREIGN KEY Constraint.

16639 (SQLSTATE: 42000): attempt to reference non-base table '%s' in referential integrity constraint

Cause

A global temporary table cannot be referenced by a FOREIGN KEY.


gSQL> CREATE GLOBAL TEMPORARY TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

ERR-42000(16639): attempt to reference non-base table '%s' in referential integrity constraint :

CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) )

*

ERROR at line 1:

Action

Only base tables can be referenced by a FOREIGN KEY, as shown below.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.

16640 (SQLSTATE: 42000): attempt to create referential integrity constraint on non-base table

Cause

A FOREIGN KEY cannot be created on a global temporary table.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL> CREATE GLOBAL TEMPORARY TABLE child ( fk INTEGER );

Table created.


gSQL> ALTER TABLE child ADD CONSTRAINT child_fk FOREIGN KEY(fk) REFERENCES parent(pk);

ERR-42000(16640): attempt to create referential integrity constraint on non-base table

Action

A FOREIGN KEY can only be created on a base table.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER );

Table created.


gSQL> ALTER TABLE child ADD CONSTRAINT child_fk FOREIGN KEY(fk) REFERENCES parent(pk);

Table altered.

16641 (SQLSTATE: 42000): referenced unique constraint shall not be deferrable

Cause

A DEFERRABLE constraint cannot be referenced by a FOREIGN KEY.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY DEFERRABLE );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

ERR-42000(16641): referenced unique constraint shall not be deferrable :

CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) )

*

ERROR at line 1:

Action

Create the FOREIGN KEY after changing the constraint to NOT DEFERRABLE, as shown below.


gSQL> ALTER TABLE parent ALTER CONSTRAINT parent_primary_key NOT DEFERRABLE;

Table altered.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.

16642 (SQLSTATE: 42000): for referencing generated column, delete rule shall not specify SET NULL or SET DEFAULT

Cause

FOREIGN KEY delete rules such as SET NULL cannot be applied to a generated column.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL>

CREATE TABLE child ( fk INTEGER GENERATED BY DEFAULT AS IDENTITY

REFERENCES parent(pk) ON DELETE SET NULL );

ERR-42000(16642): for referencing generated column, delete rule shall not specify SET NULL or SET DEFAULT :

REFERENCES parent(pk) ON DELETE SET NULL )

*

ERROR at line 2:

Action

Use delete rules such as ON DELETE CASCADE instead, as shown below.


gSQL>

CREATE TABLE child ( fk INTEGER GENERATED BY DEFAULT AS IDENTITY

REFERENCES parent(pk) ON DELETE CASCADE );

Table created.

16643 (SQLSTATE: 42000): for referencing generated column, update rule shall not specify SET NULL or SET DEFAULT or CASCADE

Cause

FOREIGN KEY update rules such as CASCADE cannot be applied to a generated column.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY );

Table created.


gSQL>

CREATE TABLE child ( fk INTEGER GENERATED BY DEFAULT AS IDENTITY

REFERENCES parent(pk) ON UPDATE CASCADE );

ERR-42000(16643): for referencing generated column, update rule shall not specify SET NULL or SET DEFAULT or CASCADE :

REFERENCES parent(pk) ON UPDATE CASCADE )

*

ERROR at line 2:

Action

Use update rules such as ON UPDATE NO ACTION instead, as shown below.


gSQL>

CREATE TABLE child ( fk INTEGER GENERATED BY DEFAULT AS IDENTITY

REFERENCES parent(pk) ON UPDATE NO ACTION );

Table created.

16644 (SQLSTATE: 42000): constraint schema '%s' shall be equivalent to table schema

Cause

The schema of the constraint is different from the schema of the table.


gSQL> CREATE TABLE s1.t1 ( pk INTEGER CONSTRAINT s2.t1_pk PRIMARY KEY );


ERR-42000(16644): constraint schema '%s' shall be equivalent to table schema :

CREATE TABLE s1.t1 ( pk INTEGER CONSTRAINT s2.t1_pk PRIMARY KEY )

*

ERROR at line 1:

Action

Constraints must be created in the same schema as the table.


gSQL> CREATE TABLE s1.t1 ( pk INTEGER CONSTRAINT s1.t1_pk PRIMARY KEY );

Table created.

16645 (SQLSTATE: 42000): such referential constraint already exists in table

Cause

An identical FOREIGN KEY constraint already exists.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY,

uk INTEGER UNIQUE );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.


gSQL> ALTER TABLE child ADD CONSTRAINT child_fk FOREIGN KEY( fk ) REFERENCES parent(pk);

ERR-42000(16645): such referential constraint already exists in table :

ALTER TABLE child ADD CONSTRAINT child_fk FOREIGN KEY( fk ) REFERENCES parent(pk)

*

ERROR at line 1:

Action

Create FOREIGN KEYs with different definitions as follows.


gSQL> ALTER TABLE child ADD CONSTRAINT child_fk FOREIGN KEY( fk ) REFERENCES parent(uk);

Table altered.

16646 (SQLSTATE: 42000): column definition is not specified

Cause

No column has been defined.


gSQL> CREATE TABLE t1 ( UNIQUE( c1 ) );

ERR-42000(16646): column definition is not specified

Action

Define the column as shown below.


gSQL> CREATE TABLE t1 ( c1 INTEGER, UNIQUE( c1 ) );

Table created.

16647 (SQLSTATE: 42000): column is referenced in a multi-column constraint "%s"."%s"

Cause

The column is included in a constraint defined with multiple columns.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER, c3 INTEGER );

Table created.


gSQL> ALTER TABLE t1 ADD PRIMARY KEY (c2, c3);

Table altered.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN c2;

ERR-42000(16647): column is referenced in a multi-column constraint "PUBLIC"."T1_PRIMARY_KEY"

Action

Use the CASCADE option to remove the constraint along with the column.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN c2 CASCADE;

Table altered.

16648 (SQLSTATE: 42000): cannot drop parent key column : child foreign key "%s"."%s"

Cause

The PRIMARY KEY column cannot be dropped because it is referenced by a FOREIGN KEY.


gSQL> CREATE TABLE parent ( pk INTEGER PRIMARY KEY, c1 INTEGER );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.


gSQL> ALTER TABLE parent SET UNUSED COLUMN pk;

ERR-42000(16648): cannot drop parent key column : child foreign key "PUBLIC"."CHILD_FOREIGN_KEY_FK_REFERENCES_PARENT_PK"

Action

Use the CASCADE option as shown below.


gSQL> ALTER TABLE parent SET UNUSED COLUMN pk CASCADE;

Table altered.

16649 (SQLSTATE: 42000): trigger does not exist

Cause

The trigger object name was used incorrectly in statements such as comment, drop, and rename.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE TRIGGER trg1

AFTER INSERT ON t1

BEGIN

NULL;

END;

/

Trigger created.


gSQL> ALTER TRIGGER trg2 RENAME TO new_trg;

ERR-42000(16649): trigger does not exist :

ALTER TRIGGER trg2 RENAME TO new_trg

*

ERROR at line 1:

Action

Use the correct trigger object name.


gSQL> ALTER TRIGGER trg1 RENAME TO new_trg;

Trigger altered.

16650 (SQLSTATE: 42000): object "%s" is not %s

Cause

The SQL statement cannot be executed on this object.


gSQL> CREATE TABLE t1 ( c1 INTEGER );

Table created.


gSQL> DROP VIEW t1;

ERR-42000(16650): object "T1" is not VIEW :

DROP VIEW t1

*

ERROR at line 1:

Action

Use an SQL statement that is compatible with the object, as shown below.


gSQL> DROP TABLE t1;


Table dropped.

16651 (SQLSTATE: 42000): duplicate trigger event

Cause

The trigger event is defined in duplicate


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT OR UPDATE OR UPDATE OR DELETE ON t1

BEGIN

NULL;

END;

/

ERR-42000(16651): duplicate trigger event :

AFTER INSERT OR UPDATE OR UPDATE OR DELETE ON t1

*

ERROR at line 2:

Action

Describe the event correctly.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT OR UPDATE OR DELETE ON t1

BEGIN

NULL;

END;

/

Trigger created.

16652 (SQLSTATE: 42000): duplicate transition table or variable name

Cause

Duplicate table name or variable name found in the trigger's transition.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD TABLE AS t_tbl

NEW TABLE AS t_tbl

BEGIN

NULL;

END;

/

ERR-42000(16652): duplicate transition table or variable name :

NEW TABLE AS t_tbl

*

ERROR at line 4:

Action

Use the correct table name or variable name.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD TABLE AS old_t_tbl

NEW TABLE AS new_t_tbl

BEGIN

NULL;

END;

/

Trigger created.

16653 (SQLSTATE: 42000): transition table or variable specified more than once

Cause

OLD and NEW were used redundantly in the trigger's transition.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD ROW AS o_row1

OLD ROW AS o_row2

FOR EACH ROW

BEGIN

NULL;

END;

/

ERR-42000(16653): transition table or variable specified more than once :

OLD ROW AS o_row2

*

ERROR at line 4:

Action

Define the trigger transition correctly.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD ROW AS o_row1

NEW ROW AS o_row2

FOR EACH ROW

BEGIN

NULL;

END;

/

Trigger created.

16654 (SQLSTATE: 42000): transition table can not be specified in multi-event trigger

Cause

An error may occur when defining multiple events and using transition tables in a trigger.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE OR DELETE ON t1

REFERENCING OLD TABLE AS o_tbl

BEGIN

NULL;

END;

/

ERR-42000(16654): transition table can not be specified in multi-event trigger :

REFERENCING OLD TABLE AS o_tbl

*

ERROR at line 3:

Action

To use trigger transition tables, only a single event must be specified.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD TABLE AS o_tbl

BEGIN

NULL;

END;

/

Trigger created.

16655 (SQLSTATE: 42000): transition table can be declared only in AFTER triggers

Cause

Transition tables were used while the trigger timing was specified as BEFORE.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

BEFORE UPDATE ON t1

REFERENCING OLD TABLE AS o_tbl

BEGIN

NULL;

END;

/

ERR-42000(16655): transition table can be declared only in AFTER triggers :

REFERENCING OLD TABLE AS o_tbl

*

ERROR at line 3:

Action

To use trigger transition tables, the timing must be specified as AFTER.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD TABLE AS o_tbl

BEGIN

NULL;

END;

/

Trigger created.

16656 (SQLSTATE: 42000): transition variable requires FOR EACH ROW syntax

Cause

Transition variables were used after setting the trigger action to FOR EACH STATEMENT.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD ROW AS o_row

FOR EACH STATEMENT

BEGIN

NULL;

END;

/

ERR-42000(16656): transition variable requires FOR EACH ROW syntax :

REFERENCING OLD ROW AS o_row

*

ERROR at line 3:

Action

To use transition variables, the trigger action must be specified as FOR EACH ROW.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

REFERENCING OLD ROW AS o_row

FOR EACH ROW

BEGIN

NULL;

END;

/

Trigger created.

16657 (SQLSTATE: 42000): invalid use of %s transition table or variable

Cause

The OLD transition was specified in an INSERT trigger.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT ON t1

REFERENCING OLD ROW AS o_row

FOR EACH ROW

BEGIN

NULL;

END;

/

ERR-42000(16657): invalid use of OLD transition table or variable :

REFERENCING OLD ROW AS o_row

*

ERROR at line 3:

Action

An INSERT trigger must specify the NEW transition.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT ON t1

REFERENCING NEW ROW AS o_row

FOR EACH ROW

BEGIN

NULL;

END;

/

Trigger created.

16658 (SQLSTATE: 42000): trigger "%s"."%s" already exists on another table and can not be replaced

Cause

This error occurs when the base table name differs while replacing an existing trigger with a new one.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE TABLE t2 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t1

BEGIN

NULL;

END;

/

Trigger created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER UPDATE ON t2

BEGIN

NULL;

END;

/

ERR-42000(16658): trigger "PUBLIC"."T2" already exists on another table and can not be replaced :

CREATE OR REPLACE TRIGGER tri1

*

ERROR at line 1:

Action

If the base table names differ, the existing trigger must be dropped or the new trigger name must be distinct.


gSQL> CREATE OR REPLACE TRIGGER tri2

AFTER UPDATE ON t2

BEGIN

NULL;

END;

/

Trigger created.

16659 (SQLSTATE: 01000): Warning: trigger "%s"."%s" has compilation errors

Cause

The trigger body does not contain objects or contains incorrect content.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT ON t1

FOR EACH ROW

DECLARE

var1 INTEGER;

BEGIN

SELECT count(*) INTO var1 FROM n_tbl;

END;

/

ERR-01000(16659): Warning: trigger "PUBLIC"."TRI1" has compilation errors :

(1) at (7:3): ERR-42000(16040): table or view does not exist

Trigger created.

Action

The error occurred because a table specified in the trigger body does not exist, so that table must be created.


gSQL> CREATE TABLE n_tbl ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT ON t1

FOR EACH ROW

DECLARE

var1 INTEGER;

BEGIN

SELECT count(*) INTO var1 FROM n_tbl;

END;

/

Trigger created.

16660 (SQLSTATE: 23001): referential constraint "%s"."%s" restriction violated : can not delete or update parent row

Cause

This error occurs when a referenced column with a PRIMARY KEY or UNIQUE constraint, having the same value as a column with a FOREIGN KEY constraint, is modified.


This happens when the referential triggered action of the FOREIGN KEY constraint is defined as ON UPDATE RESTRICT or ON DELETE RESTRICT.

Action

Attempt to modify the child table’s records first.

For more information about FOREIGN KEY constraints, refer to the FOREIGN KEY Constraint.

16661 (SQLSTATE: 42000): column is referenced in a update column trigger "%s"."%s"

Cause

An UPDATE COLUMN TRIGGER referencing the column to be dropped exists.


gSQL> CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER );

Table created.


gSQL>

CREATE TRIGGER trg1

AFTER UPDATE OF c1 ON t1

BEGIN

NULL;

END;

/


Trigger created.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN c1;

ERR-42000(16661): column is referenced in a update column trigger "PUBLIC"."TRG1"

Action

Use the CASCADE option to remove the trigger along with the column.


gSQL> ALTER TABLE t1 SET UNUSED COLUMN c1 CASCADE;

Table altered.

16662 (SQLSTATE: 42000): cannot execute for the disabled index

Cause

The index is currently in a DISABLE state.


gSQL> CREATE TABLE t1 ( c1 INTEGER );

Table created.


gSQL> CREATE INDEX idx1 ON t1(c1);

Index created.


gSQL> ALTER INDEX idx1 DISABLE;

Index altered.


gSQL> ALTER INDEX idx1 REBUILD;

ERR-42000(16662): cannot execute for the disabled index :

ALTER INDEX idx1 REBUILD

*

ERROR at line 1:

Action

Change it to ENABLE as shown below to rebuild the index.


gSQL> ALTER INDEX idx1 ENABLE;

Index altered.

16663 (SQLSTATE: 42000): referenced unique constraint must be ENFORCED

Cause

The constraint to be referenced is in a NOT ENFORCED state.


gSQL> CREATE TABLE parent ( pk INTEGER CONSTRAINT parent_pk PRIMARY KEY NOT ENFORCED );

Table created.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

ERR-42000(16663): referenced unique constraint must be ENFORCED :

CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) )

*

ERROR at line 1:

Action

Change the constraint to ENFORCED as shown below before referencing it.


gSQL> ALTER TABLE parent ALTER CONSTRAINT parent_pk ENFORCED;

Table altered.


gSQL> CREATE TABLE child ( fk INTEGER REFERENCES parent(pk) );

Table created.

16664 (SQLSTATE: 42000): trigger type mismatch : %s

Cause

The order of incompatible triggers cannot be changed.


gSQL> CREATE TABLE t1 ( c1 INTEGER );

Table created.


gSQL> CREATE TABLE t2 ( c1 INTEGER );

Table created.


gSQL>

CREATE OR REPLACE TRIGGER trg1

AFTER INSERT ON t1

BEGIN

NULL;

END;

/


Trigger created.


gSQL>

CREATE OR REPLACE TRIGGER trg2

AFTER INSERT ON t1

BEGIN

NULL;

END;

/


Trigger created.


gSQL> ALTER TABLE t2 SET TRIGGER ORDER trg2, trg1;

ERR-42000(16664): trigger type mismatch : event object mismatch :

ALTER TABLE t2 SET TRIGGER ORDER trg2, trg1

*

ERROR at line 1:

Action

Use compatible triggers as shown below.


gSQL> ALTER TABLE t1 SET TRIGGER ORDER trg2, trg1;

Table altered.

16665 (SQLSTATE: 42000): duplicate trigger name

Cause

Duplicated trigger names are listed.


gSQL> ALTER TABLE t1 SET TRIGGER ORDER trg1, trg1;

ERR-42000(16665): duplicate trigger name :

ALTER TABLE t1 SET TRIGGER ORDER trg1, trg1

*

ERROR at line 1:

Action

Use unique trigger names to avoid duplication.


gSQL> ALTER TABLE t1 SET TRIGGER ORDER trg1, trg2;

Table altered.

16666 (SQLSTATE: 42000): not analyzed system

Cause

ANALYZE SYSTEM has not been executed.


gSQL> ANALYZE SYSTEM EXPORT 'sys.stat';

ERR-42000(16666): not analyzed system

Action

Run ANALYZE SYSTEM before performing the EXPORT.


gSQL> ANALYZE SYSTEM;

analyzed.


gSQL> ANALYZE SYSTEM EXPORT 'sys.stat';

analyzed.

16667 (SQLSTATE: 42000): cannot append insert - foreign keys are enabled on the table

Cause

Tables with FOREIGN KEY constraints do not support append insert using the deferred index maintenance method.


gSQL> CREATE TABLE PARENT ( I1 INTEGER UNIQUE );


Table created.


gSQL> CREATE TABLE CHILD ( I1 INTEGER );


Table created.


gSQL> ALTER TABLE CHILD ADD CONSTRAINT CHILD_FK FOREIGN KEY( I1 ) REFERENCES PARENT( I1 );


Table altered.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT /*+ APPEND DEFERRED_INDEX_MAINTENANCE */ INTO PARENT VALUES ( 2 );


ERR-42000(16667): cannot append insert - foreign keys are enabled on the table

Action

Temporarily disable the FOREIGN KEY constraints, perform the append insert operation, and re-enable the constraints after the operation is completed.


gSQL> ALTER TABLE CHILD ALTER CONSTRAINT CHILD_FK NOT ENFORCED;


Table altered.


gSQL> COMMIT;


Commit complete.


gSQL> INSERT /*+ APPEND DEFERRED_INDEX_MAINTENANCE */ INTO PARENT VALUES ( 1 );


1 row created.


gSQL> COMMIT;


Commit complete.


gSQL> ALTER TABLE CHILD ALTER CONSTRAINT CHILD_FK ENFORCED;


Table altered.

16668 (SQLSTATE: 42000): table sampling can only be performed on a single base table or temporary table

Cause

The sample clause cannot be specified for the following objects.

  • join

  • viewed table

  • inline view

  • common table expression (CTE)


gSQL> SELECT COUNT(*) FROM ( SELECT * FROM t1 ) TABLESAMPLE( 10 PERCENT ROWS );


ERR-42000(16663): table sampling can only be performed on a single base table or temporary table :

SELECT COUNT(*) FROM ( SELECT * FROM t1 ) TABLESAMPLE( 10 PERCENT ROWS )

*

ERROR at line 1:


gSQL> SELECT COUNT(*) FROM v1 TABLESAMPLE( 10 PERCENT ROWS );


ERR-42000(16663): table sampling can only be performed on a single base table or temporary table :

SELECT COUNT(*) FROM v1 TABLESAMPLE( 10 PERCENT ROWS )

*

ERROR at line 1:

Action

The sample clause can only be used with a single base table or a single temporary table.


gSQL> SELECT COUNT(*) FROM t1 TABLESAMPLE( 10 PERCENT ROWS );


COUNT(*)

--------

100549


1 row selected.


gSQL> SELECT COUNT(*) FROM t1 A TABLESAMPLE( 10 PERCENT ROWS ), t1 B TABLESAMPLE( 2 PERCENT ROWS ) WHERE A.c1 = B.c1;


COUNT(*)

--------

20005


1 row selected.


For more information about table sampling, refer to the sample clause.

16669 (SQLSTATE: 42000): table sampling rate must be greater than 0 and less than or equal to 100

Cause

This error occurs when the table sampling rate is outside the valid range.


gSQL> SELECT COUNT(*) FROM t1 TABLESAMPLE( 0 PERCENT ROWS );


ERR-42000(16664): table sampling rate must be greater than 0 and less than or equal to 100 :

SELECT COUNT(*) FROM t1 TABLESAMPLE( 0 PERCENT ROWS )

*

ERROR at line 1:


gSQL> SELECT COUNT(*) FROM t1 TABLESAMPLE( 200 PERCENT ROWS );


ERR-42000(16664): table sampling rate must be greater than 0 and less than or equal to 100 :

SELECT COUNT(*) FROM t1 TABLESAMPLE( 200 PERCENT ROWS )

*

ERROR at line 1:

Action

Enter a table sampling rate greater than 0 and less than or equal to 100, as shown below.


gSQL> SELECT COUNT(*) FROM t1 TABLESAMPLE( 100 PERCENT ROWS );


COUNT(*)

--------

1000000


1 row selected.


gSQL> SELECT COUNT(*) FROM t1 TABLESAMPLE( 10 PERCENT ROWS );


COUNT(*)

--------

99812


1 row selected.


For more information about table sampling, refer to the sample clause.

16670 (SQLSTATE: 23000): check constraint "%s"."%s" violated

Cause

A CHECK constraint has been violated.


gSQL> CREATE TABLE t1 ( c1 INTEGER CHECK ( c1 > 0 ) );

Table created.


gSQL> INSERT INTO t1 VALUES ( -1 );

ERR-23000(16670): check constraint "PUBLIC"."T1_CHECK_C1" violated

Action

Use values that satisfy the CHECK constraint.


gSQL> INSERT INTO t1 VALUES ( 1 );

1 row created.

16671 (SQLSTATE: 42000): maximum number of check columns exceeded

Cause

The number of columns specified in the CHECK constraint exceeds the limit.


gSQL>

ALTER TABLE t1 ADD

CHECK ( c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9 + c10 +

c11 + c12 + c13 + c14 + c15 + c16 + c17 + c18 + c19 + c20 +

c21 + c22 + c23 + c24 + c25 + c26 + c27 + c28 + c29 + c30 +

c31 + c32 + c33 > 0

);


ERR-42000(16671): maximum number of check columns exceeded :

CHECK ( c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9 + c10 +

*

ERROR at line 2:

Action

A CHECK constraint can include up to 32 columns, as shown below.


gSQL>

ALTER TABLE t1 ADD

CHECK ( c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9 + c10 +

c11 + c12 + c13 + c14 + c15 + c16 + c17 + c18 + c19 + c20 +

c21 + c22 + c23 + c24 + c25 + c26 + c27 + c28 + c29 + c30 +

c31 + c32 + c32 > 0

);

Table altered.

16672 (SQLSTATE: 42000): cannot append insert - triggers are enabled on the table

Cause

If a trigger is enabled on the table to be inserted into, an append insert cannot be performed.


DROP TABLE IF EXISTS t1;

DROP TABLE IF EXISTS t2;

CREATE TABLE t1( c1 INTEGER );

CREATE TABLE t2( c1 INTEGER );

INSERT INTO t2 VALUES ( 1 ), ( 2 ), ( 3 );

COMMIT;


CREATE OR REPLACE TRIGGER trg1

BEFORE INSERT ON t1

FOR EACH STATEMENT

BEGIN

DBMS_OUTPUT.PUT_LINE( 'BEFORE INSERT ON t1' );

END;

/

COMMIT;


gSQL> INSERT /*+ APPEND */ INTO t1 SELECT * FROM t2;

ERR-42000(16672): cannot append insert - triggers are enabled on the table

Action

To perform an append insert, the trigger must be disabled.

The trigger status can be checked in the user_triggers view.


gSQL> ALTER TRIGGER trg1 DISABLE;

Trigger altered.


gSQL> INSERT /*+ APPEND */ INTO t1 SELECT * FROM t2;

3 rows created.

16673 (SQLSTATE: 42000): visible conflict

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

16674 (SQLSTATE: 42000): A version conflict was detected while synchronizing the replica

Cause

During DML execution, the update on the master node succeeded, but a version conflict occurred while updating the slave node.

This error does not occur under normal circumstances and may occur only when the update master node fails and the update slave node is promoted to the new update master.

When this error occurs, the corresponding transaction is forcibly rolled back.

Action

Retry the operation at the application level.

16675 (SQLSTATE: 42000): cannot offline transaction tablespace

Cause

Transaction tablespaces cannot be set to OFFLINE.


gSQL> ALTER TABLESPACE mem_trans_tbs OFFLINE;


ERR-42000(16675): cannot offline transaction tablespace :

ALTER TABLESPACE mem_trans_tbs OFFLINE

*

ERROR at line 1:

Action

Verify the purpose of the tablespace before attempting to set it to OFFLINE, as shown below.


gSQL> SELECT tablespace_name, contents FROM dba_tablespaces WHERE tablespace_name = 'MEM_TRANS_TBS';


TABLESPACE_NAME CONTENTS

--------------- -----------

MEM_TRANS_TBS TRANSACTION


1 row selected.

16676 (SQLSTATE: 42000): cannot specify NOLOGGING without the PARALLEL option

Cause

This error message occurs when the NOLOGGING hint is specified in the INSERT statement without specifying the PARALLEL hint.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.


gSQL> INSERT /*+ APPEND NOLOGGING */ INTO t1 VALUES ( 1 );


ERR-42000(16676): cannot specify NOLOGGING without the PARALLEL option

Action

To use the NOLOGGING hint, specify the PARALLEL hint as well.

If the NOLOGGING method is not required, remove the NOLOGGING hint and execute the statement again.


gSQL> CREATE TABLE t1 ( c1 INTEGER );


Table created.


gSQL> INSERT /*+ APPEND PARALLEL NOLOGGING */ INTO T1 VALUES ( 1 );


1 row created.

16677 (SQLSTATE: 42000): unable to set table to 'usable' state due to remaining corrupted pages

Cause

A table containing an UNUSABLE segment cannot be changed to the usable state because it contains logically corrupted pages. For more information, refer to ALTER TABLE name USABLE.

To identify tables containing UNUSABLE segments, check V$RELATION.


gSQL> SELECT NAME, USABLE FROM V$RELATION WHERE USABLE = FALSE AND TYPE = 'TABLE';


NAME USABLE

---- ------

T1 FALSE


1 row selected.


gSQL> ALTER TABLE t1 USABLE;


ERR-42000(16677): unable to set table to 'usable' state due to remaining corrupted pages.

Action

When a segment is added using the ALTER DATABASE REGISTER IRRECOVERABLE SEGMENT statement, the segment is registered as not requiring recovery. Therefore, rebuild the data by truncating the table or drop the table.

For UNUSABLE segments caused by NOLOGGING APPEND INSERT, recover the segments using the backup data file created after the NOLOGGING APPEND INSERT operation, and then perform the operation again.

If no backup data is available, logically corrupted pages cannot be recovered, and the table cannot be changed to the usable state.

To prevent this situation, GOLDILOCKS recommends performing a checkpoint and backup after executing NOLOGGING APPEND INSERT.

16678 (SQLSTATE: 42000): LOCAL SHARD LIMIT is supported only for sharded tables

Cause

LOCAL SHARD LIMIT can be used only in a DELETE FROM statement for a sharded table. For more information, refer to the <local shard limit clause> of DELETE FROM.


gSQL> CREATE TABLE t_cloned ( c1 INTEGER ) CLONED;


Table created.


gSQL> DELETE FROM t_cloned LOCAL SHARD LIMIT 10 ROWS;


ERR-42000(16678): LOCAL SHARD LIMIT is supported only for sharded tables :

DELETE FROM t_cloned LOCAL SHARD LIMIT 10 ROWS

*

ERROR at line 1:

Action

When LOCAL SHARD LIMIT is specified in a DELETE FROM statement, a sharded table must be used in the FROM clause.


gSQL> CREATE TABLE t_shard ( c1 INTEGER ) SHARDING BY ( c1 );


Table created.


gSQL> DELETE FROM t_shard LOCAL SHARD LIMIT 10 ROWS;


no rows deleted.

PSM Related Error

Examples of PSM errors are based on the schema below.

gSQL>
CREATE TABLE t1 ( c1 INTEGER, c2 INTEGER, c3 integer);
INSERT INTO t1 VALUES ( 10, 10 );

CREATE TABLE t2 ( id INTEGER, name VARCHAR(32) );
INSERT INTO t2 VALUES( 101, 'SUNJESOFT' );
INSERT INTO t2 VALUES ( 102, 'GOLDILOCKS' );

CREATE TABLE t3 ( c1 INTEGER GENERATED ALWAYS AS IDENTITY, c2 INTEGER );

CREATE LIBRARY lib AS 'add.so';
/

// add.c
// gcc -shared -fPIC -I$GOLDILOCKS_HOME/include -o $GOLDILOCKS_DATA/extlib/add.so add.c
#include <stdio.h>
#include <goldilocks.h>

int addFunc( int a, int b )
{
 return a + b;
}

int addFuncWithCTX( SQLExtProcContext * context, int a, int b )
{
 return a + b;
}
17000 (SQLSTATE: 2F000): failed to initialize PSM processor layer

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17001 (SQLSTATE: 2F000): not implemented feature (%s)

Cause

This feature is either not implemented or not supported.


gSQL>

DECLARE

TYPE taa IS TABLE OF VARCHAR(10) INDEX BY DATE;

BEGIN

NULL;

END;

/

ERR-2F000(17032): PSM compilation error :

(1) at (2:45): ERR-2F000(17001): not implemented feature (unsupported index type)

Action

This feature cannot be used.

17002 (SQLSTATE: 2F000): duplicated label name

Cause

The duplicate label name was used.


gSQL>

<<aaa>>

DECLARE

v1 INTEGER := 10;

BEGIN

<<aaa>>

DBMS_OUTPUT.PUT_LINE('1st aaa');

<<aaa>>

DBMS_OUTPUT.PUT_LINE('2nd aaa');

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (7:5): ERR-2F000(17002): duplicated label name

Action

Use different label names as follows.


gSQL>

<<aaa>>

DECLARE

v1 INTEGER := 10;

BEGIN

<<bbb>>

DBMS_OUTPUT.PUT_LINE('1st bbb');

<<ccc>>

DBMS_OUTPUT.PUT_LINE('2nd ccc');

END;

/


Anonymous PL block executed.

17003 (SQLSTATE: 2F000): duplicated exception name

Cause

The duplicate exception name was used in EXCEPTION clause.


gSQL>

DECLARE

v1 EXCEPTION;

v2 EXCEPTION;

BEGIN

NULL;

EXCEPTION WHEN v1 THEN

NULL;

WHEN v1 THEN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (9:18): ERR-2F000(17003): duplicated exception name

Action

Use different exception names as follows.


gSQL>

DECLARE

v1 EXCEPTION;

v2 EXCEPTION;

BEGIN

NULL;

EXCEPTION WHEN v1 THEN

NULL;

WHEN v2 THEN

NULL;

END;

/


Anonymous PL block executed.

17004 (SQLSTATE: 2F000): duplicated variable name

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17005 (SQLSTATE: 2F000): not applicable expression type

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17006 (SQLSTATE: 2F000): unknown variable or column name (%s)

Cause

The undeclared variable name was used.


gSQL>

CREATE OR REPLACE PACKAGE pkg1

AS

var0 INTEGER;

END;

/

Package created.


gSQL>

CREATE OR REPLACE PACKAGE pkg2

AS

var1 var0%TYPE;

END;

/


ERR-2F000(17101): PACKAGE(PKG2) Specification has compilation errors :

(1) at (3:10): ERR-2F000(17006): unknown variable or column name (VAR0)

Package created.

Action

Declare the variable as follows.


gSQL>

CREATE OR REPLACE PACKAGE pkg2

AS

var1 pkg1.var0%TYPE;

END;

/

Package created.

17007 (SQLSTATE: 2F000): invalid expression

Cause

The invalid expression was used.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 t1%rowtype )

RETURN t1%ROWTYPE

IS

v1 t1%ROWTYPE;

BEGIN

v1.c1 := a1.c1 * 2;

v1.c2 := a1.c2 * 2;


RETURN v1;

END;

/

Function created.


gSQL>

DECLARE

v2 t1%ROWTYPE;

v1 VARCHAR(20);

BEGIN

v2.c1 := 100;

v2.c2 := 200;


v1 := func1(v2);

END;

/

ERR-2F000(17032): PSM compilation error :

(1) at (8:11): ERR-2F000(17007): invalid expression

Action

Use the valid expression as follows.


gSQL>

DECLARE

v2 t1%ROWTYPE;

v1 t1%ROWTYPE;

BEGIN

v2.c1 := 100;

v2.c2 := 200;


v1 := func1(v2);

END;

/


Anonymous PL block executed.

17008 (SQLSTATE: 2F000): wrong number of parameters

Cause

The number of argument is wrong.


gSQL> var v1 integer;

gSQL>

CREATE OR REPLACE FUNCTION func1(a1 INTEGER, a2 INTEGER)

RETURN INTEGER

IS

BEGIN

DBMS_OUTPUT.PUT_LINE('A1 = ' || a1);

RETURN a1 + a2;

END;

/

Function created.


gSQL> call func1(20) INTO :v1;


ERR-2F000(17008): wrong number of parameters :

call func1(20) INTO :v1

*

ERROR at line 1:

Action

Use it correctly in accordance with the definition of the stored function.


gSQL> call func1(10, 20) INTO :v1;


A1 = 10

Procedure Call complete.

17009 (SQLSTATE: 2F000): NOT NULL constraint violation

Cause

It violated the constraint of the declared NOT NULL.


gSQL>

DECLARE

TYPE rec1 IS RECORD( f1 INTEGER NOT NULL DEFAULT 10, f2 INTEGER NOT NULL DEFAULT 10 );

v_rec rec1;


PROCEDURE proc1( p1 rec1 )

IS

BEGIN

DBMS_OUTPUT.PUT_LINE('p1.f1 = ' || p1.f1);

DBMS_OUTPUT.PUT_LINE('p1.f2 = ' || p1.f2);

END;

BEGIN

v_rec.f1 := NULL;

v_rec.f2 := NULL;

proc1( v_rec );

END;

/


ERR-2F000(17009): NOT NULL constraint violation :

v_rec.f1 := NULL;

*

ERROR at line 12:

Action

Do not use NULL.


gSQL>

DECLARE

TYPE rec1 IS RECORD( f1 INTEGER NOT NULL DEFAULT 10, f2 INTEGER NOT NULL DEFAULT 10 );

v_rec rec1;


PROCEDURE proc1( p1 rec1 )

IS

BEGIN

DBMS_OUTPUT.PUT_LINE('p1.f1 = ' || p1.f1);

DBMS_OUTPUT.PUT_LINE('p1.f2 = ' || p1.f2);

END;

BEGIN

v_rec.f1 := 30;

v_rec.f2 := 50;

proc1( v_rec );

END;

/


p1.f1 = 30

p1.f2 = 50

Anonymous PL block executed.

17010 (SQLSTATE: 2F000): can not find label name

Cause

The label name which can not be referenced was used.


gSQL>

DECLARE

v1 INTEGER := 1;

BEGIN

<<LABEL_START>>

DBMS_OUTPUT.PUT_LINE( 'START TEST' );


<<LABEL_IF>>

IF v1 < 5 THEN

<<LABEL_LOW>>

DBMS_OUTPUT.PUT_LINE( 'LOW' );

GOTO LABEL_HIGH;

ELSE

<<LABEL_HIGH>>

DBMS_OUTPUT.PUT_LINE( 'HIGH' );

END IF;


<<LABEL_FINISH>>

DBMS_OUTPUT.PUT_LINE( 'FINISH TEST' );

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (11:10): ERR-2F000(17010): can not find label name

Action

Use the referenceable label name as follows.


gSQL>

DECLARE

v1 INTEGER := 1;

BEGIN

<<LABEL_START>>

DBMS_OUTPUT.PUT_LINE( 'START TEST' );


<<LABEL_IF>>

IF v1 < 5 THEN

<<LABEL_LOW>>

DBMS_OUTPUT.PUT_LINE( 'LOW' );

GOTO LABEL_FINISH;

ELSE

<<LABEL_HIGH>>

DBMS_OUTPUT.PUT_LINE( 'HIGH' );

END IF;


<<LABEL_FINISH>>

DBMS_OUTPUT.PUT_LINE( 'FINISH TEST' );

END;

/


START TEST

LOW

FINISH TEST

Anonymous PL block executed.

17011 (SQLSTATE: 2F000): duplicated field name

Cause

The duplicate field name was used when declaring the record type.


gSQL>

DECLARE

TYPE my_rec1 IS RECORD

( f1 INTEGER NOT NULL := 1,

f2 VARCHAR(10) NOT NULL := 'AAA',

f2 VARCHAR(10) NOT NULL := 'AAA'

);

v1 my_rec1;

BEGIN

v1.f1 := 1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (5:8): ERR-2F000(17011): duplicated field name

(2) at (7:7): ERR-2F000(17012): unknown type name

(3) at (9:4): ERR-2F000(17006): unknown variable or column name (V1)

Action

Use different field names.


gSQL>

DECLARE

TYPE my_rec1 IS RECORD

( f1 INTEGER NOT NULL := 1,

f2 VARCHAR(10) NOT NULL := 'AAA',



f3 VARCHAR(10) NOT NULL := 'AAA'

);

v1 my_rec1;

BEGIN

v1.f1 := 1;

END;

/

Anonymous PL block executed.

17012 (SQLSTATE: 2F000): unknown type name

Cause

The unknown type name was used.


gSQL>

DECLARE

TYPE my_rec1 IS RECORD ( f1 INTEGER, f2 VARCHAR(10) );

v1 my_rec2;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:8): ERR-2F000(17012): unknown type name

Action

Use the correct type name.


gSQL>

DECLARE

TYPE my_rec1 IS RECORD ( f1 INTEGER, f2 VARCHAR(10) );

v1 my_rec1;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17013 (SQLSTATE: 2F000): the type of record field should be scalar

Cause

The type declared for the record field is not a scalar type.


gSQL>

DECLARE

TYPE my_rec1 IS RECORD ( f1 INTEGER NOT NULL := 1, f2 VARCHAR(10) NOT NULL := 'AAA' );

TYPE my_rec2 IS RECORD ( f1 INTEGER NOT NULL := 1, f2 my_rec1 );

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:57): ERR-2F000(17013): the type of record field should be scalar

Action

The record field can use only the scalar type.


gSQL>

DECLARE

TYPE my_rec1 IS RECORD ( f1 INTEGER, f2 VARCHAR(10) );

TYPE my_rec2 IS RECORD ( f1 INTEGER, f2 INTEGER );

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17014 (SQLSTATE: 2F000): target host parameter of assignment is not bound in OUT mode

Cause

It does not bind the host variable when using the assignment statement.

Action

Bind the variable corresponding to the host variable when creating an application.

17015 (SQLSTATE: 2F000): cannot set constraint or initial value on non-scalar-type variable

Cause

It can not set the initial value in the non-scalar variable.


gSQL>

DECLARE

TYPE urec IS RECORD (f1 INTEGER);

v1 urec := 10;

BEGIN

NULL;

END;

/


(1) at (3:13): ERR-2F000(17015): cannot set constraint or initial value on non-scalar-type variable

Action

Set the field value as follows.


gSQL>

DECLARE

TYPE urec IS RECORD (f1 INTEGER);

v1 urec;

BEGIN

v1.f1 := 10;

NULL;

END;

/


Anonymous PL block executed.

17016 (SQLSTATE: 2F000): variables which have NOT NULL constraint should have initial values

Cause

If not null constraint exists, then the initial value should exist when declaring the variable.


gSQL>

DECLARE

v1 NUMBER(5,2) NOT NULL := 100.01;

v2 v1%TYPE;

BEGIN

NULL;

END;

/


(1) at (3:3): ERR-2F000(17016): variables which have NOT NULL constraint should have initial values

Action

Set the initial value as follows.


gSQL>

DECLARE

v1 NUMBER(5,2) NOT NULL := 100.01;

v2 v1%TYPE := 200.02;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17017 (SQLSTATE: 2F000): unhandled user exception (%s)

Cause

RAISE exception is not controlled.


gSQL>

DECLARE

e1 EXCEPTION;

e2 EXCEPTION;

BEGIN

RAISE e1;

EXCEPTION WHEN e2 THEN NULL;

END;

/


ERR-2F000(17017): Unhandled user exception (E1)

Action

Control RAISE exception as follows.


gSQL>

DECLARE

e1 EXCEPTION;

e2 EXCEPTION;

BEGIN

RAISE e1;

EXCEPTION WHEN e1 THEN NULL;

END;

/


Anonymous PL block executed.

17018 (SQLSTATE: 2F000): pre-defined exception name not allowed in declare section

Cause

The pre-defined exception can not be declared.


gSQL>

DECLARE

ZERO_DIVIDE EXCEPTION;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (2:1): ERR-2F000(17018): Pre-defined-exception name not allowed in declare section

Action

Define a new name exception.


gSQL>

DECLARE

e1 EXCEPTION;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17019 (SQLSTATE: 2F000): OTHERS exception must be last among the exceptions of a block

Cause

OTHERS exception should be described at the end of exception block.


gSQL>

BEGIN

RAISE ZERO_DIVIDE;

EXCEPTION WHEN OTHERS THEN NULL;

WHEN ZERO_DIVIDE THEN NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:19): ERR-2F000(17019): OTHERS-exception must be last among the exceptions of a block

Action

Describe OTHERS exception at the end as follows.


gSQL>

BEGIN

RAISE ZERO_DIVIDE;

EXCEPTION WHEN ZERO_DIVIDE THEN NULL;

WHEN OTHERS THEN NULL;

END;

/


Anonymous PL block executed.

17020 (SQLSTATE: 2F000): unknown exception

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17021 (SQLSTATE: 2F000): Invalid error number for PRAGMA EXCEPTION_INIT

Cause

It sets the invalid error number.


gSQL>

DECLARE

v1 EXCEPTION;

PRAGMA EXCEPTION_INIT(v1, 0);

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:30): ERR-2F000(17021): Invalid error number for PRAGMA EXCEPTION_INIT

Action

Use the PSM user defined error code range (-20000 ~ -20999).


gSQL>

DECLARE

v1 EXCEPTION;

PRAGMA EXCEPTION_INIT(v1, -20000);

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17022 (SQLSTATE: 2F000): A CASE statement must either list all possible cases or have an else clause

Cause

The value that is not listed in CASE statement was used.

gSQL>

DECLARE

v1 INTEGER := 3;

BEGIN

CASE v1 WHEN 1 THEN NULL;

WHEN 2 THEN NULL;

END CASE;

END;

/


ERR-2F000(17022): A CASE statement must either list all possible cases or have an else clause :

CASE V1 WHEN 1 THEN NULL;

*

ERROR at line 4:

Action

Add the ELSE clause to the CASE statement as follows.


gSQL>

DECLARE

v1 INTEGER := 3;

BEGIN

CASE v1 WHEN 1 THEN NULL;

WHEN 2 THEN NULL;

ELSE NULL;

END CASE;

END;

/


Anonymous PL block executed.

17023 (SQLSTATE: 2F000): duplicated error-code in same exception handler

Cause

Each different exception has the same error code in the exception handler.


gSQL>

DECLARE

e1 EXCEPTION;

PRAGMA EXCEPTION_INIT(e1, -12122);

BEGIN

RAISE ZERO_DIVIDE;

EXCEPTION WHEN e1 THEN NULL;

WHEN ZERO_DIVIDE THEN NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (7:20): ERR-2F000(17023): duplicated error-code in same exception handler

Action

Make each different exception have different error code as follows.


gSQL>

DECLARE

e1 EXCEPTION;

PRAGMA EXCEPTION_INIT(e1, -20000);

BEGIN

RAISE ZERO_DIVIDE;

EXCEPTION WHEN e1 THEN NULL;

WHEN ZERO_DIVIDE THEN NULL;

END;

/


Anonymous PL block executed.

17024 (SQLSTATE: 2F000): (%s) cannot be used as assignment target

Cause

It is the variable which can not be used on the left of the assignment statement.


gSQL>

BEGIN

FOR i IN 1 .. 10 LOOP

i := 1;

END LOOP;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:5): ERR-2F000(17024): (I) cannot be used as assignment target

Action

read only variable can not be changed.

17025 (SQLSTATE: 2F000): The command cannot be executed when global transaction is in the ACTIVE state

Cause

The procedure including DDL is not executable in XA environment.


gSQL>

CREATE OR REPLACE PROCEDURE proc1()

AS

BEGIN

EXECUTE IMMEDIATE 'CREATE OR REPLACE PROCEDURE proc2()

AS

BEGIN

NULL;

END;';

END;

/

Procedure created.


gSQL> \xa start 10

XA transaction started


gSQL> CALL proc1;


ERR-2F000(17025): The command cannot be executed when global transaction is in the ACTIVE state :

EXECUTE IMMEDIATE 'CREATE OR REPLACE PROCEDURE proc2()

*

ERROR at line 4:

ERROR at PROCEDURE("PROC1")


gSQL> \xa rollback 10

Rollback completed

Action

Execute it in the environment other than XA environment.


gSQL> CALL proc1;


Procedure Call complete.

17026 (SQLSTATE: 2F000): Transaction is READ ONLY

Cause

DML is not executable in read only transaction.


gSQL> SET TRANSACTION READ ONLY;


gSQL>

BEGIN

INSERT INTO t1(c1, c2) VALUES ( 1, 1 );

COMMIT;

END;

/


ERR-2F000(17026): Transaction is READ ONLY :

INSERT INTO t1(c1, c2) VALUES ( 1, 1 );

*

ERROR at line 3:

Action

Swift it to the read write transaction, then execute DML.


gSQL> SET TRANSACTION READ WRITE;


gSQL>

BEGIN

INSERT INTO t1(c1, c2) VALUES ( 1, 1 );

COMMIT;

END;

/


Anonymous PL block executed.

17027 (SQLSTATE: 2F000): duplicated identifier

Cause

The duplicated variable is declared.


gSQL>

DECLARE

v1 INTEGER;

v1 INTEGER;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:4): ERR-2F000(17027): duplicated identifier

Action

Declare the variable whose name is not duplicate.


gSQL>

DECLARE

v1 INTEGER;

v2 INTEGER;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17028 (SQLSTATE: 2F000): out of scope

Cause

It approached to the variable of the cope(label) which can not be referenced.


gSQL>

<<AA>>

DECLARE

v1 INTEGER := 10;

BEGIN

<<BB>>

DECLARE

v1 INTEGER := 20;

BEGIN

NULL;

END;


BB.v1 := 1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (12:6): ERR-2F000(17028): out of scope error

Action

Use the variable of the referenceable scope(label).


gSQL>

<<AA>>

DECLARE

v1 INTEGER := 10;

BEGIN

<<BB>>

DECLARE

v1 INTEGER := 20;

BEGIN

NULL;

END;


AA.v1 := 1;

END;

/


Anonymous PL block executed.

17029 (SQLSTATE: 2F000): too many depths of scope (limit=%d)

Cause

It references too deep depth variable


gSQL>

DECLARE

v_sql_text varchar(4000);

BEGIN

v_sql_text := 'DECLARE v1 integer; {1} v1:= 10; {2}';


v_sql_text := REPLACE(v_sql_text, '{1}', REPEAT('BEGIN ', 128));

v_sql_text := REPLACE(v_sql_text, '{2}', REPEAT('END; ', 128));


EXECUTE IMMEDIATE v_sql_text;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (1:1): ERR-2F000(17029): too many depths of scope (limit=128)


EXECUTE IMMEDIATE v_sql_text;

*

ERROR at line 9:

Action

It can refer to the variable in the scope less than top 128.

17030 (SQLSTATE: 2F000): invalid reference (%s)

Cause

It can not directly access the field of the type(record) when declaring a variable.


gSQL>

DECLARE

TYPE rec IS RECORD (f1 VARCHAR(20), f2 VARCHAR(20));

v1 rec.f1%TYPE;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:12): ERR-2F000(17030): invalid reference (REC.F1)

Action

Refer to the field after declaring a record variable as follows.


gSQL>

DECLARE

TYPE rec IS RECORD (f1 VARCHAR(20), f2 VARCHAR(20));

v0 rec;

v1 v0.f1%TYPE;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17031 (SQLSTATE: 2F000): mismatch identifier type

Cause

The variable type which is not allowed for the statement was used.


gSQL>

DECLARE

TYPE t_arr IS TABLE OF VARCHAR(32) INDEX BY INTEGER;

v_arr t_arr;

BEGIN

v_arr(0) := 'A';

v_arr(1) := v_arr();

DBMS_OUTPUT.PUT_LINE( v_arr(1) );

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (6:16): ERR-2F000(17031): mismatch identifier type

Action

Use the variable type which is allowed to the statement as follows.


gSQL>

DECLARE

TYPE t_arr IS TABLE OF VARCHAR(32) INDEX BY INTEGER;

v_arr t_arr;

BEGIN

v_arr(0) := 'A';

v_arr(1) := v_arr(0);

DBMS_OUTPUT.PUT_LINE( v_arr(1) );

END;

/


A

Anonymous PL block executed.

17032 (SQLSTATE: 2F000): PSM compilation error

Cause

It is a compile error.


gSQL>

DECLARE

v1 NUMBER(39);

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (2:13): ERR-42000(16024): numeric precision specifier is out of range( 1 to 38 )

Action

Correct the compile error.


gSQL>

DECLARE

v1 NUMBER(38);

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17033 (SQLSTATE: 2F000): duplicated cursor name

Cause

The duplicated cursor is declared.


gSQL>

DECLARE

CURSOR cur1 IS SELECT * FROM dual;

CURSOR cur1 IS SELECT * FROM dual;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:10): ERR-2F000(17033): duplicated cursor name

Action

Do not declare the duplicated cursor name.


gSQL>

DECLARE

CURSOR cur1 IS SELECT * FROM dual;

CURSOR cur2 IS SELECT * FROM dual;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17034 (SQLSTATE: 2F000): return type of cursor is invalid

Cause

The SELECT result and the return type of the cursor are not compatible.


gSQL>

DECLARE

CURSOR c1 RETURN t1%ROWTYPE IS SELECT c1 FROM t1;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (2:20): ERR-2F000(17034): return type of cursor is invalid

Action

Correct the SELECT result and the return type of the cursor to be compatible.


gSQL>

DECLARE

CURSOR c1 RETURN t1%ROWTYPE IS SELECT * FROM t1;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17035 (SQLSTATE: 2F000): invalid expression type

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17036 (SQLSTATE: 2F000): cursor is not defined

Cause

The cursor is not declared.


gSQL>

DECLARE

CURSOR cur1 RETURN t1%ROWTYPE;

BEGIN

OPEN cur1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (4:8): ERR-2F000(17036): cursor is not defined

Action

Specify the cursor query.


gSQL>

DECLARE

CURSOR cur1 RETURN t1%ROWTYPE IS SELECT * FROM t1;

BEGIN

OPEN cur1;

END;

/


Anonymous PL block executed.

17037 (SQLSTATE: 2F000): cursor is already open

Cause

The cursor is already open.


gSQL>

DECLARE

CURSOR cur1 IS SELECT * FROM t1;

BEGIN

OPEN cur1;

OPEN cur1;

END;

/


ERR-2F000(17037): cursor is already open :

OPEN cur1;

*

ERROR at line 5:

Action

Close the open cursor, then open it.


gSQL>

DECLARE

CURSOR cur1 IS SELECT * FROM t1;

BEGIN

OPEN cur1;

CLOSE cur1;

OPEN cur1;

END;

/


Anonymous PL block executed.

17038 (SQLSTATE: 2F000): cursor is not open

Cause

The cursor is not open.


DECLARE

CURSOR cur1 IS SELECT c1 FROM t1;

v1 INTEGER;

BEGIN

FETCH cur1 INTO v1;

END;

/


ERR-2F000(17038): cursor is not open :

FETCH cur1 INTO v1;

*

ERROR at line 5:

Action

Open the cursor, then FETCH it.


gSQL>

DECLARE

CURSOR cur1 IS SELECT c1 FROM t1;

v1 INTEGER;

BEGIN

OPEN cur1;

FETCH cur1 INTO v1;

END;

/


Anonymous PL block executed.

17039 (SQLSTATE: 2F000): unknown cursor

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17040 (SQLSTATE: 2F000): fetch target count mismatch

Cause

The number of FETCH targets and that of SELECT column are different.


gSQL>

DECLARE

CURSOR cur1 IS SELECT c1, c2 FROM t1;

v1 INTEGER;

v2 INTEGER;

BEGIN

OPEN cur1;

FETCH cur1 INTO v1;

CLOSE cur1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (7:3): ERR-2F000(17040): fetch target count mismatch

Action

The number of FETCH targets and that of SELECT columns should be same.


gSQL>

DECLARE

CURSOR cur1 IS SELECT c1, c2 FROM t1;

v1 INTEGER;

v2 INTEGER;

BEGIN

OPEN cur1;

FETCH cur1 INTO v1, v2;

CLOSE cur1;

END;

/


Anonymous PL block executed.

17041 (SQLSTATE: 2F000): execution fail

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17042 (SQLSTATE: 2F000): bind variables not allowed for data definition operations

Cause

The INTO and USING clauses cannot be used in DDL statements.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

v1 := 20;

EXECUTE IMMEDIATE 'CREATE TABLE t10 ( c1 INTEGER DEFAULT 10)' USING v1;

END;

/


ERR-2F000(17042): bind variables not allowed for data definition operations :

EXECUTE IMMEDIATE 'CREATE TABLE t10 ( c1 INTEGER DEFAULT 10)' USING v1;

*

ERROR at line 5:

Action

Remove the INTO and USING clauses from the DDL statement.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

v1 := 20;

EXECUTE IMMEDIATE 'CREATE TABLE t10 ( c1 INTEGER DEFAULT 10)';

ROLLBACK;

END;

/


Anonymous PL block executed.

17043 (SQLSTATE: 2F000): no target-list for into clause

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17044 (SQLSTATE: 2F000): returning-into need to bind variable with returning-into or using OUT clause

Cause

The bind variable for RETURNING INTO can not get the result with USING.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

EXECUTE IMMEDIATE 'delete from t1 where c1 = 100 returning c2 into ?' USING v1;

END;

/


ERR-2F000(17044): returning-into need to bind variable with returning-into or using OUT clause :

EXECUTE IMMEDIATE 'delete from t1 where c1 = 100 returning c2 into ?' USING v1;

*

ERROR at line 4:

Action

Use USING OUT clause as follows.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

EXECUTE IMMEDIATE 'delete from t1 where c1 = 100 returning c2 into ?' USING OUT v1;

END;

/


Anonymous PL block executed.

17045 (SQLSTATE: 2F000): no data found

Cause

The query result does not exist.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

SELECT c1 INTO v1 FROM t1 where c1 = 100;

END;

/


ERR-2F000(17045): no data found :

SELECT c1 INTO v1 FROM t1;

*

ERROR at line 4:

Action

Control NO_DATA_FOUND exception as follows.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

SELECT c1 INTO v1 FROM t1 where c1 = 100;

EXCEPTION WHEN NO_DATA_FOUND THEN v1 := 0;

END;

/


Anonymous PL block executed.

17046 (SQLSTATE: 2F000): variables of record type can not be mixed with other variable

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17047 (SQLSTATE: 2F000): only record-type variable allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17048 (SQLSTATE: 2F000): The INTO clause or RETURNING INTO clause cannot be used
 with a USING clause containing OUT-mode

Cause

USING OUT cannot be used with the INTO clause or the RETURNING INTO clause.


gSQL>

DECLARE

var1 INTEGER;

var2 INTEGER;

v_str VARCHAR(100);

BEGIN

v_str := 'INSERT INTO t1 VALUES ( 3 ,3 ) RETURNING * INTO ? , ?';


EXECUTE IMMEDIATE v_str

USING OUT var1

RETURNING INTO var2;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (8:3): ERR-2F000(17048): INTO clause or RETURNING INTO clause cannot be used with a USING clause that has OUT-mode

Action

Do not use USING OUT with the INTO clause or the RETURNING INTO clause.


gSQL>

DECLARE

var1 INTEGER;

var2 INTEGER;

v_str VARCHAR(100);

BEGIN

v_str := 'INSERT INTO t1 VALUES ( 3 ,3 ) RETURNING * INTO ? , ?';


EXECUTE IMMEDIATE v_str

USING OUT var1 , OUT var2;

END;

/


Anonymous PL block executed.


or


gSQL>

DECLARE

var1 INTEGER;

var2 INTEGER;

v_str VARCHAR(100);

BEGIN

v_str := 'INSERT INTO t1 VALUES ( 3 ,3 ) RETURNING * INTO ? , ?';


EXECUTE IMMEDIATE v_str

RETURNING INTO var1 , var2;

END;

/


Anonymous PL block executed.

17049 (SQLSTATE: 2F000): can not use a expression in USING OUT binding

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17050 (SQLSTATE: 2F000): query need to bind with INTO-clause for targets

Cause

INTO clause should be used when executing SELECT query with EXECUTE IMMEDIATE.


gSQL>

DECLARE

v_name VARCHAR(30);

BEGIN

EXECUTE IMMEDIATE 'select name from t2 where id = 101';

END;

/


ERR-2F000(17050): query need to bind with INTO-clause for targets :

EXECUTE IMMEDIATE 'select name from t1 where id = 101';

*

ERROR at line 4:

Action

Use INTO clause in EXECUTE IMMEDIATE statement as follows.


gSQL>

DECLARE

v_name VARCHAR(30);

BEGIN

EXECUTE IMMEDIATE 'select name from t2 where id = 101' INTO v_name;

END;

/


Anonymous PL block executed.

17051 (SQLSTATE: 2F000): invalid statement-type

Cause

SQL statement which is not allowed was used.


gSQL>

BEGIN

FOR rec IN ( insert into t2 values (101, 'leekmo') )

LOOP

NULL;

END LOOP;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (2:16): ERR-2F000(17051): invalid statement-type

Action

Use SELECT query as follows in cursor FOR LOOP statement.


gSQL>

BEGIN

FOR rec IN ( select * from t2 )

LOOP

NULL;

END LOOP;

END;

/


Anonymous PL block executed.

17052 (SQLSTATE: 2F000): Alias required in list of cursor to avoid duplicated target names

Cause

SELECT target name is duplicate, so the cursor can not identify them.


gSQL>

DECLARE

CURSOR cur1 IS SELECT id, id FROM t2;

BEGIN

FOR rec IN cur1

LOOP

NULL;

END LOOP;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (4:5): ERR-2F000(17052): Alias required in list of cursor to avoid duplicated target names

Action

Assign AS alias to SELECT query as follows to avoid the duplicate names.


gSQL>

DECLARE

CURSOR cur1 IS SELECT id, id AS id2 FROM t2;

BEGIN

FOR rec IN cur1

LOOP

NULL;

END LOOP;

END;

/


Anonymous PL block executed.

17053 (SQLSTATE: 2F000): schema or table object does not exist

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17054 (SQLSTATE: 2F000): only record-type variable allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17055 (SQLSTATE: 2F000): this cursor must be declared with FOR-UPDATE to use with CURRENT OF

Cause

It should be FOR UPDATE cursor to use WHERE CURRENT OF cursor.


gSQL>

DECLARE

v_rec t2%ROWTYPE;

CURSOR cur1 IS SELECT * FROM t2 WHERE id = 102;

BEGIN

OPEN cur1;

FETCH cur1 INTO v_rec;

UPDATE t2 SET name = 'xyz' WHERE CURRENT OF cur1;

CLOSE cur1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (7:4): ERR-2F000(17055): this cursor must be declared with FOR-UPDATE to use with CURRENT OF

Action

Describe FOR UPDATE as follows when declaring a cursor.


gSQL>

DECLARE

v_rec t2%ROWTYPE;

CURSOR cur1 IS SELECT * FROM t2 WHERE id = 102 FOR UPDATE;

BEGIN

OPEN cur1;

FETCH cur1 INTO v_rec;

UPDATE t2 SET name = 'xyz' WHERE CURRENT OF cur1;

CLOSE cur1;

END;

/


Anonymous PL block executed.

17056 (SQLSTATE: 2F000): invalid syntax error

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17057 (SQLSTATE: 2F000): only select-into statement allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17058 (SQLSTATE: 2F000): source-name of return-type is not record-type or record-type variable

Cause

RETURN type of REF CURSOR type should be a record type.


gSQL>

DECLARE

TYPE rec IS TABLE OF t1%ROWTYPE INDEX BY VARCHAR(20);

TYPE cv IS REF CURSOR RETURN rec;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:30): ERR-2F000(17058): source-name of return-type is not record-type or record-type variable

Action

Use a record type as follows.


gSQL>

DECLARE

TYPE rec IS RECORD (id INTEGER, name VARCHAR(30));

TYPE cv IS REF CURSOR RETURN rec;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17059 (SQLSTATE: 2F000): source-name of rowtype must be a table, view, cursor, cursor-variable

Cause

The source of ROWTYPE is inappropriate.


gSQL>

DECLARE

TYPE rec IS RECORD (id INTEGER, name VARCHAR(30));

TYPE cv IS REF CURSOR RETURN rec%ROWTYPE;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:34): ERR-2F000(17059): source-name of rowtype must be a table, view, cursor, cursor-variable

Action

Specify the table as the source of ROWTYPE as follows.


gSQL>

DECLARE

TYPE rec IS RECORD (id INTEGER, name VARCHAR(30));

TYPE cv IS REF CURSOR RETURN t1%ROWTYPE;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17060 (SQLSTATE: 2F000): a cursor-variable with having return-type cannot be used in OPEN FOR dynamic-sql

Cause

It should be a weak ref cursor to use the Dynamic in SQL REF CURSOR.


gSQL>

DECLARE

TYPE cv_org IS REF CURSOR RETURN t1%ROWTYPE;

cv cv_org;

sqltext VARCHAR(4000);

BEGIN

sqltext := 'select * from t1';

OPEN cv FOR sqltext;

CLOSE cv;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (7:3): ERR-2F000(17060): a cursor-variable with having return-type cannot be used in OPEN FOR dynamic-sql

Action

Omit the RETURN clause when declaring a REF CURSOR type.


gSQL>

DECLARE

TYPE cv_org IS REF CURSOR;

cv cv_org;

sqltext VARCHAR(4000);

BEGIN

sqltext := 'select * from t1';

OPEN cv FOR sqltext;

CLOSE cv;

END;

/

17061 (SQLSTATE: 2F000): it can be allowed with only IN-Binding type

Cause

USING OUT was used where in-binding is required.


gSQL>

DECLARE

cur1 SYS_REFCURSOR;

v1 INTEGER;

v_row t2%ROWTYPE;

BEGIN

v1 := 101;

OPEN cur1 FOR 'SELECT * FROM t2 WHERE id = ?' USING OUT v1;

FETCH cur1 INTO v_row;

CLOSE cur1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (7:62): ERR-2F000(17061): it can be allowed with only IN-Binding type

Action

Use USING as follows.


gSQL>

DECLARE

cur1 SYS_REFCURSOR;

v1 INTEGER;

v_row t2%ROWTYPE;

BEGIN

v1 := 101;

OPEN cur1 FOR 'SELECT * FROM t2 WHERE id = ?' USING v1;

FETCH cur1 INTO v_row;

CLOSE cur1;

END;

/


Anonymous PL block executed.

17062 (SQLSTATE: 2F000): duplicated routine name

Cause

The procedure with the duplicate name was defined.


gSQL>

DECLARE

PROCEDURE proc1( a1 INTEGER )

IS

BEGIN

NULL;

END;

PROCEDURE proc1( a1 INTEGER )

IS

BEGIN

NULL;

END;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:14): ERR-2F000(17062): duplicated routine name

(2) at (2:4): ERR-2F000(17081): program body of the routine (PROC1) is not defined

Action

Use different names as follows.


gSQL>

DECLARE

PROCEDURE proc1( a1 INTEGER )

IS

BEGIN

NULL;

END;

PROCEDURE proc2( a1 INTEGER )

IS

BEGIN

NULL;

END;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17063 (SQLSTATE: 2F000): unknown routine name

Cause

The procedure which does not exist was used.


gSQL>

DECLARE

PROCEDURE proc1 IS BEGIN NULL; END;

BEGIN

proc_invalid;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (4:5): ERR-2F000(17063): unknown routine name

Action

Use a valid procedure.


gSQL>

DECLARE

PROCEDURE proc1 IS BEGIN NULL; END;

BEGIN

proc1;

END;

/


Anonymous PL block executed.

17064 (SQLSTATE: 2F000): invalid routine name

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17065 (SQLSTATE: 2F000): invalid routine object status

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17066 (SQLSTATE: 2F000): a RAISE statement with no exception name must be inside an exception handler

Cause

The RAISE statement without an exception can be used only within an exception handler.


gSQL>

BEGIN

BEGIN

RAISE;

EXCEPTION WHEN OTHERS THEN RAISE;

END;


EXCEPTION WHEN OTHERS THEN NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:7): ERR-2F000(17066): a RAISE statement with no exception name must be inside an exception handler

Action

Specify RAISE exception as follows.


gSQL>

BEGIN

BEGIN

RAISE NO_DATA_FOUND;

EXCEPTION WHEN OTHERS THEN RAISE;

END;


EXCEPTION WHEN OTHERS THEN NULL;

END;

/


Anonymous PL block executed.

17067 (SQLSTATE: 2F000): return types of Result Set variables or query do not match

Cause

The result set of the cursor and the target of FETCH do not match.


gSQL>

DECLARE

TYPE cur_type IS REF CURSOR;

cur1 cur_type;

v1 INTEGER;

v2 VARCHAR(32);

BEGIN

OPEN cur1 FOR 'SELECT id, name FROM t2';

FETCH cur1 INTO v1;

CLOSE cur1;

END;

/


ERR-2F000(17067): return types of Result Set variables or query do not match :

FETCH cur1 INTO v1;

*

ERROR at line 8:

Action

Modify the target of FETCH INTO as follows.


gSQL>

DECLARE

TYPE cur_type IS REF CURSOR;

cur1 cur_type;

v1 INTEGER;

v2 VARCHAR(32);

BEGIN

OPEN cur1 FOR 'SELECT id, name FROM t2';

FETCH cur1 INTO v1, v2;

CLOSE cur1;

END;

/


Anonymous PL block executed.

17068 (SQLSTATE: 2F000): wrong number or types of arguments

Cause

The parameter settings are wrong when calling the procedure.


gSQL>

DECLARE

TYPE rec_type1 IS RECORD( id INTEGER , name VARCHAR(20));

TYPE rec_type2 IS RECORD( id INTEGER , name VARCHAR(20));

rec1 rec_type1;

rec2 rec_type2;


PROCEDURE proc1( a1 rec_type1 )

AS

BEGIN

NULL;

END;

BEGIN

proc1( rec2 );

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (13:11): ERR-2F000(17068): wrong number or types of arguments

Action

Set the parameter whose record type is the same as the procedure.


gSQL>

DECLARE

TYPE rec_type1 IS RECORD( id INTEGER , name VARCHAR(20));

TYPE rec_type2 IS RECORD( id INTEGER , name VARCHAR(20));

rec1 rec_type1;

rec2 rec_type2;


PROCEDURE proc1( a1 rec_type1 )

AS

BEGIN

NULL;

END;

BEGIN

proc1( rec1 );

END;

/


Anonymous PL block executed.

17069 (SQLSTATE: 2F000): invalid variable usage

Cause

The usage of the record variable was wrong when executing the dynamic SQL.


gSQL>

DECLARE

TYPE rec_type IS RECORD (id INTEGER, name VARCHAR(32) );

v_rec rec_type;

v1 INTEGER;

BEGIN

EXECUTE IMMEDIATE 'select id, name from t2 where id = 101' INTO v_rec, v1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (6:75): ERR-2F000(17069): invalid variable usage

Action

Describe the correct record variable as follows.


DECLARE

TYPE rec_type IS RECORD (id INTEGER, name VARCHAR(32) );

v_rec rec_type;

v1 INTEGER;

BEGIN

EXECUTE IMMEDIATE 'select id, name from t2 where id = 101' INTO v_rec;

END;

/


Anonymous PL block executed.

17070 (SQLSTATE: 2F000): return statement in procedures or anonymous blocks cannot have <value> clause

Cause

RETURN clause is not allowed in the procedure.


gSQL>

CREATE OR REPLACE PROCEDURE proc1

AS

BEGIN

NULL;

RETURN 1;

END;

/


ERR-01000(16409): Warning: Routine(PROC1) has compilation errors :

(1) at (5:4): ERR-2F000(17070): return statement in procedures or anonymous blocks cannot have <value> clause

Procedure created.

Action

Delete RETURN clause as follows.


gSQL>

CREATE OR REPLACE PROCEDURE proc1

AS

BEGIN

NULL;

END;

/


Procedure created.

17071 (SQLSTATE: 2F000): return statement in functions should have <value> clause

Cause

RETURN clause of the stored function should specify the value.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN INTEGER

AS

BEGIN

RETURN;

END;

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (5:5): ERR-2F000(17071): return statement in functions should have <value> clause

Function created.

Action

Specify the value in RETURN clause as follows.


CREATE OR REPLACE FUNCTION func1

RETURN INTEGER

AS

BEGIN

RETURN 1;

END;

/


Function created.

17072 (SQLSTATE: 2F000): existing state of routine has been discarded

Cause

The procedure became inexecutable by DROP PROCEDURE statement as follows.


gSQL>

CREATE OR REPLACE PROCEDURE proc1 AS

BEGIN

NULL;

END;

/

Procedure created.


gSQL>

DECLARE

v_sql VARCHAR(1024);

BEGIN

proc1;


v_sql := 'DROP PROCEDURE proc1;';

EXECUTE IMMEDIATE v_sql;


proc1;

END;

/


ERR-2F000(17072): existing state of routine(PROC1) has been discarded :

proc1;

*

ERROR at line 9:

ERROR at PROCEDURE("PROC1")

Action

Do not DROP during the procedure.


gSQL>

CREATE OR REPLACE PROCEDURE proc1 AS

BEGIN

NULL;

END;

/

Procedure created.


gSQL>

DECLARE

v_sql VARCHAR(1024);

BEGIN

proc1;


v_sql := 'DROP PROCEDURE proc1;';

-- EXECUTE IMMEDIATE v_sql;


proc1;

END;

/


Anonymous PL block executed.

17073 (SQLSTATE: 2F003): DDLs or DCLs cannot be invoked during DMLs or SELECT statements are executing in "%s"."%s"

Cause

The stored function used in SELECT includes DDL as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 INTEGER )

RETURN INTEGER

IS

BEGIN

EXECUTE IMMEDIATE 'DROP TABLE t2';

RETURN a1;

END;

/

Function created.


gSQL> SELECT FUNC1( id ) FROM t2 where id = 101;


ERR-2F003(17073): DDLs or DCLs cannot be invoked during DMLs or SELECT statements are executing in "PUBLIC"."FUNC1" :

EXECUTE IMMEDIATE 'DROP TABLE t2';

*

ERROR at line 5:

ERROR at FUNCTION("FUNC1")


SELECT FUNC1( id ) FROM t2 where id = 101

*

ERROR at line 1:

Action

The stored function used in SELECT should not include DDL.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 INTEGER )

RETURN INTEGER

IS

BEGIN

RETURN a1;

END;

/

Function created.


gSQL> SELECT FUNC1( id ) FROM t2 where id = 101;


FUNC1( ID )

-----------

101

1 row selected.

17074 (SQLSTATE: 2F003): cannot begin transaction inside a query in "%s"."%s"

Cause

The transaction was started by executing SELECT FOR UPDATE within the stored function used in SELECT as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 INTEGER )

RETURN INTEGER

IS

v1 INTEGER;

BEGIN

SELECT id INTO v1 FROM t2 WHERE id = a1 FOR UPDATE;

RETURN v1;

END;

/

Function created.


gSQL> SELECT FUNC1( id ) FROM t2 ORDER BY id LIMIT 1;


ERR-2F003(17074): cannot begin transaction inside a query in "PUBLIC"."FUNC1" :

SELECT id INTO v1 FROM t2 WHERE id = a1 FOR UPDATE;

*

ERROR at line 11:

ERROR at FUNCTION("FUNC1")


SELECT FUNC1( id ) FROM t2 ORDER BY id LIMIT 1

*

ERROR at line 1:

Action

Delete FOR UPDATE as follows to prevent the transaction execution within the stored function.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 INTEGER )

RETURN INTEGER

IS

v1 INTEGER;

BEGIN

SELECT id INTO v1 FROM t2 WHERE id = a1;

RETURN v1;

END;

/

Function created.


gSQL> SELECT FUNC1( id ) FROM t2 ORDER BY id LIMIT 1;


FUNC1( ID )

-----------

101

1 row selected.

17075 (SQLSTATE: 2F003): cannot commit or rollback transaction inside a query or DML in "%s"."%s"

Cause

COMMIT or ROLLBACK exists within the stored function used in DML.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 INTEGER )

RETURN INTEGER

AS

BEGIN

DELETE FROM t2 WHERE id = a1;

COMMIT;

RETURN a1;

END;

/

Function created.


gSQL> INSERT INTO t2(id, name) VALUES ( func1(102), 'abcd' );


ERR-2F003(17075): cannot commit or rollback transaction inside a query or DML in "PUBLIC"."FUNC1" :

COMMIT;

*

ERROR at line 11:

ERROR at FUNCTION("FUNC1")


INSERT INTO t2(id, name) VALUES ( func1(102), 'abcd' )

*

ERROR at line 1:

Action

Delete COMMIT statement within the stored function as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 INTEGER )

RETURN INTEGER

AS

BEGIN

DELETE FROM t2 WHERE id = a1;

--# COMMIT;

RETURN a1;

END;

/

Function created.


gSQL> INSERT INTO t2(id, name) VALUES ( func1(102), 'abcd' );

1 row created.

17076 (SQLSTATE: 2F000): application error "%s"

Cause

The usage of RAISE_APPLICATION_ERROR is wrong.


gSQL>

BEGIN

RAISE_APPLICATION_ERROR( -10000, 'user-defined error' );

END;

/


ERR-2F000(17076): application error "Invalid Error Code" :

RAISE_APPLICATION_ERROR( -10000, 'user-defined error' );

*

ERROR at line 2:

ERROR at PROCEDURE("RAISE_APPLICATION_ERROR")

Action

If the appropriate error code is used as follows, then it is able to check the desired operation.


gSQL>

BEGIN

RAISE_APPLICATION_ERROR( -20100, 'user-defined error' );

END;

/


ERR-2F000(20100): user-defined error

17077 (SQLSTATE: 2F000): the argument of collection type variable is not a constant expression

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17078 (SQLSTATE: 2F000): a function with OUT-Parameter not allowed in expression

Cause

The stored function including an OUT parameter is not available in DML or SELECT.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 OUT INTEGER )

RETURN INTEGER

IS

BEGIN

a1 := 1;

RETURN 1;

END;

/

Function created.


gSQL> SELECT func1( id ) FROM t2;


ERR-2F000(17078): a function with OUT-Parameter not allowed in expression :

SELECT func1( id ) FROM t2

*

ERROR at line 1:

Action

Do not use the stored function including an OUT parameter in SELECT or DML.

17079 (SQLSTATE: 2F000): a nested function not allowed in executing SQL

Cause

The nested function is not available in SELECT statement.


gSQL>

DECLARE

v1 INTEGER;


FUNCTION f1 RETURN INTEGER

AS

BEGIN

RETURN 1;

END;


BEGIN

SELECT f1() INTO v1 FROM dual;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (11:12): ERR-2F000(17079): a nested function not allowed in executing SQL

Action

Create and use the stored function if needed.


gSQL>

CREATE OR REPLACE FUNCTION f1 RETURN INTEGER

AS

BEGIN

RETURN 1;

END;

/

Function created.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

SELECT f1() INTO v1 FROM dual;

END;

/


Anonymous PL block executed.

17080 (SQLSTATE: 2F002): cannot execute DML jobs inside a query

Cause

The stored function used in SELECT query can not execute DML.


gSQL>

CREATE OR REPLACE FUNCTION func1 RETURN INTEGER

AS

BEGIN

INSERT INTO t2(id, name) VALUES ( 102, 'leekmo' );

RETURN 1;

END;

/

Function created.


gSQL>

SELECT func1() FROM t2;


ERR-2F002(17080): cannot execute DML jobs inside a query :

INSERT INTO t2(id, name) VALUES ( 102, 'leekmo' );

*

ERROR at line 7:

ERROR at FUNCTION("FUNC1")


SELECT func1() FROM t2

*

ERROR at line 1:

Action

Use the stored function which does not include DML.

17081 (SQLSTATE: 2F000): program body of the routine is not defined

Cause

The routine body is not defined.


gSQL>

DECLARE

PROCEDURE proc1;

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (2:3): ERR-2F000(17081): program body of the routine (PROC1) is not defined

Action

Define the routine body.


gSQL>

DECLARE

PROCEDURE proc1 AS

BEGIN

NULL;

END;

BEGIN

NULL;

END;

/


Anonymous PL block executed.

17082 (SQLSTATE: 2F000): bind parameter in target or return clause is not allowed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17083 (SQLSTATE: 2F000): Function "%s" returned without value

Cause

RETURN value clause does not exist in the stored function.


gSQL>

CREATE OR REPLACE FUNCTION FUNC1

RETURN INTEGER

AS

v1 INTEGER := 1;

BEGIN

v1 := v1 + 1;

-- no return clause

END;

/

Function created.



gSQL>

SELECT FUNC1 FROM DUAL;


ERR-2F000(17083): Function "FUNC1" returned without value : ERROR at FUNCTION("FUNC1")


SELECT FUNC1 FROM DUAL

*

ERROR at line 1:

Action

Specify RETURN clause as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN INTEGER

AS

v1 INTEGER := 1;

BEGIN

v1 := v1 + 1;

RETURN v1;

END;

/

Function created.


gSQL> SELECT func1 FROM dual;


FUNC1

-----

2

1 row selected.

17084 (SQLSTATE: 2F000): The argument "%s" of routine "%s" is invalid

Cause

The invalid parameter value was used.


gSQL>

BEGIN

DBMS_LOCK.SLEEP( NULL );

END;

/


ERR-2F000(17084): The argument "seconds" of routine "DBMS_LOCK.SLEEP" is invalid :

DBMS_LOCK.SLEEP( NULL );

*

ERROR at line 3:


DBMS_LOCK.SLEEP( NULL );

*

ERROR at line 3:

ERROR at PROCEDURE("SLEEP")

Action

Input the appropriate value as follows.


gSQL>

BEGIN

DBMS_LOCK.SLEEP( 1 );

END;

/


Anonymous PL block executed.

17085 (SQLSTATE: 2F000): a cursor (%s) already defined in package spec

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17086 (SQLSTATE: 2F000): a cursor or routine (%s) declared in spec must be defined in package body

Cause

The routine declared in the package spec was not defined in the package body.


gSQL>

CREATE OR REPLACE PACKAGE pkg1

IS

FUNCTION func1 ( a1 INTEGER ) RETURN INTEGER;

PROCEDURE proc1 ( a1 INTEGER );

END;

/

Package created.


gSQL>

CREATE OR REPLACE PACKAGE BODY pkg1

IS

FUNCTION func1 ( a1 INTEGER ) RETURN INTEGER

IS

BEGIN

RETURN 1;

END;

END;

/


ERR-2F000(17102): PACKAGE(PKG1) Body has compilation errors :

(1) at (1:32): ERR-2F000(17086): a cursor or routine (PROC1) declared in spec must be defined in package body

Package created.

Action

Define the procedure declared in the package spec as follows.


gSQL>

CREATE OR REPLACE PACKAGE BODY pkg1

IS

FUNCTION func1 ( a1 INTEGER ) RETURN INTEGER

AS

BEGIN

RETURN 1;

END;


PROCEDURE proc1( a1 INTEGER )

IS

BEGIN

NULL;

END;

END;

/


Package created.

17087 (SQLSTATE: 2F000): existing state of package has been discarded

Cause

The definition about the package instance in use has changed.


gSQL>

CREATE OR REPLACE PACKAGE pkg2

IS

v1 INTEGER := 0;

PROCEDURE proc1;

END;

/

Package created.


gSQL>

CREATE OR REPLACE PACKAGE BODY pkg2

IS

PROCEDURE proc1

IS

BEGIN

EXECUTE IMMEDIATE 'DROP PACKAGE pkg2';

COMMIT;

END;

END;

/

Package created.


gSQL>

BEGIN

pkg2.v1 := 10;

pkg2.proc1;

pkg2.v1 := 10;

END;

/


ERR-2F000(17087): existing state of package (PKG2) has been discarded

Action

Do not execute DDL related to the package while using the package.

17088 (SQLSTATE: 2F000): invalid package object status

Cause

The package status has changed while using the package.


gSQL>

CREATE OR REPLACE PACKAGE pkg3

AS

x1 INTEGER := 1;

PROCEDURE procAdd;

END;

/

Package created.


gSQL>

CREATE OR REPLACE PACKAGE BODY pkg3

IS

PROCEDURE procAdd

IS

BEGIN

x1 := x1 + x1;

END;

END;

/

Package created.


gSQL>

BEGIN

EXECUTE IMMEDIATE 'ALTER PACKAGE pkg3 COMPILE';

COMMIT;


pkg3.procAdd();

DBMS_OUTPUT.PUT_LINE( 'PKG3.X1 = ' || pkg3.x1 );

END;

/


ERR-2F000(17088): invalid package (PKG3) object status :

DBMS_OUTPUT.PUT_LINE( 'PKG3.X1 = ' || pkg3.x1 );

*

ERROR at line 6:

Action

Do not execute DDL related to the package while using the package.

17089 (SQLSTATE: 2F000): cannot drop packages in use

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17090 (SQLSTATE: 2F000): Cursor Variables cannot be declared as part of a package

Cause

The cursor variable can not be declared in the package spec.


gSQL>

CREATE OR REPLACE PACKAGE PKG1

IS

cur1 SYS_REFCURSOR;

END;

/


ERR-2F000(17101): PACKAGE(PKG1) Specification has compilation errors :

(1) at (3:5): ERR-2F000(17090): Cursor Variables cannot be declared as part of a package

Package created.

Action

The cursor variable can not be declared in the package spec.

17091 (SQLSTATE: 2F000): cannot perform nested updatable statements on cluster database

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17092 (SQLSTATE: 2F000): invalid package name

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17093 (SQLSTATE: 2F000): unsupported element data type

Cause

The array can not be used as an element of the associative array.


gSQL>

DECLARE

TYPE arr1 IS TABLE OF NUMBER INDEX BY VARCHAR(10);

TYPE arr2 IS TABLE OF arr1 INDEX BY VARCHAR(10);

BEGIN

NULL;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (3:27): ERR-2F000(17093): unsupported element data type

Action

Use a record or a scalar as an element of the associative array.

17094 (SQLSTATE: 2F000): IN cursor cannot be opened

Cause

The cursor used as IN parameter can not be OPENed.


gSQL>

DECLARE

TYPE cursor_type IS REF CURSOR RETURN t1%ROWTYPE;

v_cur cursor_type;

v_row t1%ROWTYPE;

PROCEDURE proc1( a_cur IN cursor_type )

IS

BEGIN

OPEN a_cur FOR SELECT * FROM t1;

END;

BEGIN

proc1( v_cur );

FETCH v_cur INTO v_row;

CLOSE v_cur;

END;

/


ERR-2F000(17094): IN cursor cannot be opened :

OPEN a_cur FOR SELECT * FROM t1;

*

ERROR at line 9:

Action

The cursor parameter for OPEN statement should be defined with OUT parameter as follows.


gSQL>

DECLARE

TYPE cursor_type IS REF CURSOR RETURN t1%ROWTYPE;

v_cur cursor_type;

v_row t1%ROWTYPE;

PROCEDURE proc1( a_cur OUT cursor_type )

IS

BEGIN

OPEN a_cur FOR SELECT * FROM t1;

END;

BEGIN

proc1( v_cur );

FETCH v_cur INTO v_row;

CLOSE v_cur;

END;

/


Anonymous PL block executed.

17095 (SQLSTATE: 2F000): mismatch parameter count of routine(%s)

Cause

The number of procedure parameters has changed while executing the routine.


gSQL>

CREATE OR REPLACE PROCEDURE proc1( a1 OUT INTEGER )

AS

BEGIN

a1 := 1;

END;

/

Procedure created.


gSQL>

DECLARE

v1 INTEGER;

BEGIN

proc1( v1 );

EXECUTE IMMEDIATE 'CREATE OR REPLACE PROCEDURE proc1( ) ' ||

'AS ' ||

'BEGIN ' ||

' NULL; ' ||

'END; ';


proc1( v1 );

END;

/


ERR-2F000(17095): mismatch parameter count of routine(PROC1) :

proc1( v1 );

*

ERROR at line 11:

ERROR at PROCEDURE("PROC1")

Action

Do not change the definition of the procedure while executing the routine.

17096 (SQLSTATE: 2F000): mismatch parameter type of routine(%s)

Cause

The parameter type of the routine has changed while executing the routine.


gSQL>

CREATE OR REPLACE PROCEDURE proc1( p1 OUT SYS_REFCURSOR ) AS

BEGIN

OPEN p1 FOR SELECT 1 FROM DUAL;

END;

/

Procedure created.


gSQL>

DECLARE

ref1 SYS_REFCURSOR;

v1 INTEGER;

BEGIN

EXECUTE IMMEDIATE 'CREATE OR REPLACE PROCEDURE proc1(p1 OUT INTEGER) AS BEGIN p1 := 1; END;';

proc1(ref1);

END;

/


ERR-2F000(17096): mismatch parameter type of routine(PROC1) :

proc1(ref1);

*

ERROR at line 6:

ERROR at PROCEDURE("PROC1")

Action

Do not change the definition of the routine while executing the routine.

17097 (SQLSTATE: 2F000): mismatch return type of function(%s)

Cause

The return type of the stored function has changed while executing the routine.


gSQL>

CREATE OR REPLACE FUNCTION func3

RETURN INTEGER

IS

BEGIN

RETURN 0;

END;

/

Function created.


gSQL>

CREATE OR REPLACE PROCEDURE proc3

IS

v1 INTEGER;

v2 VARCHAR(1024);

BEGIN

v2 := 'CREATE OR REPLACE FUNCTION func3 ' ||

'RETURN TABLE( c1 INTEGER, c2 INTEGER ) ' ||

'AS ' ||

'BEGIN ' ||

'RETURN TABLE( SELECT c1, c2 FROM t1 ); ' ||

'END;';


EXECUTE IMMEDIATE v2;


v1 := func3;

end;

/

Procedure created.


gSQL> call proc3;


ERR-2F000(17097): mismatch return type of function(FUNC3) :

v1 := func3;

*

ERROR at line 14:


call proc3

*

ERROR at line 1:

ERROR at PROCEDURE("PROC3")

Action

Do not change the definition of the stored function while executing the routine.

17098 (SQLSTATE: 2F000): mismatch record field count of routine(%s)

Cause

The number of the record type fields has changed while executing the routine.


gSQL>

CREATE OR REPLACE FUNCTION func1( a1 t1%ROWTYPE ) RETURN INTEGER

AS

BEGIN

RETURN a1.c1;

END;

/

Function created.


gSQL>

DECLARE

v1 INTEGER;

v2 t1%ROWTYPE;

BEGIN

SELECT * INTO v2 FROM t1 LIMIT 1;

v1 := func1(v2);


EXECUTE IMMEDIATE 'ALTER TABLE t1 ADD COLUMN ( c3 VARCHAR(10) )';


v1 := func1(v2);

END;

/


ERR-2F000(17098): mismatch record field count of routine(FUNC1) : ERROR at FUNCTION("FUNC1")


v1 := func1(v2);

*

ERROR at line 10:

Action

Do not change the definition of the record type while executing the routine.

17099 (SQLSTATE: 2F000): cycle detected when initialize package instance(%s)

Cause

Public variables in a package reference one another.


gSQL>

CREATE OR REPLACE PACKAGE pkg1

AS

x INTEGER := pkg2.y + 1;

END;

/


ERR-2F000(17101): PACKAGE(PKG1) Specification has compilation errors :

(1) at (3:18): ERR-42000(16036): 'PKG2.Y': invalid identifier

Package created.


gSQL>

CREATE OR REPLACE PACKAGE pkg2

AS

y INTEGER := pkg1.x + 1;

END;

/


ERR-2F000(17101): PACKAGE(PKG2) Specification has compilation errors :

(1) at (3:14): ERR-42000(16036): 'PKG2.Y': invalid identifier

Package created.


gSQL>

CREATE OR REPLACE PACKAGE pkg1

AS

x INTEGER := pkg2.y + 1;

END;

/


ERR-2F000(17101): PACKAGE(PKG1) Specification has compilation errors :

(1) at (3:14): ERR-2F000(17099): cycle detected when initialize package instance(PKG1)

Package created.

Action

During initialization of package public variables, circular dependencies caused by such references must be avoided.

17100 (SQLSTATE: 2F000): PSM(%s) compilation error

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17101 (SQLSTATE: 2F000): PACKAGE(%s) Specification has compilation errors

Cause

The compile error exists in the package specification.


gSQL>

CREATE OR REPLACE PACKAGE pkg1 AS

v1 invalid%ROWTYPE;

END;

/


ERR-2F000(17101): PACKAGE(PKG1) Specification has compilation errors :

(1) at (2:7): ERR-2F000(17012): unknown type name

Package created.

Action

Fix the related compile error.


gSQL>

CREATE OR REPLACE PACKAGE pkg1 AS

v1 t1%ROWTYPE;

END;

/


Package created.

17102 (SQLSTATE: 2F000): PACKAGE(%s) Body has compilation errors

Cause

The compile error exists in the package body.


gSQL>

CREATE OR REPLACE PACKAGE pkg1

AS

v1 INTEGER;

PROCEDURE proc1;

END;

/

Package created.


gSQL>

CREATE OR REPLACE PACKAGE BODY pkg1

AS

PROCEDURE proc1

AS

BEGIN

pkg1.invalid := 1;

END;

END;

/


ERR-2F000(17102): PACKAGE(PKG1) Body has compilation errors :

(1) at (6:12): ERR-42000(16036): 'INVALID': invalid identifier

Package created.

Action

Fix the related compile error.


gSQL>

CREATE OR REPLACE PACKAGE BODY pkg1

AS

PROCEDURE proc1

AS

BEGIN

pkg1.v1 := 1;

END;

END;

/


Package created.

17103 (SQLSTATE: 2F000): cannot use function in the same package

Cause

The function of the same package can not be used when initializing the variable in the package specification.


gSQL>

CREATE OR REPLACE PACKAGE pkg3

AS

FUNCTION func1 RETURN INTEGER;

v1 INTEGER := func1;

END;

/


ERR-2F000(17101): PACKAGE(PKG3) Specification has compilation errors :

(1) at (4:19): ERR-2F000(17103): cannot use function in the same package

Package created.

Action

Use a constant or another function when initializing the variable in the package specification.


gSQL>

CREATE OR REPLACE PACKAGE pkg3

AS

FUNCTION func1 RETURN INTEGER;

v1 INTEGER := 0;

END;

/


Package created.

17104 (SQLSTATE: 2F000): invalid REFCURSOR handle

Cause

REFCURSOR information transferred from the client is invalid.

Action

Check if the client forcibly changed REFCURSOR information.

17105 (SQLSTATE: 2F000): invalid REFCURSOR binding

Cause

REFCURSOR parameter should be used.


gSQL>

CREATE OR REPLACE PROCEDURE PROC1( A1 IN OUT SYS_REFCURSOR )

IS

BEGIN

NULL;

END;

/

Procedure created.


gSQL> \var V1 INTEGER;


gSQL> CALL PROC1( :v1 );


ERR-2F000(17105): invalid REFCURSOR binding :

CALL PROC1( :v1 )

*

ERROR at line 1:

Action

Check if the host variable is REFCURSOR.


gSQL> \var v_cur REFCURSOR


gSQL>

BEGIN

OPEN :v_cur FOR SELECT * FROM t1 ORDER BY c1;

END;

/


Anonymous PL block executed.


gSQL>

CALL proc1( :v_cur );


Procedure Call complete.

17106 (SQLSTATE: 2F000): unknown field name (%s)

Cause

A record field name which does not exist was used.


gSQL>

DECLARE

v1 t1%ROWTYPE;

BEGIN

v1.c1 := 1;

v1.invalid := 1;

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (5:8): ERR-2F000(17106): unknown field name (INVALID)

Action

Use the existing field name.


gSQL>

DECLARE

v1 t1%ROWTYPE;

BEGIN

v1.c1 := 1;

v1.c2 := 1;

END;

/


Anonymous PL block executed.

17107 (SQLSTATE: 2F000): only cursor variable allowed

Cause

The host variable can not be used as an argument of DBMS_SQL.RETURN_RESULT function.


gSQL> \var v_refcur refcursor;


gSQL>

BEGIN

OPEN :v_refcur FOR SELECT id FROM t2;

DBMS_SQL.RETURN_RESULT( :v_refcur );

END;

/


ERR-2F000(17107): only cursor variable allowed :

DBMS_SQL.RETURN_RESULT( :v_refcur );

*

ERROR at line 3:


DBMS_SQL.RETURN_RESULT( :v_refcur );

*

ERROR at line 3:

ERROR at PROCEDURE("RETURN_RESULT")

Action

Use the cursor variable as follows.


gSQL>

DECLARE

v_refcur SYS_REFCURSOR;

BEGIN

OPEN v_refcur FOR SELECT id FROM t2;

DBMS_SQL.RETURN_RESULT( v_refcur );

END;

/


Anonymous PL block executed.


ResultSet #1


ID

---

101

102

17108 (SQLSTATE: 2F000): Implicit result cannot be returned through this statement

Cause

The stored function including DBMS_SQL.RETURN_RESULT can not be used in SELECT statement.


gSQL>

CREATE OR REPLACE FUNCTION func1 RETURN INTEGER

AS

v_cur SYS_REFCURSOR;

BEGIN

OPEN v_cur FOR SELECT id FROM t2;

DBMS_SQL.RETURN_RESULT( v_cur );

RETURN 1;

END;

/

Function created.


gSQL> select func1 from dual;


ERR-2F000(17108): Implicit result cannot be returned through this statement :

DBMS_SQL.RETURN_RESULT( v_cur );

*

ERROR at line 6:

ERROR at PROCEDURE("RETURN_RESULT")


select func1 from dual

*

ERROR at line 1:

Action

Use it to transfer REFCURSOR to the client as follows.


gSQL> var v1 INTEGER;

gSQL> CALL func1() INTO :v1;


Procedure Call complete.


ResultSet #1


ID

---

101

102

17109 (SQLSTATE: 2F000): table function need return table statement

Cause

The table function should include RETURN TABLE statement.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE( id INTEGER )

IS

BEGIN

NULL;

END;

/

Function created.


gSQL> SELECT * FROM TABLE( func1() );


ERR-2F000(17109): table function need return table statement :

SELECT * FROM TABLE( func1() )

*

ERROR at line 1:

ERROR at FUNCTION("FUNC1")


SELECT * FROM TABLE( func1() )

*

ERROR at line 1:

Action

Use RETURN TABLE statement as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE( id INTEGER )

IS

BEGIN

RETURN TABLE ( SELECT id FROM t2 );

END;

/

Function created.


gSQL> SELECT * FROM TABLE( func1() );

ID

---

101

102


2 rows selected.

17110 (SQLSTATE: 2F000): return table statement not allowed

Cause

RETURN TABLE statement can not be described.


gSQL>

BEGIN

RETURN TABLE ( SELECT id, name FROM t2 );

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (2:5): ERR-2F000(17110): return table statement not allowed

Action

RETURN TABLE statement should be described when creating the table function as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE ( a1 INTEGER, a2 VARCHAR(32) )

IS

BEGIN

RETURN TABLE( SELECT id, name FROM t2 );

END;

/


Function created.

17111 (SQLSTATE: 2F000): only select statement allowed

Cause

SELECT FOR UPDATE statement can not be described in RETURN TABLE clause.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE( id INTEGER, name VARCHAR(32) )

IS

BEGIN

RETURN TABLE ( SELECT id, name FROM t2 FOR UPDATE );

END;

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (5:18): ERR-2F000(17111): only select statement allowed

Function created.

Action

Only SELECT statement without FOR UPDATE can be described as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE( id INTEGER, name VARCHAR(32) )

IS

BEGIN

RETURN TABLE ( SELECT id, name FROM t2 );

END;

/


Function created.

17112 (SQLSTATE: 2F000): mismatch field count of function table(%s)

Cause

The number of fields in RETURN TABLE clause and that of SELECT statement are different.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE( id INTEGER, name VARCHAR(32), value INTEGER )

IS

BEGIN

RETURN TABLE ( SELECT id, name FROM t2 );

END;

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (5:20): ERR-2F000(17112): mismatch field count of function table(FUNC1)

Function created.

Action

Make the number of fields in RETURN TABLE clause and that of SELECT statement same as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE( id INTEGER, name VARCHAR(32) )

IS

BEGIN

RETURN TABLE ( SELECT id, name FROM t2 );

END;

/


Function created.

17113 (SQLSTATE: 2F000): cursor that have never fetched is allowed

Cause

The cursor which is being fetched can not be used as an argument of RETURN TABLE.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE ( id INTEGER, name VARCHAR(32) )

IS

cur1 SYS_REFCURSOR;

v1 t2%ROWTYPE;

BEGIN

OPEN cur1 FOR SELECT * FROM t2;

FETCH cur1 INTO v1;

RETURN TABLE ( cur1 );

END;

/

Function created.


gSQL> SELECT * FROM TABLE ( func1() );


ERR-2F000(17113): only cursor that have never fetched is allowed :

RETURN TABLE ( cur1 );

*

ERROR at line 8:

ERROR at FUNCTION("FUNC1")


SELECT * FROM TABLE ( func1() )

*

ERROR at line 1:

Action

Delete the FETCH clause as follows.


gSQL>

CREATE OR REPLACE FUNCTION func1

RETURN TABLE ( id INTEGER, name VARCHAR(32) )

IS

cur1 SYS_REFCURSOR;

v1 t2%ROWTYPE;

BEGIN

OPEN cur1 FOR SELECT * FROM t2;

-- FETCH cur1 INTO v1;

RETURN TABLE ( cur1 );

END;

/

Function created.


gSQL> SELECT * FROM TABLE ( func1() );


ID NAME

--- ----------

101 SUNJESOFT

102 GOLDILOCKS


2 rows selected.

17114(SQLSTATE: 39000) function symbol not found for built-in package routine \"%s\".\"%s\"

Cause

It is not able to find the supported built-in package routine.


gSQL>

CREATE OR REPLACE PACKAGE BUILTIN_PACKAGE_SCHEMA.DBMS_LOCK

AUTHID CURRENT_USER

AS

FUNCTION CONVERT( id IN INTEGER, lockhandle in varchar, lockmode in integer, timeout in number )

RETURN INTEGER

NOT DETERMINISTIC

MODIFIES SQL DATA

AS

LANGUAGE C

LIBRARY INTERNAL;

END;

/


ERR-2F000(17101): PACKAGE(DBMS_LOCK) Specification has compilation errors :

(1) : ERR-39000(17114): function symbol not found for built-in package routine "DBMS_LOCK"."CONVERT"

Package created.

Action

Check the definition of the built-in package routine to use, and input it correctly.

17115(SQLSTATE: 38000) mismatch parameter for built-in package routine \"%s\".\"%s\"

Cause

Parameter mismatch between the built-in package routine and the user-regenerated parameter.


gSQL>

CREATE OR REPLACE PACKAGE BUILTIN_PACKAGE_SCHEMA.DBMS_LOCK

AUTHID CURRENT_USER

AS

PROCEDURE SLEEP( seconds IN NATIVE_SMALLINT )

NOT DETERMINISTIC

MODIFIES SQL DATA

AS

LANGUAGE C

LIBRARY INTERNAL;

END;

/

Package created.


gSQL>

BEGIN

DBMS_LOCK.SLEEP(1);

END;

/


ERR-38000(17115): mismatch parameter for built-in package routine "DBMS_LOCK"."SLEEP" :

DBMS_LOCK.SLEEP(1);

*

ERROR at line 2:


DBMS_LOCK.SLEEP(1);

*

ERROR at line 2:

ERROR at PROCEDURE("SLEEP")

Action

Check the parameter information about the built-in package routine to execute, and input it correctly.

17116(SQLSTATE: 38000) built-in package routine is not allowed

Cause

The definition of the built-in package routine is not allowed in blocks other than the package specification.


gSQL>

CREATE OR REPLACE PACKAGE BUILTIN_PACKAGE_SCHEMA.DBMS_LOCK

AUTHID CURRENT_USER

AS

PROCEDURE SLEEP( seconds IN NATIVE_INTEGER );

END;

/

Package created.


gSQL>

CREATE OR REPLACE PACKAGE BODY BUILTIN_PACKAGE_SCHEMA.DBMS_LOCK

IS

PROCEDURE SLEEP( seconds IN NATIVE_INTEGER )

NOT DETERMINISTIC

MODIFIES SQL DATA

AS

LANGUAGE C

LIBRARY INTERNAL;

END;

/


ERR-2F000(17102): PACKAGE(DBMS_LOCK) Body has compilation errors :

(1) at (3:15): ERR-38000(17116): built-in package routine is not allowed

Package created.

Action

Define the built-in package routine in the package specification.

17117(SQLSTATE: 38000) invalid WITH CONTEXT Syntax

Cause

CONTEXT was incorrectly used in WITH CONTEXT or parameter clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFuncWithCTX"

PARAMETERS( CONTEXT,

p1 INT,

p2 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (1:1): ERR-38000(17117): invalid WITH CONTEXT Syntax

Function created.

Action

Check if WITH CONTEXT was used without specifying CONTEXT in PARAMETER clause or vice versa. Therefore, if WITH CONTEXT is specified, then CONTEXT should be referenced in PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFuncWithCTX"

WITH CONTEXT

PARAMETERS( CONTEXT,

p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17118(SQLSTATE: 38000) external parameter name(%s) not found in formal parameter list

Cause

The formal parameter of routine and RETURN should be referenced in PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

p3 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (8:13): ERR-38000(17118): external parameter name(P3) not found in formal parameter list

Function created.

Action

Check if the formal parameter of routine or RETURN is missing in PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17119(SQLSTATE: 38000) invalid external parameter datatype specification

Cause

The datatype of the formal parameter and that of the external parameter are not compatible.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 FLOAT,

p2 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (6:13): ERR-38000(17119): invalid external parameter datatype specification

Function created.

Action

Set the datatype of the external parameter which is compatible with the datatype of the formal parameter.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17120(SQLSTATE: 38000) incorrect Usage of %s in external parameters clause

Cause

Keywords such as LENGTH, MAXLEN, BY REFERENCE and RETURN were used incorrectly in the parameters clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p1 LENGTH SHORT,

p2 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (7:13): ERR-38000(17120): incorrect Usage of LENGTH in external parameters clause

Function created.

Action

Keywords such as LENGTH, MAXLEN, BY REFERENCE and RETURN can not be used depending on the routine's formal parameter or the formal parameter's bind type.

For example, LENGTH and MAXLEN can be declared only for the datatype such as CHAR, VARCHAR, BINARY, VARBINARY. MAXLEN can not be used in IN type parameter.

Refer to the user manual for the correct usage.

17121(SQLSTATE: 38000) multiple declarations in foreign function formal parameter list

Cause

One or more of the formal parameter, INDICATOR, LENGTH, MAXLEN, or CONTEXT fields have been declared multiple times.

The declaration above is allowed only one for each formal parameter in PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p1 INT,

p2 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (1:1): ERR-38000(17121): multiple declarations in foreign function formal parameter list

Function created.

Action

Modify the parameters clause so that the duplicate declaration does not exist.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17122(SQLSTATE: 38000) external datatype corresponding to formal parameter(%s) datatype is not supported

Cause

The external datatype does not support the user-defined type such as record, associate array, ref cursor.

Therefore, if the datatype of the formal parameter is the datatype above, then the datatype of the corresponding external parameter does not exist.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 SYS_REFCURSOR )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (2:67): ERR-38000(17122): external datatype corresponding to formal parameter(P2) datatype is not supported

Function created.

Action

If it is an external routine, the datatype of the formal parameter should be the built-in datatype.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17123(38000) formal parameter(%s) missing in the external parameters clause

Cause

The parameter corresponding to the formal parameter does not exist in PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

RETURN INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (1:1): ERR-38000(17123): formal parameter(P2) missing in the external parameters clause

Function created.

Action

Check the formal parameter, then declare PARAMETERS clause correctly.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17124(SQLSTATE: 38000) RETURN missing in the external parameters clause

Cause

The declaration for RETURN is missing in PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER ,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (1:1): ERR-38000(17124): RETURN missing in the external parameters clause

Function created.

Action

Add RETURN information to PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER ,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17125(SQLSTATE: 38000) RETURN, for actual function return, must be last in the parameters clause

Cause

RETURN was declared at the beginning or in the middle of PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER ,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( RETURN INT,

p1 INT,

p2 INT );

/


ERR-01000(16409): Warning: Routine(FUNC1) has compilation errors :

(1) at (4:13): ERR-38000(17125): RETURN, for actual function return, must be last in the parameters clause

Function created.

Action

Declare RETURN at the end of PARAMETERS clause.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER ,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/


Function created.

17126(SQLSTATE: 38000) external C function parameter name is too long

Cause

The name of the external parameter is configured as follows.

* If the property does not exist, it is the same as formal parameter.

* If the property exist, it is configured as follows.

* <formal_parameter_name>_INDICATOR

* <formal_parameter_name>_LENGTH

* <formal_parameter_name>_MAXLEN


The name of the external parameter configured as above exceeds 128 bytes.

Action

The name of the external parameter should be within 128 bytes.

17127(SQLSTATE: 39000) fetched column value is NULL

Cause

FETCHed data includes NULL and INDICATOR property was not used.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p2 INT,

RETURN INT );

/

Function created.


gSQL> INSERT INTO t1( c1, c2 ) values ( 100, null );

1 row created.


gSQL> SELECT func1( c1 , c2 ) FROM t1 where c1 = 100;


ERR-39000(17127): fetched column value is NULL :

SELECT func1( c1 , c2 ) FROM t1 where c1 = 100

*

ERROR at line 1:

ERROR at FUNCTION("FUNC1")

Action

Add INDICATOR property, or replace NULL with another value such as 0 or the white space by using NVL function.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 NATIVE_INTEGER,

p2 NATIVE_INTEGER )

RETURN NATIVE_INTEGER AS

LANGUAGE C

LIBRARY lib NAME "addFunc"

PARAMETERS( p1 INT,

p1 INDICATOR SHORT,

p2 INT,

p2 INDICATOR SHORT,

RETURN INDICATOR SHORT,

RETURN INT );

/

Function created.


gSQL> SELECT func1( c1 , c2 ) FROM t1 where c1 = 100;

FUNC1( C1 , C2 )

----------------

null


1 row selected.

17128(SQLSTATE: 38000) SQL_LONG_VARIABLE_TYPE always requires WITH CONTEXT option

Cause

If the external datatype in PARAMETERS clause is SQL_LONG_VARIABLE_TYPE PARAMETERS, then CONTEXT is required.


gSQL>

CREATE OR REPLACE PROCEDURE proc1( p1 OUT LONG VARCHAR ) AS

LANGUAGE C

LIBRARY lib NAME "func_longvarchar"

PARAMETERS( p1 SQL_LONG_VARIABLE_LENGTH );

/


ERR-01000(16409): Warning: Routine(PROC1) has compilation errors :

(1) at (4:16): ERR-38000(17128): SQL_LONG_VARIABLE_TYPE always requires WITH CONTEXT option

Procedure created.

Action

Specify WITH CONTEXT, then add CONTEXT to PARAMETER clause.


gSQL>

CREATE OR REPLACE PROCEDURE proc1( p1 OUT LONG VARCHAR ) AS

LANGUAGE C

LIBRARY lib NAME "func_longvarchar"

WITH CONTEXT

PARAMETERS( CONTEXT,

p1 SQL_LONG_VARIABLE_LENGTH );

/


Procedure created.

17129(SQLSTATE: 39000) Invalid "%s" directory

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17130(SQLSTATE: 2F000) routine sql data access indicator violated

Cause

It is a pl statement which violates the SQL-data access indicator of the routine.


gSQL>

CREATE OR REPLACE PROCEDURE proc1 CONTAINS SQL AS

var1 INTEGER;

BEGIN

SELECT c1 INTO var1 FROM t1;

END;

/


ERR-01000(16409): Warning: Routine(PROC1) has compilation errors :

(1) at (4:3): ERR-2F000(17130): routine sql data access indicator violated

Procedure created.

Action

Configure a PL statement which is executable according to the SQL-data access indicator of the routine.


gSQL>

CREATE OR REPLACE PROCEDURE proc1 CONTAINS SQL AS

var1 INTEGER;

BEGIN

var1 := 1;

END;

/


Procedure created.

17131(SQLSTATE: 2F000) no choices may appear with choice OTHERS in an exception handler

Cause

The OTHERS handler and another exception handler can not be used together in EXCEPTION WHEN clause.


gSQL>

DECLARE

e1 EXCEPTION;

BEGIN

RAISE e1;

EXCEPTION WHEN e1 OR OTHERS THEN

DBMS_OUTPUT.PUT_LINE( 'exception variable OR others' );

END;

/


ERR-2F000(17032): PSM compilation error :

(1) at (5:22): ERR-2F000(17131): no choices may appear with choice OTHERS in an exception handler

Action

Exclude the exception handler used with OTHERS handler, or configure it as a separate exception handler.


DECLARE

e1 EXCEPTION;

BEGIN

RAISE e1;

EXCEPTION WHEN e1 THEN

DBMS_OUTPUT.PUT_LINE( 'exception variable' );

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE( 'OR others' );

END;

/


Anonymous PL block executed.

17132 (SQLSTATE: OW000): cannot execute in a trigger (%s)

Cause

DDL or DCL statements were specified in the trigger body.


gSQL> CREATE OR REPLACE TRIGGER tri1

AFTER INSERT ON t1

BEGIN

EXECUTE IMMEDIATE 'CREATE TABLE t2 ( c1 INTEGER , c2 INTEGER )';

END;

/

Trigger created.


gSQL> INSERT INTO t1( c1, c2 ) VALUES( 1, 1 );

ERR-0W000(17132): cannot execute in a trigger (CREATE TABLE t2 ( c1 INTEGER , c2 INTEGER )) :

EXECUTE IMMEDIATE 'CREATE TABLE t2 ( c1 INTEGER , c2 INTEGER )';

*

ERROR at line 4:

ERROR at TRIGGER("TRI1")

Action

DDL or DCL statements cannot be specified in the trigger body.

17133 (SQLSTATE: OW000): cannot insert into a generated always identity column (%s.%s)

Cause

A column with the IDENTITY property is specified in the trigger body.


gSQL> CREATE OR REPLACE TRIGGER tri3

BEFORE UPDATE ON t3

REFERENCING NEW ROW AS n_row

FOR EACH ROW

BEGIN

n_row.c1 := 100;

END;

/

ERR-01000(16659): Warning: trigger "PUBLIC"."TRI1" has compilation errors :

(1) : ERR-0W000(17133): cannot insert into a generated always identity column (N_ROW.C1)

Trigger created.

Action

Remove the IDENTITY property of that column to activate the trigger.


gSQL> ALTER TABLE t3 ALTER COlUMN c1 DROP IDENTITY;

Table altered.


gSQL> CREATE OR REPLACE TRIGGER tri3

BEFORE UPDATE ON t3

REFERENCING NEW ROW AS n_row

FOR EACH ROW

BEGIN

n_row.c1 := 100;

END;

/

Trigger created.

17134 (SQLSTATE: OW000): TRIGGER(%s) compilation error

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17135 (SQLSTATE: 2F002): modifying SQL-data not permitted

Cause

This is a PL statement that violates the Routine’s SQL-Data Access Indicator.


gSQL> CREATE OR REPLACE PROCEDURE proc_callee MODIFIES SQL DATA AS

BEGIN

DBMS_OUTPUT.PUT_LINE( 'success' );

END;

/

Procedure created.


gSQL> CREATE OR REPLACE PROCEDURE proc_caller READS SQL DATA AS

BEGIN

proc_callee;

END;

/

ERR-01000(16409): Warning: Routine(PROC_CALLER) has compilation errors :

(1) at (3:3): ERR-2F002(17135): modifying SQL-data not permitted

Procedure created.

Action

Write the PL statement so that it complies with the Routine’s SQL-Data Access Indicator.


gSQL> CREATE OR REPLACE PROCEDURE proc_caller MODIFIES SQL DATA AS

BEGIN

proc_callee;

END;

/

Procedure created.

17136 (SQLSTATE: 2F003): prohibited SQL-statement attempted

Cause

deprecated

Action

If this error occurs, contact our customer service department.

17137 (SQLSTATE: 2F004): reading SQL-data not permitted

Cause

This is a PL statement that violates the Routine’s SQL-Data Access Indicator.


gSQL> CREATE OR REPLACE FUNCTION func_readssqldata RETURN INTEGER READS SQL DATA AS

BEGIN

RETURN 20;

END;

/

Function created.


gSQL> CREATE OR REPLACE PROCEDURE proc1 CONTAINS SQL AS

var1 INTEGER;

BEGIN

var1 := func_readssqldata;

END;

/

ERR-01000(16409): Warning: Routine(PROC1) has compilation errors :

(1) at (4:11): ERR-2F004(17137): reading SQL-data not permitted

Procedure created.

Action

Write the PL statement so that it complies with the Routine’s SQL-Data Access Indicator.


gSQL> CREATE OR REPLACE PROCEDURE proc1 READS SQL DATA AS

var1 INTEGER;

BEGIN

var1 := func_readssqldata;

END;

/

Procedure created.

17138 (SQLSTATE: 2F000): package variables are available only within PSM

Cause

A package public variable was used directly in an SQL statement.


gSQL>

CREATE OR REPLACE PACKAGE pkg5 AS

var1 INTEGER;

END;

/

Package created.


gSQL>

DECLARE

v_sql_text varchar(100);

ref1 SYS_REFCURSOR;

BEGIN

v_sql_text := 'SELECT COUNT(*) FROM t1 WHERE c1 = pkg5.var1';

OPEN ref1 FOR v_sql_text;

CLOSE ref1;

END;

/


ERR-2F000(17138): package variables are available only within PSM :

SELECT COUNT(*) FROM t1 WHERE c1 = pkg5.var1

*

ERROR at line 1:

Action

To use a package public variable in an SQL statement, the USING clause, INTO clause, or similar mechanisms must be used.


gSQL>

DECLARE

v_sql_text varchar(100);

ref1 SYS_REFCURSOR;

BEGIN

v_sql_text := 'SELECT COUNT(*) FROM t1 WHERE c1 = ?';

OPEN ref1 FOR v_sql_text using in pkg5.var1;

CLOSE ref1;

END;

/


Anonymous PL block executed.

17139 (SQLSTATE: 2F000): the type of table function parameter should be scalar 

Cause

ROWTYPE was used as the parameter type of a table function.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 t1%ROWTYPE )

RETURN TABLE( c1 INTEGER, c2 INTEGER )

IS

BEGIN

RETURN TABLE ( SELECT c1, c2 FROM t1 WHERE c1 = p1.c1 );

END;

/


ERR-2F000(17139): the type of table function parameter should be scalar :

CREATE OR REPLACE FUNCTION func1( p1 t1%ROWTYPE )

*

ERROR at line 1:

Action

Table function parameters must be of a scalar type.


gSQL>

CREATE OR REPLACE FUNCTION func1( p1 INTEGER )

RETURN TABLE( c1 INTEGER, c2 INTEGER )

IS

BEGIN

RETURN TABLE ( SELECT c1, c2 FROM t1 WHERE c1 = p1 );

END;

/


Function created.

17140 (SQLSTATE: 2F000): RETURNING INTO clause can be used only in SQL statements
 that include RETURNING INTO

Cause

The RETURNING INTO clause was used in an unsupported SQL statement.


gSQL>

DECLARE

var1 INTEGER;

var2 INTEGER;

v_str VARCHAR(60);

BEGIN

v_str := 'INSERT INTO t1 VALUES ( 2 , 2 ) RETURNING *';


EXECUTE IMMEDIATE v_str RETURNING INTO var1 , var2;

END;

/


ERR-2F000(17140): returning-into clause must be used with RETURNING INTO statements :

EXECUTE IMMEDIATE v_str RETURNING INTO var1 , var2;

*

ERROR at line 8:

Action

The RETURNING INTO clause can be used only in the following SQL statements.

• INSERT INTO name RETURNING .. INTO

• INSERT INTO name ... UPDATE RETURNING ... INTO

• DELETE FROM name RETURNING .. INTO

• UPDATE name RETURNING .. INTO


gSQL>

DECLARE

var1 INTEGER;

var2 INTEGER;

v_str VARCHAR(60);

BEGIN

v_str := 'INSERT INTO t1 VALUES ( 2 , 2 ) RETURNING * INTO ? , ?';


EXECUTE IMMEDIATE v_str RETURNING INTO var1 , var2;

END;

/


Anonymous PL block executed.

Session Related Error

18000 (SQLSTATE: HY000): Invalid Statement

Cause

This error occurs when a client attempts to use a statement that has already been closed on the server side.

Action

Create a new statement and execute the operation again.

18001 (SQLSTATE: HY024): Invalid attribute value

Cause

This error occurs when setting a session property where the property identifier is valid, but an invalid value that is not applicable to the property is specified.

Action

Set a valid value appropriate for the corresponding property.

18002 (SQLSTATE: HY092): Invalid attribute/option identifier

Cause

This error occurs when setting or retrieving a session property using a property identifier that does not exist or is not supported.

Action

Use the correct property identifier.

18003 (SQLSTATE: 42000): Transaction is READ ONLY

Cause

This error occurs when executing the DML operation after changing the transaction attribute to read-only.


gSQL> SET TRANSACTION READ ONLY;

Transaction set.


gSQL> INSERT INTO t1 VALUES ( 1 );

ERR-42000(18003): Transaction is READ ONLY

Action

Execute the DML operation after changing the transaction attribute to read-write.


gSQL> SET TRANSACTION READ WRITE;

Transaction set.


gSQL> INSERT INTO t1 VALUES ( 1 );

1 row created.

18004 (SQLSTATE: 42000): Statement cannot execute as atomic action

Cause

This error occurs when the statement cannot be executed because it is not an atomic insert.

Action

Execute after turning the atomic option OFF in the driver.

18005 (SQLSTATE: 42000): Preparable phase is open phase

Cause

deprecated

Action

If this error occurs, contact our customer service department.

18006 (SQLSTATE: 08S01): Communication link failure

Cause

This error occurs when a client attempts to use a session that has already been terminated on the server side.

Action

Reconnect and try again.

18007 (SQLSTATE: HYC00): not implemented feature, in a function %s

Cause

deprecated

Action

If this error occurs, contact our customer service department.

18008 (SQLSTATE: HY014): Limit on the number of SQL statement exceeded

Cause

The maximum number of statements that can be allocated in a single session has been exceeded.

Action

Check whether the application is allocating statements using SQLAllocStmt without properly releasing them using SQLFreeStmt.

To increase the number of statements that can be used concurrently in a single session, modify the MAXIMUM_CONCURRENT_ACTIVITIES property.

18009 (SQLSTATE: 42000): The command cannot be executed when global transaction is in the ACTIVE state

Cause

This error occurs when an attempt is made to execute a command that is not compatible with the transaction while the XA transaction has not yet been committed or rolled back.

Action

Execute after the XA transaction is terminated.

18010 (SQLSTATE: 07009): Invalid descriptor index

Cause

An invalid parameter index was specified when retrieving parameter information from the SQL statement.

Action

Check the number of parameters in the SQL statement and use a parameter index within the valid range.

18011 (SQLSTATE: HY000): Character set not equal(%s and %s)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

18012 (SQLSTATE: HY010): fetch out of sequence

Cause

An attempt was made to fetch data from a cursor that was already closed due to a transaction commit, rollback, or savepoint rollback.

Action

Check whether the cursor is still valid. If necessary, reopen the cursor or use the with-hold option to keep the cursor open after the transaction ends.

18013 (SQLSTATE: HYC00): Optional feature not implemented

Cause

Isolation levels such as READ UNCOMMITTED are defined in the SQL standard but are considered auxiliary options that are not actually supported.

Action

Use options such as READ COMMITTED or SERIALIZABLE.

18014 (SQLSTATE: 07001): Wrong number of parameters

Cause

The number of parameters required by the SQL statement does not match the number of parameters actually bound.

Action

Verify the number of parameters required by the SQL statement.

18015 (SQLSTATE: 24000): Invalid cursor state

Cause

An attempt was made to change the cursor position while the cursor was not open or the result set was not prepared.

Action

First, execute the SQL statement to generate the result set and open the cursor. Then, ensure the cursor is in a valid state before performing any positioning operations.

18016 (SQLSTATE: 42000): remote xa transaction (%d.%ld) already exists

Cause

This error occurs when an attempt is made to start a new XA transaction while an active XA transaction already exists.

Action

Execute after the XA transaction is terminated.

18017 (SQLSTATE: 42000): remote xa transaction (%d.%ld) does not exist

Cause

This error occurs when the XA transaction corresponding to the specified transaction ID cannot be found.

Action

Check whether the XA transaction has been terminated or if the transaction ID is correct.

ODBC Related Error

19000 (SQLSTATE: HY009): Invalid use of null pointer

Cause

The argument is NULL and it is not valid.

An error occurred in the following example because the third parameter was output argument but NULL was used.


SQLAllocHandle( SQL_HANDLE_STMT, dbc, NULL );

Action

Check ODBC API, and use the variable which is valid for the argument.

19001 (SQLSTATE: HY092): Invalid attribute/option identifier

Cause

The property which is not supported by each HANDLE type was used, or the property value was missing when setting the property.


For example, the first argument of SQLAllocHandle function is the handle type to be allocated, so an error occurs if the data other than SQL_HANDLE_ENV, SQL_HANDLE_DBC, SQL_HANDLE_STMT, SQL_HANDLE_DESC is used.


SQLAllocHandle( -1, dbc, &stmt );

Action

Check ODBC API, and check available properties and options.

19002 (SQLSTATE: 08003): Connection not open

Cause

SQLHDBC handle is not OPEN.

If allocating SQLHSTMT handle right after allocating SQLHDBC handle without connecting as follows, then an error occurs.


SQLAllocHandle( SQL_HANDLE_DBC, env, &dbc );

SQLAllocHandle( SQL_HANDLE_STMT, dbc, &stmt );

Action

If the connecting is required, then connect to DB first through SQLConnect or SQLDriverConnect function.

19003 (SQLSTATE: IM001): Driver does not support this function

Cause

The function or feature which is currently not supported was used.

It does not support allocating SQLHDESC handle with SQLAllocHandle function as follows.


SQLAllocHandle( SQL_HANDLE_DESC, dbc, &desc );

Action

Check the supported function or feature.

19004 (SQLSTATE: IM004): Driver's SQLAllocHandle on SQL_HANDLE_ENV failed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19005 (SQLSTATE: IM005): Driver's SQLAllocHandle on SQL_HANDLE_DBC failed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19006 (SQLSTATE: 08002): Connection name in use

Cause

SQLHDBC handle is already connected to the server.

Action

SQLHDBC handle connected to the server can not be connected again.

19007 (SQLSTATE: HY090): Invalid string or buffer length

Cause

The string data length or the buffer length is not valid.


The following code inquires the data through SQLGetData function. If the variable bufLen value is smaller than 0, then this error occurs.

SQLGetData( stmt, 1, SQL_C_CHAR, buf, bufLen, &ind );


The following code connects to the server through SQLConnect function. If the variable userName, auth length is smaller than or equal to 0, then this error occurs.

SQLConnect( dbc, serverName, serverNameLen, userName, userNameLen, auth, authLen, );

Action

Check API of each function.

19008 (SQLSTATE: 28000): Invalid authorization specification

Cause

It is connected by using SQLDriverConnect function, but the user name or password length is 0.

Action

Input a valid user name and a password.

19009 (SQLSTATE: HY010): Function sequence error

Cause

The current status of HANDLE is not valid.

The following code allocates SQLHDBC handle right after allocating SQLHENV handle.

SQLAllocEnv( &env );

SQLAllocConnect( env, &dbc );


An error occurs because SQL_ATTR_ODBC_VERSION property of SQLHENV handle was not set before allocating SQLHDBC handle.

Action

Check the status transition table of HANDLE in MSDN ODBC document.

19010 (SQLSTATE: 24000): Invalid cursor state

Cause

The transition status of SQLHSTMT handle is not valid.

For example, if SQLHSTMT handle is not prepared, or SQLCloseCursor function is called in execution without the result set, then this error occurs.

Action

Check the handle status available for each function. Check the status transition table in MSDSN ODBC document.

19011 (SQLSTATE: HY012): Invalid transaction operation code

Cause

The value other than SQL_COMMIT, SQL_ROLLBACK was used as an argument of the transaction processing function SQLEndTran or SQLTransact.

Action

Check SQLEndTran, and use the correct value.

19012 (SQLSTATE: HYC00): Optional feature not implemented

Cause

Goldilocks driver used unsupported option or the option which was not compatible with the current SQLHDBC handle property. For example, SQLHDBC handle using the global connection causes an error when setting XA property.

Action

Refer to ODBC API References.

19013 (SQLSTATE: HY003): Invalid application buffer type

Cause

The invalid C data type identifier was used.

Action

Refer to the data type defined in C data type and ODBC standards.

19014 (SQLSTATE: 07009): Invalid descriptor index

Cause

The invalid index was used.

Action

Modify the index number.

19015 (SQLSTATE: HY004): Invalid SQL data type

Cause

The invalid SQL type identifier was used.

Action

Refer to the data type defined in SQL data type and ODBC standards.

19016 (SQLSTATE: HY105): Invalid parameter type

Cause

The parameter type is not valid.

Action

Refer to InputOutputType argument.

19017 (SQLSTATE: HY009): Invalid argument value

Cause

The variable used as an argument of the parameter storing the data is NULL, or the buffer length is 0.

Action

The variable storing the data when inquiring the data should have the valid length.

Refer to SQLGetData.

19018 (SQLSTATE: HY011): Attribute cannot be set now

Cause

The property can not be set in the transition status of the current handle.

For example, it tried to set SQL_ATTR_CHARACTER_SET, SQL_ATTR_LOCALITY_AWARE_TRANSACTION or SQL_ATTR_USE_GLOBAL_SESSION after SQLHDBC handle was connected.

Action

Check the property which can be set in the transition status of each handle.

Refer to SQLSetConnectAttr and SQLSetStmtAttr.

19019 (SQLSTATE: HY024): Invalid attribute value

Cause

The handle property to be set is not a valid identifier.

The variable used as the property value related to each handle has the invalid value.

Action

Check the handle property to be set.

Refer to SQLSetConnectAttr and SQLSetStmtAttr.

19020 (SQLSTATE: 25000): Invalid transaction state

Cause

SQLHDBC handle called SQLDisconnect function while the transaction exists.

Action

Call SQLDisconnect function after COMMIT or ROLLBACK the transaction related to SQLHDBC handle.

19021 (SQLSTATE: HY000): General error

Cause

If the error related to SQLHSTMT handle occurs while getting the information about the driver in SQLGetInfo function, then the error message is added to the error.

Action

Check the error message through SQLGetDiagRec function.

19022 (SQLSTATE: 07005): Prepared statement not a cursor-specification

Cause

The column was inquired for SQLHSTMT handle which is a prepared statement without the result set.

Action

Call SQLDescribeCol, SQLColAttribute and SQLColAttributes functions with SQLHSTMT handle having the result set.

19023 (SQLSTATE: 22001): String data, right truncated

Cause

C data size is bigger than the column buffer size when converting C data to SQL data.

Action

Check the column length.

19024 (SQLSTATE: HY007): Associated statement is not prepared

Cause

SQLHDESC handle tried to get the description information, but the transition status of SQLHSTMT handle was not valid.

Action

Refer to SQLGetDescField and SQLGetDescRec functions.

19025 (SQLSTATE: HY092): Option type out of range

Cause

The option is not valid.

Action

Check the option available in SQLFreeStmt function.

Refer to SQLFreeStmt.

19026 (SQLSTATE: 22002): Indicator variable required but not supplied

Cause

If the indicator is NULL when the data is NULL while inquiring the data, then an error occurs.

Action

Use the indicator argument.

19027 (SQLSTATE: 01S01): Error in row

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19028 (SQLSTATE: HY016): Cannot modify an implementation row descriptor

Cause

The property of IRD descriptor handle can not be modified.

Action

Refer to SQLSetDescField and SQLSetDescRec functions.

19029 (SQLSTATE: HY091): Invalid descriptor field identifier

Cause

The property of SQLHDESC handle is not valid.

Action

Refer to SQLSetDescField function.

19030 (SQLSTATE: 07006): Restricted parameter value violation

Cause

The type can not be converted when converting data type from C type to SQL type or from SQL type to C type.

Action

Check the type transition of MSDN ODBC.

19031 (SQLSTATE: 22015): Interval field overflow

Cause

An error occurred during the type transition of the interval type.

Action

Check the type compatible with the interval type.

19032 (SQLSTATE: 22003): Numeric value out of range

Cause

The size of the buffer to store the numeric data is smaller than the data length.

Action

Check the error message and increase the buffer size.

19033 (SQLSTATE: 01004): String data, right truncated

Cause

The buffer length is smaller than the data length when inquiring the data.

The buffer length is insufficient when getting the handle property value.

Action

Check the error message and increase the buffer size.

19034 (SQLSTATE: 22018): Invalid character value for cast specification

Cause

The conversion from C string type data to the numeric type is not valid.

Action

Check if C string data is a valid numeric data.

19035 (SQLSTATE: 01S07): Fractional truncation

Cause

C buffer length is insufficient while converting the column data to C data.

Action

Increase the buffer length.

19036 (SQLSTATE: 22008): Datetime field overflow

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19037 (SQLSTATE: 22007): Invalid datetime format

Cause

The date type C data is not valid.

Action

Check the data. The date type data should follow the gregorian calendar.

19038 (SQLSTATE: 08S01): Communication link failure

Cause

It was disconnected during the communication protocol.

Action

Check the network environment.

19039 (SQLSTATE: HY000): An invalid SQL type has occurred

Cause

The data column type received in the server while inquiring the data in SQL_C_DEFAULT type is not valid.

Action

If this error occurs, contact our customer service department.

19040 (SQLSTATE: 34000): Invalid cursor name

Cause

The cursor name is not valid.

Action

The maximum length the cursor name should be smaller than 128 bytes.

The cursor name can not start with SQL_CUR, SQLCUR.

19041 (SQLSTATE: HY000): Failed to atomic execution

Cause

An error occurred while executing the batch after SQL_ATTR_ATOMIC_EXECUTION property value was set to SQL_ATOMIC_EXECUTION_ON.

Action

Check the error through SQLGetDiagRec and SQLGetDiagField functions.

19042 (SQLSTATE: HY110): Invalid driver completion

Cause

The argument value of the driver completion used in SQLDriverConnect function is not valid.

Action

Refer to SQLDriverConnect function.

19043 (SQLSTATE: IM012): DRIVER keyword syntax error

Cause

The connecting string is not valid.

Action

The syntax of the connecting string consists of the keyword and the value, and the property can be added with ';'.

The following is an example of the connecting string used in SQLDriverConnect.

"DSN=GOLDILOCKS;UID=TEST;PWD=test"

19044 (SQLSTATE: 08001): Client unable to establish connection

Cause

The socket can not be initialized or IP address can not be acquired from the host name.

Action

Check if the host name and IP address are correctly set when getting IP address with the host name.

If an error occurs while initializing the socket, check the system error and respond to it.

19045 (SQLSTATE: HY096): Information type out of range

Cause

The information type identifier which is obtained from SQLGetInfo function is not valid.

Action

Refer to SQLGetInfo function.

19046 (SQLSTATE: IM002): Data source not found and no default driver specified

Cause

The given data source name was not found from odbc.ini file.

Action

Check the data source name and odbc.ini file.

19047 (SQLSTATE: HY106): Fetch type out of range

Cause

The fetch orientation identifier is not valid in SQLExtendedFetch or SQLFetchScroll functions.

Action

Refer to SQLFetchScroll function.

19048 (SQLSTATE: HY100): Uniqueness option type out of range

Cause

The unique identifier in SQLStatistics function is not valid.

Action

Refer to SQLStatistics function.

19049 (SQLSTATE: HY101): Accuracy option type out of range

Cause

The reserved identifier in SQLStatistics function is not valid.

Action

Refer to SQLStatistics function.

19050 (SQLSTATE: HY097): Column type out of range

Cause

The identifier type identifier in SQLSpecialColumns function is not valid.

Action

Refer to SQLSpecialColumns function.

19051 (SQLSTATE: HY098): Scope type out of range

Cause

The scope identifier in SQLSpecialColumns function is not valid.

Action

Refer to SQLSpecialColumns function.

19052 (SQLSTATE: HY099): Nullable type out of range

Cause

The nullable identifier is not valid in SQLSpecialColumns function.

Action

Refer to SQLSpecialColumns function.

19053 (SQLSTATE: HY021): Inconsistent descriptor information

Cause

The information about the descriptor handle is not valid.


The following code sets the SQL type of the parameter to SQL_INTERVAL_MONTH in SQLHSTMT handle, and changes SQL_DESC_DATETIME_INTERVAL_PRECISION property of IPD handle to 1, then sets the buffer pointer with SQL_DESC_DATA_PTR property.


ret = SQLBindParameter( stmt, 1, SQL_PARAM_INPUT, SQL_C_NUMERIC, SQL_INTERVAL_MONTH, 1, 0, numeric, sizeof( SQL_NUMERIC_STRUCT ), 0 );

ret = SQLGetStmtAttr( stmt, SQL_ATTR_IMP_PARAM_DESC, &ipd, 0, NULL );

ret = SQLSetDescField( ipd, 1, SQL_DESC_DATETIME_INTERVAL_PRECISION, (SQLPOINTER) 1, 0 );

ret = SQLSetDescField( ipd, 1, SQL_DESC_DATA_PTR, dataPtr, 0 );


SQL_DESC_DATETIME_INTERVAL_PRECISION property is set to 1, but it exceeds the precision range of INTERVAL MONTH type (2~6). Therefore, an error occurs while setting SQL_DESC_DATA_PTR property.

Action

Refer to SQLSetDescField function.

19054 (SQLSTATE: 01S02): Option value changed

Cause

The cursor property of SQLHSTMT handle has been changed.

The following is a sample code in which the property is changed while using SELECT FOR UPDATE statement though the cursor property of SQLHSTMT handle was set to SQL_CONCUR_READ_ONLY, SQL_SENSITIVE. SQLExecDirect function returns SQL_SUCCESS_WITH_INFO.


ret = SQLSetStmtAttr( stmt, SQL_ATTR_CONCURRENCY, (SQLPOINTER)SQL_CONCUR_READ_ONLY, 0 );

ret = SQLSetStmtAttr( stmt, SQL_ATTR_CURSOR_SENSITIVITY, (SQLPOINTER)SQL_SENSITIVE, 0 );

ret = SQLExecDirect( stmt, (SQLCHAR*)"SELECT C1 FROM SAMPLE_TABLE FOR UPDATE", SQL_NTS );

Action

Refer to SQLExecDirect, SQLExecute, SQLSetStmtAttr, SQLPrepare functions.

19055 (SQLSTATE: HY109): Invalid cursor position

Cause

SQLSetPos function was called with SQLHSTMT handle having FOWARD_ONLY property. Or, the row number argument of SQLSetPos function is smaller than or equal to 0.

Action

Refer to SQLSetPos function.

19056 (SQLSTATE: HY107): Row value out of range

Cause

The row number argument value of SQLSetPos function is bigger than the array size.

Action

Refer to SQLSetPos function.

19057 (SQLSTATE: HYT00): Timeout expired

Cause

It tried to connect to the server, but timeout occurred.

Action

Check the network environment. Refer to SQLConnect function.

19058 (SQLSTATE: 2C000): Invalid or unknown NLS parameter value specified

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19059 (SQLSTATE: HY020): Attempt to concatenate a null value

Cause

SQL_NULL_DATA identifier was used in StrLen_or_ind argument when returning SQL_NEED_DATA and calling SQLPutData.

Action

Refer to SQLPutData function.

19060 (SQLSTATE: HY019): Non-character and non-binary data sent in pieces

Cause

SQL_NEED_DATA was returned from the type other than SQL_C_CHAR, SQL_C_WCHAR, SQL_C_BINARY types, and SQLPutData was called more than once.

Action

Refer to SQLPutData function.

19061 (SQLSTATE: HY000): Invalid 'odbc.ini' specification. property : [%s]

Cause

The value set in the property of odbc.ini file is not valid.

For example, valid values allowed in CS_MODE property of odbc.ini file are default, shared and dedicated, and if another value is used then an error occurs.

Action

Refer to Data Source Configuration.

19062 (SQLSTATE: IM008): Dialog failed

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19063 (SQLSTATE: 40001): Transaction rollback

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19064 (SQLSTATE: 40003): Statement completion unknown

Cause

deprecated

Action

If this error occurs, contact our customer service department.

19065 (SQLSTATE: 08S01): Communication link failure

Cause

It was disconnected during the operation, so it was connected to ALTERNATE_SERVERS with FAILOVER, but the operation of SQLHSTMT handle failed, so SESSION FAILOVER failed.

Action

Connect SQLHDBC handle again.

19066 (SQLSTATE: 01000): General warning

Cause

It was disconnected while executing SQLEndTran function with SQL_ROLLBACK, but failover succeeded.

Action

It is a warning, so no other action is required.

19067 (SQLSTATE: HY104): Invalid precision or scale value

Cause

The value of the column size, the decimal digits, the precision or the scale of SQL type set as SQLBindParameter function is out of the valid range of the SQL type.

For example, the column size of SQL_CHAR type is minimum 1, maximum 2000. The column size of SQL_NUMERIC type is minimum 1, maximum 38, and the decimal digits is minimum -84, maximum 127.

Action

Check the valid size per each SQL type of the parameter.

Refer to Built-in Data Type References.

19068 (SQLSTATE: 40003): Retry the transactional operations

Cause

Failover was executed during the operation, and it succeeded

Action

Execute the operation again.

19069 (SQLSTATE: 08S01): Failed to communicate with locator

Cause

It failed in the process of setting the connection properties LOCATOR_SERVICE and LOCATOR_DSN and getting the connection information from glocator.

Action

Check the trace log and the connection information of glocator.

19070 (SQLSTATE: 08006): Unable to get cluster system information

Cause

It can not get cluster system info when using the global connection.

Action

If this error occurs, contact our customer service department.

19071 (SQLSTATE: HY000): startup cannot be performed on ipc

Cause

It tried to execute STARTUP when PROTOCOL_TYPE connects to the server in IPC.

Action

If this error occurs, contact our customer service department.

19072 (SQLSTATE: IM006): Driver's SQLSetConnectAttr failed

Cause

The database connection was successful, but an error occurred while applying the predefined connection attributes.

Action

This error is treated as a warning, and the connection attribute settings should be retried.

19073 (SQLSTATE: HY017): Invalid use of an automatically allocated descriptor handle

Cause

An attempt was made to directly set the implementation row descriptor (SQL_ATTR_IMP_ROW_DESC) or the implementation parameter descriptor (SQL_ATTR_IMP_PARAM_DESC).

Action

Remove any code that attempts to directly set the SQL_ATTR_IMP_ROW_DESC or SQL_ATTR_IMP_PARAM_DESC attributes.

19074 (SQLSTATE: HY108): Concurrency option out of range

Cause

An invalid cursor concurrency option was used.

Action

Use one of the following values: SQL_CONCUR_READ_ONLY, SQL_CONCUR_LOCK, SQL_CONCUR_ROWVER, or SQL_CONCUR_VALUES.

JDBC Related Error

21000 (SQLSTATE: HV000): Not used error

Cause

deprecated

Action

If this error occurs, contact our customer service department.

21001 (SQLSTATE: 46001): Invalid connection url[%s]: [%s]

Cause

The given URL is invalid.

Action

Check URL string in the following manual.

21002 (SQLSTATE: 46110): Unsupported feature: [%s]

Cause

The unsupported API is used.

Action

It is the unsupported API, so find a workaround.

21003 (SQLSTATE: 08S01): Invalid protocol: [%s]

Cause

The communication protocol is not valid. The response protocol should be received for the protocol sent to the server in the client program, but the sequence has an error.

Action

If this error occurs, contact our customer service department. The protocol sending/ receiving logging can be found by using the connection property protocol_log.

21004 (SQLSTATE: HV000): Invalid method call for read-only ResultSet

Cause

There was an attempt to change the row location or manipulate the data in read only ResultSet.

Action

Row location change and data manipulation is not possible in read only ResultSet.

21005 (SQLSTATE: 08003): The Connection is already closed

Cause

The connection object was already closed when it called the method. Or, it was disconnected during the communication protocol.

Action

Check the method which can be called when the connection object is closed.

If the connection object is implicitly closed, then check the error message occurred during the disconnection.

21006 (SQLSTATE: 08003): The Statement is already closed

Cause

The statement object was already closed when it called the method. Or, it was disconnected during the communication protocol.

Action

Check the method which can be called when the statement object is closed.

If the statement object is implicitly closed, then the connection object may be closed.

21007 (SQLSTATE: 08003): The ResultSet is already closed

Cause

The ResultSet object was already closed when it called the method. Or, an error for FETCH occurred or it was disconnected due to an error from the server when executing FETCH protocol.

Action

Check the method which can be called when the ResultSet object is closed.

Check the error message occurred during FETCH protocol.

21008 (SQLSTATE: HV000): Invalid method call for forward-only ResultSet

Cause

It tried to change the location of forward only ResultSet.

Action

Change the ResultSet type to scrollable.

21009 (SQLSTATE: HV000): Invalid Wrapper type: [%s]

Cause

The object used as an input argument is not the wrapper class of the class.

Action

Check the object used as an input argument.

21010 (SQLSTATE: HV000): Invalid argument: [%s]

Cause

The valid object of the argument used in the method is null or the value is wrong.

Action

Check the manual of the method.

21011 (SQLSTATE: 08000): Cannot connect to the server: %s

Cause

It tried to connect the socket to the given address, but it failed.

Action

Check if the host and port is not valid, or if the network is not available.

21012 (SQLSTATE: 08S01): Communication link failure: %s

Cause

It was disconnected during the communication.

Action

Check the detailed error message. Check the error situation by using trace_log and protocol_log as connection properties.

21013 (SQLSTATE: HV000): A mandatory property is omitted: [%s]

Cause

A mandatory connection property is omitted among the connection properties.

Action

The mandatory connection properties are USER and PASSWORD.

21014 (SQLSTATE: HV000): Not a select query for executeQuery method

Cause

deprecated

Action

If this error occurs, contact our customer service department.

21015 (SQLSTATE: HV000): The statement has produced a ResultSet

Cause

PreparedStatement object was created with SELECT statement in which ResultSet was created, and executeBatch or executeUpdate method was called.

Action

Use execute or executeQuery method in the statement in which ResultSet is created.

21016 (SQLSTATE: HV000): This method cannot be called for a PreparedStatement

Cause

execute, executeBatch, executeUpdate, executeQuery methods which use SQL string as arguments can not be used in PreparedStatement class.

Action

Use Statement class instead of PreparedStatement class when using SQL string as an argument in those methods.

21017 (SQLSTATE: HV000): Parameter type[%s] is mismatch with previous type[%s] during batch

Cause

The data type set as the set message is different from the previously set data type during the batch execution.

The following is an example of setting the data to the string type after setting it as the integer type data.

PreparedStatement pstmt = con.prepareStatement( "INSERT INTO TEST VALUES (?) ");

pstmt.setObject(1, 10);

pstmt.addBatch();

pstmt.setObject(1, "20");


An error occurs because the string data "20" is different from the previously set data type.

Action

If data types are not same for the same parameter, then do not use the batch execution.

21018 (SQLSTATE: HV000): Lack of parameter: [%s]'th parameter

Cause

The parameter in which the data is not set exists.

The following code has two parameters, but the data is not set in the second parameter. An error occurs when calling execute method.

PreparedStatement pstmt = con.prepareStatement( "INSERT INTO TEST VALUES( ?, ? )" );

pstmt.setObject(1, 10);

pstmt.execute();

Action

Set the data in the parameter in which the data is missing.

21019 (SQLSTATE: HV000): No batch job added

Cause

deprecated

Action

If this error occurs, contact our customer service department.

21020 (SQLSTATE: HV000): Batch job added

Cause

execute, executeQuery or executeUpdate other than executeBatch method was called after calling addBatch method.

Action

Call executeBatch method after calling addBatch method to use the batch execution.

21021 (SQLSTATE: 22003): The value[%s] is out of range of [%s] type

Cause

It exceeds the range of the data type when setting the data in PreparedStatement class.

The following is the code exceeding the range of the data type while setting the string type data as the integer type.

PreparedStatement pstmt = con.prepareStatement("INSERT INTO TEST VALUES(?)");

pstmt.setObject( 1, "1000000000000", Types.INTEGER );


It exceeds the range of the data type when getting the data from ResultSet class.

The following is the code getting the numeric data 100 as a boolean type. An error occurs that it exceeds the range when calling getBoolean method from ResultSet.

pstmt.setInt( 1, 100 );

pstmt.execute();

ResultSet rs = stmt.executeQuery( "SELECT C1 FROM TEST" );

boolean isTrue = rs.getBoolean(1);

Action

Use the data type according to the table schema. If the table schema is unknown, then use getObejct, setObject methods.

21022 (SQLSTATE: 22026): The value length is mismatch[%s != %s]

Cause

The data was set in ROWID type, but the data size violates ROWID type.

Action

Check the data size in the error message.

21023 (SQLSTATE: HV000): The value([%s] type) cannot be converted to [%s] type

Cause

It tried to convert the data to the nonconvertible type.

Action

Check Type Conversion.

21024 (SQLSTATE: 08000): The connection timeout expired: [%s millis]

Cause

It may occur because the server does not respond while connecting.

Action

Check the network environment or check the connection property login_timeout.

21025 (SQLSTATE: HV000): The column is not found: [%s]

Cause

It tried to retrieve or set the data with the column name in ResuletSet or PreparedStatement class, but the column name does not exist.

Action

Check the column name.

21026 (SQLSTATE: 3B000): Savepoint error: %s

Cause

The savepoint has ID or a name. This error occurs when retrieving ID of the savepoint using the name or retrieving the savepoint name using ID.

Action

The savepoint has ID or a name, and it should be retrieved according to the created savepoint.

The following is the code creating and retrieving the savepoint.

Savepoint spId = con.setSavepoint();

spId.getSavepointId();

Savepoint spName = con.setSavepoint("mySavepoint");

spName.getSavepointName();

21027 (SQLSTATE: HV000): Cannot execute the query in auto-commit mode

Cause

This error occurs when using commit, rollback, savepoint in the connection object created in the auto commit mode.

Action

Change the connection object to auto commit false, or do not use commit, rollback, saveponit.

21028 (SQLSTATE: 24000): Invalid cursor position

Cause

The cursor location is not valid when retrieving the data from ResultSet object.

The following is the code retrieving the data from the cursor location in which ResultSet object was created and invalid. An error occurs while retrieving the data.

ResultSet rs = stmt.executeQuery("SELECT * FROM TEST");

int c1 = rs.getInt(1);

Action

Retrieve the data after relocating the cursor of ResultSet object.

The following is the code retrieving the data after relocating the cursor of ResultSet object from the code above.

ResultSet rs = stmt.executeQuery( "SELECT * FROM TEST" );

if( rs.next() )

{

int c1 = rs.getInt(1);

}

21029 (SQLSTATE: HV000): No column has been read

Cause

It tried to check null without retrieving the data from ResultSet object.

Action

wasNull method in ResultSet class can be called after retrieving the data.

21030 (SQLSTATE: HV000): Encoding error: [%s]

Cause

The error occurred while encoding the string with the character set used by the connection object.

The following is the code executed by entering UTF-16 data into PreparedStatement object which uses UTF8 character set. The error occurs while encoding in execute method.

char[] chars = {(char)0xD800};

Reader reader = new CharArrayReader(chars);

pstmt.setCharacterStream( 1, reader );

pstmt.execute();

Action

Check if the string type data character set and the character set used by the connection object are convertible each other.

GoldilocksConnection class can get the information about the character set by providing getCharset, getCharsetId, getCharsetName methods.

21031 (SQLSTATE: HV000): Decoding error: [%s]

Cause

The error occurred while decoding the string with the character set used by the connection object.

Action

Check if the string type data character set and the character set used by the connection object are convertible each other.

GoldilocksConnection class can get the information about the character set by providing getCharset, getCharsetId, getCharsetName methods.

21032 (SQLSTATE: HV000): Stream error: [%s]

Cause

The stream object used as the data argument is not valid.

Action

Check the open status of the stream object or if there is the data to read.

21033 (SQLSTATE: HV000): Trying to read the deleted row

Cause

ResultSet object created as TYPE_SCROLL_SENSITIVE type read the data, but the data was deleted.

The following is the code reading ResultSet object, deleting the data, and reading ResultSet object again. An error occurs when it tries to read it again after deleting it because it is ResultSet object created as TYPE_SCROLL_SENSITIVE type.

Statement deleteStmt = con.createStatement();

Statement fetchStmt = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY );

ResultSet rs = fetchStmt.executeQuery( "SELECT * FROM TEST" );

while( rs.next() ) {

System.out.println( "ID = " + rs.getString( 1 ) );

}

deleteStmt.executeQuery( "DELETE FROM TEST WHERE ID = 100" );

rs.absolute(0);

while( rs.next() ) {

rs.getString( 1 );

}

Action

This error may occur when using SCROLL_SENSITIVE type ResultSet.

The fetch size of SCROLL_SENSITVE type ResultSet is fixed to 100.

21034 (SQLSTATE: HV000): Invalid interval format string: [%s]

Cause

deprecated

Action

If this error occurs, contact our customer service department.

21035 (SQLSTATE: HV000): The Statement has an opened ResultSet

Cause

It tried to set the cursor name through the statement object, but there was already an open ResultSet.

Action

Set the cursor name before opening ResultSet.

21036 (SQLSTATE: HV000): The RowId object is unknown

Cause

The data used as a parameter argument is not RowId object.

Action

Use the valid RowId object.

21037 (SQLSTATE: 08000): The failover failed

Cause

The connection property alternate_servers was set and the communication protocol was disconnected, so it tried failover, but the failover failed.

Action

Check the connection information used in the connection property alternate_servers.

Check the network environment of the alternative server.

21038 (SQLSTATE: 07009): The parameterIndex is not valid: [%s]

Cause

The parameter number is not valid.

The following is an example of using CallableStatement class. The number 1 parameter is an output type and the number 2 parameter is an input type in SQL statement.


CallableStatement cstmt = con.prepareCall( "SELECT NAME INTO ? FROM SAMPLE WHERE ID = ?");

cstmt.registerOutParameter(1, Types.VARCHAR);

cstmt.setInt(2, 100);

cstmt.execute();

System.out.println( cstmt.getString(1) );


If the number other than 1 ,2 is used in the example above for the parameter number in the data set function, then this error occurs.

Action

Check the number of parameters and the parameter number in SQL statement.

21039 (SQLSTATE: HY000): No data read

Cause

wasNull method was called without reading the data from CallableStatement object.

Action

Read the data first before calling wasNull method.

21040 (SQLSTATE: HY000): Invalid locator protocol version

Cause

It tried to communicate with glocator to configure the global connection but the communication protocol version does not match.

The global connection configuration using glocator uses the connection property locator_host, locator_port.

Action

Use the same version glocator.

21041 (SQLSTATE: HY000): not matched locator protocol command sequence number

Cause

glocator protocol was sent to configure the global connection, but the protocol number does not match.

Action

Set the connection property alternate_locator in preparation for the packet loss or the communication failure.

21042 (SQLSTATE: HY000): Unable to open the file '%s'

Cause

The file does not exist.

Action

Check the file path and name.

21043 (SQLSTATE: HY000): Unable to read the file '%s'

Cause

IO exception occurred while reading the file.

Action

Check the privilege, loss or existence of the file.

21044 (SQLSTATE: HY000): Unable to close the file '%s'

Cause

IO exception occurred while closing the file.

Action

Check the privilege, loss or existence of the file.

21045 (SQLSTATE: HY000): invalid INI file format

Cause

The locator file format is not a correct INI file format.

The following is an example of the locator file in the correct INI format.


[G1N1]

HOST = 127.0.0.1

PORT = 22581

DB_HOME = g1n1_home

[G2N1]

HOST = 127.0.0.1

PORT = 22582

DB_HOME = g2n2_home

Action

Modify the file to a correct INI format.

The member name should be enclosed in [ and ]. List the member property under the name.

21046 (SQLSTATE: HY000): Parameter[%s]'s input data type is mismatched with output data type

Cause

The output parameter type and the data type are not compatible when using CallableStatement object.

The following code sets the data in int type in CallableStatement object and set the out parameter as VARCHAR type. An error occurs because types are not compatible.

CallableStatement cstmt = con.prepareCall( "CALL SAMPLE_PROC( ? )" );

cstmt.setInt( 1, 100 );

cstmt.registerOutParameter( 1, Types.VARCHAR );

cstmt.execute();

Action

If input and output parameter types are used simultaneously as the code above, then the types should be compatible.

21047 (SQLSTATE: 40001): Retry the transactional operations again

Cause

The transaction occurred in the global connection environment, but it was disconnected.

Action

Execute the operation again.

21048 (SQLSTATE: 08006): Unable to get cluster system information

Cause

It tried to configure the connection in the global connection environment, but there was a member which could not JOIN.

Action

Check the member which could not JOIN, and respond to it.

21049 (SQLSTATE: HY000): The Statement does not have a ResultSet

Cause

If ResultSet does not exist when executeQuery method of PreparedStatement or CallableStatement class is called, then an error occurs.

The following code executes SELECT statement but the statement does not have ResultSet, so an error occurs when calling executeQuery method.

CallableStatement cstmt = con.prepareCall( "SELECT NAME INTO ? FROM WHERE ID = ? " );


con.registerOutParameter( 1, Types.VARCHAR );

con.setInt( 2, 100 );

con.executeQuery();

Action

Use execute or executeUpdate method for SQL without ResultSet.

21050 (SQLSTATE: 08006): Unable to get location information

Cause

The connection property locator_file is missing, or locator_host or locator_port is missing when using the global connection.

Action

Set locator_file, locator_host or locator_port when using the global connection.

21051 (SQLSTATE: HY000): Not exist node information - %s

Cause

The member information does not exist in the location file or glocator.

Action

Add the connection information of the member to the location file or glocator.

21052 (SQLSTATE: HY000): Operation on freed LOB

Cause

LOB object was freed before executing the operation.

Action

If LOB object is freed, then the executable operation is limited.

21053 (SQLSTATE: HY000): Invalid sql : %s

Cause

It tried to create PreparedStaetment with RETURN_GENERATED_KEYS option, but the statement is not INSERT statement.

Action

RETURN_GENERATED_KEYS option can be used only in INSERT statement.

21054 (SQLSTATE: HY000): Can not combine auto-generated keys with batch update

Cause

The batch-related function was used in the statement which used the auto generated key.

Action

The auto generated key and the batch-related function can not be used together.

21055 (SQLSTATE: HY000): An error occurred while using the SSL function : %s

Cause

An error occurred in API while using SSL security protocol.


The error may occur because of the version mismatch, certificate error, encoding algorithm support problem, key management error, network error, or Java version.

Action

Check the error message, and respond to it.

21056 (SQLSTATE: HY000): Invalid column type

Cause

The object type of the data which was input while setting the data type to Types.NULL when setting parameters is not supported by Goldilocks JDBC.

Action

Check the type which is supported by Goldilocks JDBC.

Refer to Type Conversion.

Embedded SQL Related Error

Embedded SQL Run-time Library Related Error

23000 (SQLSTATE: 42000): syntax error

Cause

deprecated

Action

If this error occurs, contact our customer service department.

23001 (SQLSTATE: 0A000): feature not supported

Cause

deprecated

Action

If this error occurs, contact our customer service department.

23002 (SQLSTATE: HY000): Bind variable "%s" was not declared

Cause

deprecated

Action

If this error occurs, contact our customer service department.

23003 (SQLSTATE: HY000): Application can't be initialized

Cause

An error occurred during initializing the embedded SQL library.

Action

An error occurred due to the failure during the memory allocation or semaphore creation. Check the related system environment according to the error message.

23004 (SQLSTATE: HY000): Application can't be finalized

Cause

An error occurred during finalizing the embedded SQL library.

Action

An error occurred due to the failure during deallocating the allocated memory or freeing the created semaphore. Check the related system environment according to the error message.

23005 (SQLSTATE: RD000): Service is not available

Cause

deprecated

Action

If this error occurs, contact our customer service department.

23006 (SQLSTATE: RD000): Statement is not prepared

Cause

deprecated

Action

If this error occurs, contact our customer service department.

23007 (SQLSTATE: 08001): Client can't establish SQL-connection

Cause

After an embedded SQL library failed to initialize the operation, the application continued without error handling.

Action

If it failed to initialize the operation, restart the application.

23008 (SQLSTATE: HY000): cursor "%s" is not open

Cause

It tried to FETCH or CLOSE a cursor even when the cursor is not open.

Action

Open the cursor first.

23009 (SQLSTATE: HY000): Application can't create semaphore

Cause

It failed to create the semaphore during initializing the embedded SQL library.

Action

Check the system error number and the system environment.

23010 (SQLSTATE: HY000): Application can't destroy semaphore

Cause

It failed to destroy the semaphore during terminating the embedded SQL library.

Action

Check the system error number and respond to it.

23011 (SQLSTATE: HY000): Application can't create allocator

Cause

It failed to create the memory manager during initializing the embedded SQL library.

Action

Check the system error number and the system environment.

23012 (SQLSTATE: HY000): Application can't destroy allocator

Cause

It failed to delete the memory manager during terminating the embedded SQL library.

Action

Check the system error number and respond to it.

23013 (SQLSTATE: HY000): Application can't create symbol table

Cause

It failed to create the symbol table due to the insufficient memory.

Action

Check the system memory.

23014 (SQLSTATE: HY000): Application can't destroy symbol table

Cause

It failed to destroy the symbol table.

Action

Check the system error number and respond to it.

23015 (SQLSTATE: IM004): Driver's SQLAllocHandle on SQL_HANDLE_ENV failed

Cause

It failed to create the SQL_HANDLE_ENV handle of ODBC.

Action

Check system memory size and odbc.ini file.

23016 (SQLSTATE: IM001): Driver does not support ODBC 3.0

Cause

The ODBC driver does not support version 3.0.

Action

Check the ODBC driver.

23017 (SQLSTATE: HY000): Application can't allocate memory

Cause

It failed to allocate the memory.

Action

Check the system memory.

23018 (SQLSTATE: 42000): Statement "%s" was not prepared

Cause

It tried to EXECUTE, OPEN, FETCH or CLOSE the statement with the given name when it was not prepared.

Action

Execute PREPARE statement first.

23019 (SQLSTATE: 42000): Descriptor name is too long

Cause

The length of the descriptor name exceeds 128.

Action

Use the name whose length is 128 or below.

23020 (SQLSTATE: HYC00): Not implemented feature, in a function %s

Cause

It tried to execute the feature which is not supported.

Action

Find the workaround for a feature which is not supported.

23021 (SQLSTATE: 07004): USING clause required for dynamic parameters

Cause

USING clause was not used in the EXECUTE or OPEN statement which is a dynamic method statement using the prepared statement with the parameter.

Action

Use a USING clause in EXECUTE or OPEN statement.

23022 (SQLSTATE: 07001): USING clause: illegal variable name/number

Cause

The number of host variables in USING clause is bigger than the number of parameters in the prepared statement.

Action

The number of parameters should be the same as the number of the host variables.

23023 (SQLSTATE: 07001): USING clause: not all variables bound

Cause

The number of host variables in USING clause is smaller than the number of parameters in the prepared statement.

Action

The number of parameters should be the same as the number of the host variables.

23024 (SQLSTATE: 07007): INTO clause required for result fields

Cause

INTO clause was not used in the EXECUTE statement which is a dynamic method statement using the prepared statement with the column.

Action

Use a INTO clause in EXECUTE statement.

23025 (SQLSTATE: 07001): INTO clause: illegal variable name/number

Cause

The number of host variables in INTO clause is bigger than the number of columns in the prepared statement.

Action

The number of columns should be the same as the number of the host variables.

23026 (SQLSTATE: 07001): INTO clause: not all variables bound

Cause

The number of host variables in INTO clause is smaller than the number of columns in the prepared statement.

Action

The number of columns should be the same as the number of the host variables.

23027 (SQLSTATE: 22002): null value, no indicator parameter

Cause

It tried to return NULL data without using a host variable for INDICATOR.

Action

Use the host variable for INDICATOR. Alternatively, use gspec option unsafe-null during the build process.

23028 (SQLSTATE: 07005): cursor "%s" statement is not a query

Cause

The prepared statement which executed OPEN statement in the dynamic method is not a query.

Action

Check the syntax of the prepared statement which tried to execute OPEN statement, and modify it accordingly.

23029 (SQLSTATE: 08003): connection not open

Cause

It executed the embedded SQL while DB is disconnected.

Action

Check the connection status of DB.

23030 (SQLSTATE: 34000): cursor "%s" is not updatable

Cause

The cursor used in UPDATE or DELETE statement is not updatable.

Action

Use FOR UPDATE clause when declaring a cursor.

23031 (SQLSTATE: 08002): connection name "%s" in use

Cause

The connection with the given name already exists.

Action

Try it after changing the name.

23032 (SQLSTATE: 08002): duplicate connection context

Cause

It tried to connect to the context, and the context was already connected.

Action

Handle it accordingly.

23033 (SQLSTATE: HY000): GROUPID type is only available with global connection

Cause

deprecated

Action

If this error occurs, contact our customer service department.

23034 (SQLSTATE: 42000): SELECT INTO or RETURN INTO returns too many rows

Cause

It executed RETURN INTO statement as an array in SELECT INTO or DML, but the number of rows is bigger than the array size.

Action

Make the array size bigger.

23035 (SQLSTATE: 24000): cursor "%s" is not declared

Cause

It used undeclared cursor in OPEN statement.

Action

Declare the cursor with DECLARE statement before executing OPEN statement.

23036 (SQLSTATE: 24000): cursor "%s" is not closed

Cause

It used the opened cursor in DECLARE statement.

Action

Check the cursor status and handle it accordingly.

23037 (SQLSTATE: 24000): cursor "%s" is already opened

Cause

It tried to open the opened cursor again in a standing cursor.

Action

Check the cursor status and handle it accordingly.

23038 (SQLSTATE: 24000): cursor "%s" is not a dynamic cursor

Cause

The host variable was used even though the cursor used in OPEN statement was declared without using a dynamic SQL.

Action

Declare the cursor by using a dynamic SQL again, or do not use the host variable.

23039 (SQLSTATE: HY000): invalid cursor

Cause

SQL_CURSOR type host variable has NULL value.

Action

Allocate SQL_CURSOR and get a cursor.

23040 (SQLSTATE: 07000): Attempt to allocate existing descriptor

Cause

It attempts to allocate the existing descriptor again.

Action

Free the descriptor to allocate the existing descriptor again.

23041 (SQLSTATE: 07000): "%s" invalid descriptor

Cause

The descriptor with the given name does not exist.

Action

Set the correct descriptor name.

23042 (07009): invalid descriptor index

Cause

In the GET or SET statement, the column index value exceeds the occurrence range or is below 0.

Action

Set the correct column index value, or allocate the descriptor with a bigger occurrence again.

23043 (SQLSTATE: 07000): Insufficient item descriptor areas

Cause

The number of parameters or columns in SQL is bigger than the occurrence value of the descriptor.

Action

Allocate the bigger occurrence value of the descriptor.

23044 (SQLSTATE: HY000): Descriptor is not proper parameter list

Cause

The number of the descriptor's parameters is smaller than the expected parameter value in SQL.

Action

Set the descriptor by executing DESCRIBE statement, or manually set the descriptor.

23045 (SQLSTATE: 07000): Descriptor is not proper select list

Cause

The number of the descriptor's columns is smaller than the expected column value in SQL.

Action

Set the descriptor by executing DESCRIBE statement, or manually set the descriptor.

23046 (SQLSTATE: 07006): invalid data type for descriptor

Cause

TYPE in SET statement is wrong.

Action

Use the correct SQL TYPE.

23047 (SQLSTATE: 07006): The host variable type are not compatible with descriptor's type

Cause

The host variable type which was used to get DATA in GET statement is not compatible.

Action

Use the host variable which is compatible with DATA.

23048 (SQLSTATE: 07000): Encountered zero length in ANSI dynamic SET statement

Cause

LENGTH value is below 0 in SET statement.

Action

Set LENGTH value to a value bigger than 0.

23049 (SQLSTATE: 07000): invalid SQLDA

Cause

SQLDA used in the statement is NULL, so it is not valid.

Action

Allocate SQLDA by using SQLSQLDAAlloc function before executing the statement.

23050 (SQLSTATE: 22000): invalid length with variable character or binary

Cause

This error occurs when a negative value is set for the len member variable of the structure that contains a VARCHAR or VARBINARY variable used within a .gc file. This error is only detected when the variable is used as an IN or IN_OUT parameter of a procedure.

Action

Execute the program after setting the len member of the VARCHAR or VARBINARY variable to the actual (non-negative) data length.

Embedded SQL Pre-compile Related Error

41000 (SQLSTATE: 42000): syntax error

Cause

The syntax in the error message is wrong.

Action

Modify the syntax in the error message.

41001 (SQLSTATE: 0A000): feature not supported

Cause

The syntax used is not support.

Action

The syntax in which an error occurred is not support, so use the alternative syntax which is supported.

41002 (SQLSTATE: 42000): Host variable "%s" not declared

Cause

The host variable is not declared.

Action

Declare the host variable in DECLARE SECTION.

41003 (SQLSTATE: 42000): Cursor "%s" not declared

Cause

deprecated

Action

If this error occurs, contact our customer service department.

41004 (SQLSTATE: 42000): "%s": file not exist

Cause

The header file used in INCLUDE statement does not exist.

Action

Check the header file name and modify it.

41005 (SQLSTATE: 42000): expression type does not match usage

Cause

The host variable used in the statement in which an error occurred is not compatible with the variable type used in the statement.

Action

Modify the host variable type.

41006 (SQLSTATE: 42000): Fatal error while doing embedded SQL preprocessing

Cause

An error occurred while parsing the SQL statement.

Action

Correctly modify the SQL statement.

41007 (SQLSTATE: HY000): Precompiler can't create symbol table

Cause

It failed to create the symbol table.

Action

Check the system error number and deal with it.

41008 (SQLSTATE: HY000): Precompiler can't destroy symbol table

Cause

It failed to destroy the symbol table.

Action

Check the system error number and deal with it.

41009 (SQLSTATE: 42000): identifier is too long

Cause

The length of the identifier name exceeds 128.

Action

The length of the identifier name should be smaller than 128.

41010 (SQLSTATE: 42000): token "%s" is not valid in preprocessor expressions

Cause

The string using double quote (") was used as an argument in the function macro of the preprocessor.

Action

The argument in the function macro does not support the string using the double quote (").

41011 (SQLSTATE: 42000): multi-character character constant

Cause

Two or more characters were used to express the character constant using double quote (") in the preprocessor.

Action

The length of the character constant using double quote (") should be 1.

41012 (SQLSTATE: 42000): floating constant in preprocessor expression

Cause

The real number was declared as a constant in preprocessor.

Action

The preprocessor does not support the real number constant.

41013 (SQLSTATE: 42000): invalid suffix "%s" on integer constant

Cause

An invalid suffix was used for the integer constant in the preprocessor.

Action

Only u, U, l, L are the allowed suffixes for the integer constant.

41014 (SQLSTATE: 42000): cursor name "%s" already declared

Cause

deprecated

Action

If this error occurs, contact our customer service department.

41015 (SQLSTATE: 07004): cursor "%s" is not a dynamic cursor

Cause

The cursor has already been declared as a static cursor.

Action

Deprecated

41016 (SQLSTATE: 42000): "%s" has no member named "%s"

Cause

The host variable is not the member variable of the structure.

Action

Check the variable name and modify it correctly.

41017 (SQLSTATE: 42000): storage size of "%s" isn't known

Cause

deprecated

Action

If this error occurs, contact our customer service department.

41018 (SQLSTATE: 42000): variable "%s" must be integer type

Cause

The host variable used in the statement is not an integer type.

Action

Change the host variable type to the integer type.

41019 (SQLSTATE: 42000): variable "%s" must be string type

Cause

The host variable used in the statement is not a string type.

Action

Change the host variable type to the string type.

41020 (SQLSTATE: 42000): invalid indicator variable type: indicator variable "%s" must have numeric type(char/short/int/long)

Cause

The host variable type used as an indicator is incorrect.

Action

Only char, short, int, long types are allowed for the host variable used as an indicator.

41021 (SQLSTATE: 42000): duplicate "%s"

Cause

The keyword the same as the type qualifier is duplicate in the host variable declaration.

Action

Check whether the duplicate keywords exist and modify it.

41022 (SQLSTATE: 42000): both "%s" and "%s" in declaration specifiers

Cause

Long was declared more than twice in the long long declaration of the host variable declaration.

Action

Check whether long is declared more than twice in the host variable declaration, and modify it.

41023 (SQLSTATE: 42000): two or more data types in declaration specifiers

Cause

Data types were mixed and used together in the host variable declaration.

Action

Deprecated

41024 (SQLSTATE: 42000): C++ punctuation sequences are not permitted

Cause

Host variable was declared with c++ syntax.

Action

Colon (:) can not be used for the host variable declaration.

41025 (SQLSTATE: 42000): host variable expression has invalid type

Cause

The type of the host variable used in the statement is invalid.

Action

Check the type of the host variable and modify it.

41026 (SQLSTATE: 42000): typedef "%s" has invalid

Cause

The type declared with typedef is invalid.

Action

Only secondary array is allowed for char type and primary array is allowed for other types when declaring a type with typedef.

41027 (SQLSTATE: 42000): too many 'define' macro (%d)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

41028 (SQLSTATE: 42000): '%s' macro is already defined at line %d, in file %s

Cause

The macro has already been defined.

Action

Check the macro in which the error occurred and modify it.

41029 (SQLSTATE: 42000): missing host variable

Cause

Only a colon (:) was written and the host variable was missing in the statement in which the error occurred.

Action

Check the error statement and modify it.

41030 (SQLSTATE: 42000): invalid getting groupid variable type: variable "%s" must have signed numeric type

Cause

The host variable used in GET CLUSTER_GROUP_ID statement is not a signed integer type.

Action

Use a signed integer type host variable in GET CLUSTER_GROUP_ID statement.

41031 (SQLSTATE: 42000): invalid sql statement: getting groupid is available with select/update/delete/insert statement

Cause

SQL other than SELECT, UPDATE, DELETE, INSERT was used in GET CLUSTER_GROUP_ID statement.

Action

Use only SELECT, UPDATE, DELETE, INSERT in GET CLUSTER_GROUP_ID statement.

41032 (SQLSTATE: HY000): cursor variable type can not use an array

Cause

SQL_CURSOR type host variable is declared in an array.

Action

Do not declare SQL_CURSOR type host variable in an array.

41033 (SQLSTATE: 42000): Invalid type for %s descriptor item host variable

Cause

The host variable type which is not suitable for an item was used in an ansi descriptor.

Action

Use the host variable type which is suitable for an item.

41034 (SQLSTATE: 42000): Invalid combination of descriptor and non-descriptor clauses

Cause

The descriptor clause and the non-descriptor clause are used together in a dynamic SQL statement.

Action

Do not use the descriptor clause and the non-descriptor clause together in a dynamic SQL statement.

41035 (SQLSTATE: 42000): variable "%s" for the descriptor's indicator must have the same size as SQLLEN

Cause

The indicator host variable size which is to be used in a descriptor is different from SQLLEN size.

Action

Declare the type of the host variable used as an indicator the same as SQLLEN size.

41036 (SQLSTATE: 42000): Expecting a value between 1 and 65535 inclusive

Cause

When allocating the ansi descriptor, the occurrence range is incorrect.

Action

Set the occurrence range from 1 to 65535. (Default value: 100)

41037 (SQLSTATE: 42000): invalid descriptor index

Cause

The column index value below 0 was used in an ansi descriptor-related statement.

Action

Set the column index to the value bigger than 0.

41038 (SQLSTATE: 42000): preprocessor with no expression

Cause

The preprocessor macro is defined, but no value has been assigned to it. As shown in the example code, if a value is not assigned to the macro, the conditional statements may not be evaluated correctly.


#define ___AAA___

#if ___AAA___ == 0

VARCHAR var;

#else

char var;

#endif

Action

When using a preprocessor macro, a value that can be clearly evaluated as true or false must be assigned. Modify the value to ensure correct evaluation in conditional statements.

Communication Related Error

Communication Related error

24000 (SQLSTATE: 08S01): Communication link failure

Cause

The network connection was lost.

Action

Check the network status and reconnect.

24001 (SQLSTATE: 08S01): Invalid communication protocol

Cause

There was an error in the communication protocol format, or the data was corrupted or tampered with during network transmission.

Action

Use a client library that is compatible with the server, or check the network connection status.

24002 (SQLSTATE: 22000): Invalid GOLDILOCKS_DATA Directory

Cause

The directory specified by the environment variable GOLDILOCKS_DATA is incorrect.

Action

Verify the value of the environment variable GOLDILOCKS_DATA.

24003 (SQLSTATE: 22000): not supported function

Cause

deprecated

Action

If this error occurs, contact our customer service department.

24004 (SQLSTATE: 22000): Invalid interprocess protocol

Cause

The IPC communication version is not compatible.

Action

Use a client version that is compatible with the server.

24005 (SQLSTATE: 22000): Unable to attach the shared memory segment. unable to access the file '%s'

Cause

This error occurs when the $GOLDILOCKS_HOME/conf/shmstatic_info file cannot be accessed.

This file is created when the server starts up, and all server processes use the information in this file to attach to the SSA.

Action

Restarting the server will recreate the shmstatic_info file.

24006 (SQLSTATE: HV090): Invalid string length or buffer length

Cause

This error occurs when the buffer size is smaller than the length of the string to be received during communication between the client and server.

It can occur if, during internal protocol processing, the server or client misinterprets the message length or attempts to receive data larger than expected.

Action

If this error occurs, contact our customer service department.

24007 (SQLSTATE: 22000): not matched command sequence number

Cause

When using the User Datagram Protocol (UDP), packets may be lost depending on the network environment. This error occurs when a command request or response packet is lost, causing the command sequence numbers between the client and server to become inconsistent.

Action

Since the missing command may not have been processed correctly, the same command should be resent for re-execution.

24008 (SQLSTATE: HYT01): Connection timeout expired

Cause

An error such as EAGAIN occurred during communication.

Action

This is an internally controlled error.

24009 (SQLSTATE: 08001): SSL connection failed

Cause

Failed to establish an SSL encrypted connection.

Action

Check whether the OpenSSL versions of the client and server are compatible, and verify that a valid certificate is properly configured on the server.

Server Communication Related Error

52000 (SQLSTATE: 08S01): Communication link failure

Cause

The IPC channel was initialized before the database was fully started.

Action

Check the status of the shared memory and restart the database.

52001 (SQLSTATE: 08000): Invalid communication protocol

Cause

The communication protocol version between the client and server is not compatible.

Action

Use a client library that is compatible with the server version.

52002 (SQLSTATE: HY000): Not enough cm unit memory

Cause

A communication buffer shortage has occurred due to the transmission of a large volume of data or the simultaneous execution of many queries.

Action

Increase the value of MAXIMUM_SESSION_CM_BUFFER_SIZE in the configuration file, or optimize queries to prevent unnecessary transmission of large amounts of data.

52003 (SQLSTATE: HY000): exceeded maximum packet allocation timeout

Cause

Under high load, excessive concurrent connections or large data transfers may cause delays in packet allocation.

Action

Increase the values of BLOCK_READ_COUNT or CLUSTER_PACKET_ALLOCATION_TIMEOUT in the configuration file.

52004 (SQLSTATE: 08001): exceeded maximum number of ipc channels

Cause

The maximum number of available IPC channels has been exceeded.

Action

Increase the value of IPC_CHNNEL_COUNT in the configuration file.

52005 (SQLSTATE: HYT00): Timeout expired

Cause

The specified timeout period was exceeded during network communication.

Action

Adjust the timeout settings on the server and client, or check the firewall and network equipment.

52006 (SQLSTATE: 08001): Unable to open certificate or key file : %s

Cause

Unable to open the SSL certificate file or private key file.

Action

Check whether the SSL certificate and private key files exist, verify that the file paths are correct, and ensure the certificate file format is valid.

52007 (SQLSTATE: 08001): SSL connection failed

Cause

Failed to establish a secure SSL connection.

Action

Verify that the OpenSSL library is properly installed on the server and that the SSL certificate and private key files are valid.

ServerLibrary Related Error

25000 (SQLSTATE: 0A000): feature not supported

Cause

deprecated

Action

If this error occurs, contact our customer service department.

25001 (SQLSTATE: 08001): Server is not running

Cause

The client attempted to connect before the server was ready.

Action

Check the server status.

25002 (SQLSTATE: HY000): Environment Variable "%s" is not defined

Cause

deprecated

Action

If this error occurs, contact our customer service department.

25003 (SQLSTATE: 08000): Invalid protocol

Cause

An invalid request or parameter was sent during protocol communication between the client and server.

Action

Review the application logic or check the compatibility between the client driver version and the server version.

25004 (SQLSTATE: HY000): STARTUP must be executed in dedicated session

Cause

Attempted to start the database in shared mode.

Action

Start the database in dedicated mode.

25005 (SQLSTATE: HY000): session killed

Cause

The session was abnormally terminated due to a forced termination by the administrator, insufficient resources, or network connection issues.

Action

Check the logs to identify the cause of the session termination.

25006 (SQLSTATE: HY000): remote session is not opened

Cause

A remote operation was attempted without an active remote session in a cluster environment.

Action

Check the cluster status.

25007 (SQLSTATE: 42000): the property '%s' of cluster member '%s' is not compatible with the cluster system

Cause

deprecated

Action

If this error occurs, contact our customer service department.

25008 (SQLSTATE: 42000): the scn '%s' of cluster member '%s' is mismatch

Cause

deprecated

Action

If this error occurs, contact our customer service department.

25009 (SQLSTATE: HY000): number of shared servers must be greater than or equal to number of request queues

Cause

The number of shared servers is configured to be less than the number of requested queues.

Action

Set the value of SHARED_SERVERS in the configuration file to be greater than SHARED_REQUEST_QUEUE_COUNT.

25010 (SQLSTATE: 42000): internal error ( %s, %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

25011 (SQLSTATE: HY000): startup cannot be performed on ipc

Cause

The database start command was executed over an IPC connection.

Action

Start the database using a dedicated connection.

Foreign Function Related Error

26000 (SQLSTATE: 07006) the external type is not appropriate for the parameter

Cause

An attempt was made to convert the datatype of the routine parameter to the datatype of the specified external parameter, but it failed.

Action

Specify the convertible external datatype or parameter datatype.

26001 (SQLSTATE: 07006) Incorrect Usage of MAXLEN in parameters clause

Cause

MAXLEN keyword was incorrectly used in PARAMETER clause.

Action

MAXLEN can be declared only for routine parameters of CHAR or BINARY family datatypes of OUT, IN OUT, or RETURN type.

Only numeric type is allowed for the external datatype of MAXLEN.

26002 (SQLSTATE: 07006) Incorrect Usage of LENGTH in parameters clause

Cause

LENGTH keyword was incorrectly used in PARAMETER clause.

Action

LENGTH can be declared only for formal parameters of CHAR or BINARY family datatypes.

Only numeric type is allowed for the external datatype of MAXLEN.

26003 (SQLSTATE: 07006) Invalid external type specification for INDICATOR

Cause

The external datatype for INDICATOR is wrong.

Action

Only numeric type is allowed for the external datatype of INDICATOR.

26004 (SQLSTATE: 22003) numeric overflow

Cause

If evaluating the value expression, then overflow/underflow occurs.

Action

Alter the external parameter datatype or the routine parameter datatype.

26005 (SQLSTATE: 22027) Length Mismatch for CHAR or BINARY data

Cause

The routine parameter length is smaller than the external parameter length.

The parameter length is smaller than the external parameter length.

Action

Alter the routine parameter length.

26006 (SQLSTATE: 39000) failed to open library(%s)

Cause

It failed to open the dynamic link library.

Action

Check the path of the dynamic link library.

26007 (SQLSTATE: 39000) invalid datetime format

Cause

The date/time format of the external parameter is wrong.

Action

Check the date/time value of the external parameter.

26008 (SQLSTATE: HY000) failed to start up a process 'gextproc'

Cause

It failed to start 'gextproc' process.

Action

Check if the unix domain socket used in 'gextproc' is properly created in /tmp.

26009 (SQLSTATE: 39000) lost connection to 'gextproc'

Cause

The called external C routine is abnormally terminated.

Action

Check the operation of the external C routine.

gsql/ gsqlnet Related Error

40000 (SQLSTATE: 42000): syntax error

Cause

The SQL syntax is incorrect.


gSQL> SELECT FROM t1;

ERR-42000(40000): syntax error:

SELECT FROM t1

^ ^

Error at line 1

Action

Comply with the SQL syntax.


gSQL> SELECT c1 FROM t1;

C1

--

1

1 row selected.

40001 (SQLSTATE: 0A000): feature not supported

Cause

This error code is used for internal tests.

Action

N/A

40002 (SQLSTATE: HY000): Bind variable "%s" not declared

Cause

Bind variable is not declared.


gSQL> SELECT c1 FROM t1 WHERE c1 = :v1;

ERR-HY000(40002): Bind variable "v1" not declared

Action

Declare and use the bind variable as shown below.


gSQL> \var v1 INTEGER

gSQL> \exec :v1 := 1

gSQL> SELECT c1 FROM t1 WHERE c1 = :v1;

C1

--

1

1 row selected.

40003 (SQLSTATE: 42000): "%s": table or view does not exist.

Cause

This error occurs if the table is dropped while executing the following gSQL command.


gSQL> \desc t1

Action

If the command is executed again after the DROP is completed, the following error occurs.


gSQL> \desc t1

ERR-42000(16040): table or view does not exist :

SELECT * FROM T1@LOCAL WHERE 1 = 0

*

ERROR at line 1:

40004 (SQLSTATE: 42000): "%s": index does not exist.

Cause

This error occurs when the specified index does not exist.


gSQL> \idesc invalid_index

ERR-42000(40004): "INVALID_INDEX": index does not exist.

Action

Use the correct index name.


gSQL> \idesc idx1

COLUMN_NAME ORDINAL_POSITION IS_ASCENDING_ORDER IS_NULLS_FIRST

----------- ---------------- ------------------ --------------

C1 1 TRUE FALSE

40005 (SQLSTATE: RD000): Service is not available

Cause

Failed to load the ODBC driver, so gsql cannot be used.

Action

Check the system resources.

40006 (SQLSTATE: RD000): Statement is not prepared

Cause

The SQL statement was not prepared.


gSQL> \exec

ERR-RD000(40006): Statement is not prepared.

Action

Prepare the SQL statement first, then execute it using \exec as shown below.


gSQL> \prepare sql SELECT c1 FROM t1 WHERE c1 = 1;

SQL prepared.


gSQL> \exec

C1

--

1

1 row selected.

40007 (SQLSTATE: 42000): '%s': duplicate statement

Cause

This error occurs when defining the redundant statement name using the \alloc command in gSQL features.


gSQL> \alloc stmt2


gSQL> \alloc stmt2

ERR-42000(40007): 'stmt2': duplicate statement

Action

Use different names when using the \alloc command.

40008 (SQLSTATE: 42000): '%s': statement does not exist

Cause

This error occurs when using a non-existent statement name in a gSQL command.


gSQL> \alloc stmt2

gSQL> \free invalid


ERR-42000(40008): 'invalid': statement does not exist

Action

Use an existing statement name as follows.


gSQL> \free stmt2

gSQL>

40009 (SQLSTATE: 42000): '%s': statement is not prepared

Cause

This error occurs when executing an unprepared statement using the \use command in gSQL.


gSQL> \alloc stmt1

gSQL> \use stmt1 exec


ERR-42000(40009): 'stmt1': statement is not prepared

Action

Use after prepare sql as follows.


gSQL> \use stmt1 prepare sql SELECT * FROM t1;

SQL prepared.


gSQL> \use stmt1 exec

no rows selected.

40010 (SQLSTATE: 42000): insufficient privileges

Cause

This error occurs when executing a gSQL command that requires specific privileges, as follows.


gSQL> \connect u1 u1

gSQL> \shutdown

ERR-42000(40010): insufficient privileges

Action

Connect as a user with the appropriate privileges to execute.

40011 (SQLSTATE: 42000): driver does not support %s function

Cause

This error occurs when the ODBC function used in gSQL is not provided by the ODBC driver.

Action

Use an ODBC driver that supports the function.

40012 (SQLSTATE: 42000): invalid object for describe

Cause

deprecated

Action

If this error occurs, contact our customer service department.

40013 (SQLSTATE: 42000): driver does not support the requested connection mode( %s )

Cause

This error occurs when the gSQL connection mode is invalid.

Action

Use a valid connection mode (D/A, C/S).

40014 (SQLSTATE: HY000): the rollback was caused by an unspecified reason

Cause

This error code is used for internal X/A tests.

Action

N/A

40015 (SQLSTATE: HY000): the rollback was caused by a communication failure

Cause

This error code is used for internal X/A tests.

Action

N/A

40016 (SQLSTATE: HY000): a deadlock was detected

Cause

This error code is used for internal X/A tests.

Action

N/A

40017 (SQLSTATE: HY000): a condition that violates the integrity of the resources was detected

Cause

This error code is used for internal X/A tests.

Action

N/A

40018 (SQLSTATE: HY000): the resource manager rolled back the transaction branch for a reason not on this list

Cause

This error code is used for internal X/A tests.

Action

N/A

40019 (SQLSTATE: HY000): a protocol error occurred in the resource manager

Cause

This error code is used for internal X/A tests.

Action

N/A

40020 (SQLSTATE: HY000): a transaction branch took too long

Cause

This error code is used for internal X/A tests.

Action

N/A

40021 (SQLSTATE: HY000): may retry the transaction branch

Cause

This error code is used for internal X/A tests.

Action

N/A

40022 (SQLSTATE: HY000): the inclusive upper bound of the rollback codes

Cause

This error code is used for internal X/A tests.

Action

N/A

40023 (SQLSTATE: HY000): resumption must occur where suspension occurred

Cause

This error code is used for internal X/A tests.

Action

N/A

40024 (SQLSTATE: HY000): the transaction branch may have been heuristically completed

Cause

This error code is used for internal X/A tests.

Action

N/A

40025 (SQLSTATE: HY000): the transaction branch has been heuristically committed

Cause

This error code is used for internal X/A tests.

Action

N/A

40026 (SQLSTATE: HY000): the transaction branch has been heuristically rolled back

Cause

This error code is used for internal X/A tests.

Action

N/A

40027 (SQLSTATE: HY000): the transaction branch has been heuristically committed and rolled back

Cause

This error code is used for internal X/A tests.

Action

N/A

40028 (SQLSTATE: HY000): routine returned with no effect and may be re-issued

Cause

This error code is used for internal X/A tests.

Action

N/A

40029 (SQLSTATE: HY000): the transaction branch was read-only and has been committed

Cause

This error code is used for internal X/A tests.

Action

N/A

40030 (SQLSTATE: HY000): asynchronous operation already outstanding

Cause

This error code is used for internal X/A tests.

Action

N/A

40031 (SQLSTATE: HY000): a resource manager error occurred in the transaction branch

Cause

This error code is used for internal X/A tests.

Action

N/A

40032 (SQLSTATE: HY000): the XID is not valid

Cause

This error code is used for internal X/A tests.

Action

N/A

40033 (SQLSTATE: HY000): invalid arguments were given

Cause

This error code is used for internal X/A tests.

Action

N/A

40034 (SQLSTATE: HY000): routine invoked in an improper context

Cause

This error code is used for internal X/A tests.

Action

N/A

40035 (SQLSTATE: HY000): resource manager unavailable

Cause

This error code is used for internal X/A tests.

Action

N/A

40036 (SQLSTATE: HY000): the XID already exists

Cause

This error code is used for internal X/A tests.

Action

N/A

40037 (SQLSTATE: HY000): resource manager doing work outside transaction

Cause

This error code is used for internal X/A tests.

Action

N/A

40038 (SQLSTATE: HY000): unknown xa error

Cause

This error code is used for internal X/A tests.

Action

N/A

40039 (SQLSTATE: HY000): marked the transaction branch rollback-only for unspecified reason

Cause

This error code is used for internal X/A tests.

Action

N/A

40040 (SQLSTATE: HY000): cannot open the resource

Cause

This error code is used for internal X/A tests.

Action

N/A

40041 (SQLSTATE: HY000): cannot close the resource

Cause

This error code is used for internal X/A tests.

Action

N/A

40042 (SQLSTATE: HY000): the sql is empty

Cause

The bind variable does not contain an SQL statement when executing the \dynamic sql command.


gSQL> \var sql_string VARCHAR(1024)

gSQL> \dynamic sql :sql_string


ERR-HY000(40042): the sql is empty

Action

Assign the SQL statement to the bind variable as shown below, then run the \dynamic sql command.


gSQL> \exec :sql_string := 'SELECT c1 FROM t1'

gSQL> \dynamic sql :sql_string

C1

--

1

1 row selected.

40043 (SQLSTATE: HY000): invalid host variable type

Cause

The bind variable for the \dynamic sql command must be of a string data type.


gSQL> \var v_int INTEGER

gSQL> \dynamic sql :v_int


ERR-HY000(40043): invalid host variable type

Action

Use a string-type bind variable as shown below.


gSQL> \var v_string VARCHAR(1024)

gSQL> \exec :v_string := 'SELECT c1 FROM t1'

gSQL> \dynamic sql :v_string

C1

--

1

1 row selected.

40044 (SQLSTATE: 08003): connection does not exist

Cause

An SQL statement was executed before the system was started up.


% gsql --as sysdba

Connected to an idle instance.

gSQL> select * from dual;

ERR-08003(40044): connection does not exist:

Action

Start up the system first, then execute the SQL statement as shown below.


gSQL> \startup

Startup success

gSQL> select * from dual;

DUMMY

-----

X

1 row selected.

40045 (SQLSTATE: HY000): invalid NUMSIZE value: NUMSIZE must be between %d and %d

Cause

The NUMSIZE value is invalid.


gSQL> \set numsize -1

ERR-HY000(40045): invalid NUMSIZE value: NUMSIZE must be between 1 and 50

Action

Use a NUMSIZE value within the valid range.


gSQL> \set numsize 50

40046 (SQLSTATE: HY000): invalid PAGESIZE value: PAGESIZE must be between %d and %d

Cause

The PAGESIZE value is invalid.


gSQL> \set pagesize -1

ERR-HY000(40046): invalid PAGESIZE value: PAGESIZE must be between 1 and 100000

Action

Use a PAGESIZE value within the valid range.


gSQL> \set pagesize 100

40047 (SQLSTATE: HY000): invalid LINESIZE value: LINESIZE must be between %d and %d

Cause

The LINESIZE value is invalid.


gSQL> \set linesize -1

ERR-HY000(40047): invalid LINESIZE value: LINESIZE must be between 1 and 100000

Action

Use a LINESIZE value within the valid range.


gSQL> \set linesize 100

40048 (SQLSTATE: HY000): invalid COLSIZE value: COLSIZE must be between %d and %d

Cause

A COLSIZE value in an invalid range was used.


gSQL> \set colsize -1

ERR-HY000(40048): invalid COLSIZE value: COLSIZE must be between 1 and 104857600

Action

Use a COLSIZE value within the valid range.

40049 (SQLSTATE: HY000): invalid HISTORY value: HISTORY must be less equal than %d

Cause

The HISTORY value is invalid.


gSQL> \set history 100000000000

ERR-HY000(40049): invalid HISTORY value: HISTORY must be less equal than 100000

Action

Use a HISTORY value within the valid range.


gSQL> \set history 100

40050 (SQLSTATE: HY000): invalid DDLSIZE value: DDLSIZE must be between %d and %d

Cause

The DDLSIZE value is invalid.


gSQL> \set ddlsize -1

ERR-HY000(40050): invalid DDLSIZE value: DDLSIZE must be between 1 and 10485760

Action

Use a DDLSIZE value within the valid range.


gSQL> \set ddlsize 10000

40051 (SQLSTATE: HY000): invalid object identifier

Cause

The related object was modified during execution of the command to output the DDL statement of the SQL object.

Action

Use the command to output the DDL statement of the SQL object only after the DDL operation has been completed.

40052 (SQLSTATE: HY000): not enough DDLSIZE.
                      use command: \set ddlsize {n}

Cause

The DDLSIZE value is too small to output the DDL statement.


gSQL> \set ddlsize 10

gSQL> \ddl_table t1

ERR-HY000(40052): not enough DDLSIZE.

use command: \set ddlsize {n}

Action

Increase the DDLSIZE value and then execute again.


gSQL> \set ddlsize 10000

gSQL> \ddl_table t1


SET SESSION AUTHORIZATION "TEST";

CREATE TABLE "PUBLIC"."T1"

(

"C1" NUMBER( 10, 0 )

)

PCTFREE 10

PCTUSED 60

INITRANS 4

MAXTRANS 32

STORAGE

(

INITIAL 524288

NEXT 262144

MINSIZE 524288

MAXSIZE 35184372088832

)

TABLESPACE "MEM_DATA_TBS"

;

COMMIT;

40053 (SQLSTATE: HY000): confirmation password mismatch

Cause

The newly entered passwords do not match after the password expiration.


% gsql u1 u1_password

ERR-28000(16312): the password has expired

Changing password for u1

New password:

Retype new password:

ERR-HY000(40053): confirmation password mismatch

Action

Enter the passwords accurately and ensure they match.

40054 (SQLSTATE: HY000): invalid locator ini property - '%s'

Cause

It tried to get the connection information of the member node from the location file or glocator according to the LOCATOR_DSN settings of the data source, but the connection information was missing.

Action

HOST or IP of glocator is required and the connection information of the node should exist in glocator, to get the connection information of the member node from glocator. Or, the connection information of each member node is required to get the connection information from the location file.

40055 (SQLSTATE: HY000): not exist member '%s' in file - '%s'

Cause

The location file does not have the data source name matching the member node name.

Action

Specify the data source which uses the member node name in the location file.

40056 (SQLSTATE: HY000): some of nodes were failed to startup

Cause

It tried cstartup, but an arbitrary member node failed.

Action

Find the failed node, then startup it separately.

40057 (SQLSTATE: HY000): not specified valid location information

Cause

glocator connection information or location file information does exist in the data source matching LOCATOR_DSN property.

Action

Record the host or port information of glocator, or location file information in the data source matching LOCATOR_DSN property.

40058 (SQLSTATE: HY000): some of nodes were failed to shutdown

Cause

An arbitrary member node failed during the shutdown.

Action

Find the failed node, then startup it separately.

40059 (SQLSTATE: HY000): failed to connect to original driver node '%s' after startup

Cause

The cluster startup process using cstartup was completed, but reconnection to the originally connected node failed.

Action

Check the status of the original node and the network connection.

40060 (SQLSTATE: HY000): cannot execute 'cstartup' or 'cshutdown' command in DA mode

Cause

It tried to execute cstartup or cshutdown in DA mode.

Action

Execute cstartup or cshutdown in gsqlnet when it is CS mode.

40061 (SQLSTATE: HY000): currently connected node is inactive

Cause

This warning message indicates that the cluster startup via the cstartup command has completed, but a previously connected node failed to join the cluster.

Action

Connect to another node that has successfully joined the cluster.

40062 (SQLSTATE: HY000): file not exist -'%s'

Cause

The cstartup or cshutdown command was executed in C/S mode, but the locator file specified in the LOCATOR_DSN property of the DSN defined in the odbc.ini file does not exist.

Action

Check the LOCATOR_DSN property.


If the .odbc.ini file is configured as shown below, make sure that the corresponding .locator.ini file exists.


% cat .odbc.ini

[GOLDILOCKS]

HOST=127.0.0.1

PORT = 22581

LOCATOR_DSN = LOCATOR


[LOCATOR]

FILE = .locator.ini

gloader/ gloadernet Related Error

42000 (SQLSTATE: RD000): Service is not available

Cause

It failed to allocate the memory while allocating ODBC Env handle, or it failed to read odbc.ini file.

Action

Check the system memory or odbc.ini file.

42001 (SQLSTATE: HY000): invalid control file format

Cause

It failed to analyze the control file. The syntax, or the constraint of a filed terminator, a qualifier, a line terminator is wrong. Otherwise, check the error message.

Action

Check the syntax, the constraint or the error message of the control file, then modify it.

42002 (SQLSTATE: HY000): buffer exceeded overflow area

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42003 (SQLSTATE: HY000): open same file(%s)

Cause

The duplicate name exists among the given data, log, bad files.

Action

Do not used the duplicate name.

42004 (SQLSTATE: HY000): occur invalid handle error

Cause

SQL_INVALID_HADNLE was returned from ODBC API function.

Action

If this error occurs, contact our customer service department.

42005 (SQLSTATE: HY000): occur error while operating SQLGetDiagRec/SQLGetDiagField

Cause

SQL_ERROR was returned from SQLGetDiagRec or SQLGetDiagField function.

Action

If this error occurs, contact our customer service department.

42006 (SQLSTATE: HY000): using same character for delimiter and qualifier

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42007 (SQLSTATE: HY000): invalid thread unit count.(1~32)

Cause

The number of threads specified for the parallel processing exceeds the range.

Action

The range of the number of threads which can be specified for the parallel processing is 1 ~32.

42008 (SQLSTATE: HY000): invalid array size.(1~65535)

Cause

The array size exceeds the range.

Action

The valid range of the array size is 1 ~ 65535.

42009 (SQLSTATE: HY000): unavailable multithreading in export mode.

Cause

The parallel option was used in the export mode.

Action

The parallel option can not be used in the export mode

42010 (SQLSTATE: 08S01): Communication link failure

Cause

The session is disconnected.

Action

Check the trace log and the server state, then take an action.

42011 (SQLSTATE: HY000): invalid file size (minimum size : %d)

Cause

The given file size option is smaller than the required minimum size when using the binary format.

Action

Modify the file size option.

42012 (SQLSTATE: HY000): unavailable file size in text mode.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42013 (SQLSTATE: HY000): invalid column type.

Cause

The data type of the data and the column type of the table do not match when importing in binary format.

Action

Match the column type of the file and that of DB.

42014 (SQLSTATE: HY000): invalid column count.

Cause

The number of columns recorded in a file and the number of columns in the table do not match when importing in binary format.

Action

Match the number of columns in file and that in DB.

42015 (SQLSTATE: HY000): invalid data size.

Cause

The column data length of the file is bigger than the column size when importing in binary format.

Action

The column size of the table should be bigger than or equal to the column data of the file.

42016 (SQLSTATE: HY000): invalid binary file.

Cause

This error occurs when the input file is invalid during a binary format import. Possible causes are as follows:

  • The checksum in the file header does not match.

  • The file is truncated, the data area and block information are inconsistent, or an EOF is encountered earlier than expected while processing records.

  • The internal processing unit calculated from the column definitions used during the export operation differs from that calculated from the column definitions of the import target.

Action

Check the error message, then either transfer the file again or perform the export operation again in binary format.

42017 (SQLSTATE: HY000): file is empty.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42018 (SQLSTATE: HY000): Qualifier must be 1 length character.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42019 (SQLSTATE: HY000): LF and CR can not be used for delimiter or qualifier.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42020 (SQLSTATE: HY000): qualifiers and terminators must not be subsets of each other

Cause

Strings of qualifier and other identifiers belong to a subset.

Action

Qualifiers and other identifiers should not be subsets of each other.

42021 (SQLSTATE: HY000): table name must be given in case of absence of control file.

Cause

The table name was not given as a control file and an option.

Action

Input the table name.

42022 (SQLSTATE: HY000): can not fetch schema name.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

42023 (SQLSTATE: 22001): byte length of data greater than column length.

Cause

When importing in binary format, the character of the data was converted and this converted data is bigger than the column size.

Action

Expand the column size of the table.

42024 (SQLSTATE: HY000): invalid direct io size

Cause

The number used in Direct Io Size option is wrong. Or, Direct Io Size of the data file used when importing in binary format does not match the option.

Action

Use multiples of 8 bigger than 512.

42025 (SQLSTATE: HY000): Target column is invalid: %s

Cause

The target column was specified in the table syntax of the control file, but it does not exist in the table.

Action

Check the name and number of columns.

42026 (SQLSTATE: HY000): The number of target columns mismatch

Cause

The number of target columns in the table syntax of the control file is bigger than the number of columns in the table.

Action

Check the name and number of columns.

42027 (SQLSTATE: HY000): ADD keyword is unusable in export mode

Cause

ADD keyword was used while specifying the target column in the table syntax of the control file when exporting.

Action

The target column can not be used together with ADD keyword when exporting.

42028 (SQLSTATE: HY000): the merge extent option is not available in parallel imports.

Cause

When performing a parallel import, only the segment-level storage merge option is supported.

Action

Perform the parallel import without the merge option, or specify the segment option.

42029 (SQLSTATE: HY000): invalid arguments

Cause

An invalid option was used in the arguments when executing gloader.

Action

Check the detailed error message, and then restart gloader.

gmaster Related Error

44000 (SQLSTATE: HY000): database is already mounted

Cause

This error occurs when attempting to MOUNT a database that is already in the MOUNT phase.


gSQL> ALTER SYSTEM MOUNT DATABASE;


System altered.


gSQL> ALTER SYSTEM MOUNT DATABASE;


ERR-42000(16114): database is already mounted

Action

Change the database to the LOCAL OPEN phase and execute the command again.


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


System altered.

44001 (SQLSTATE: HY000): database is already local opened

Cause

This error occurs when attempting to LOCAL OPEN a database that is already in the LOCAL OPEN phase.


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


System altered.


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


ERR-42000(16115): database is already local opened

Action

Change the database to the OPEN phase and execute the command again.


gSQL> ALTER SYSTEM OPEN DATABASE;


System altered.

44002 (SQLSTATE: HY000): database is already opened

Cause

This error occurs when attempting to OPEN a database that is already in the OPEN phase.


gSQL> ALTER SYSTEM OPEN DATABASE;


System altered.


gSQL> ALTER SYSTEM OPEN DATABASE;


ERR-42000(16345): database is already opened

Action

No action required.

44003 (SQLSTATE: HY000): system thread is already created

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

44004 (SQLSTATE: HY000): failed to create system threads (%s)

Cause

This error occurs when the gmaster system thread fails to be created during startup.

The causes may vary, but it usually occurs due to insufficient operating system resources.

Action

Resolve the cause and restart the server.

44005 (SQLSTATE: HY000): member '%s' does not exist

Cause

This error occurs during the startup process while progressing to the MOUNT phase if the local member's location information is missing.


gSQL> \STARTUP NOMOUNT


Startup success


gSQL> ALTER SYSTEM MOUNT DATABASE;


ERR-HY000(44004): failed to create system threads (cluster recover)

ERR-HY000(44005): member 'G1N1' does not exist

Action

Add the location information for the local member and try again.


gSQL> CREATE CLUSTER LOCATION g1n1 HOST '127.0.0.1' PORT 11150;


Location created.


gSQL> ALTER SYSTEM MOUNT DATABASE;


System altered.

44006 (SQLSTATE: HY000): fail to send packet through communication context

Cause

This error occurs when the cluster recover protocol fails to be sent to a remote node during startup.

It generally happens when the remote socket connection is lost.

Action

Restart the server.

44007 (SQLSTATE: HY000): failed to start up a process '%s'

Cause

This error occurs when the system process fails to be created during startup.

The causes may vary, but it usually occurs due to insufficient operating system resources.

Action

Resolve the cause and restart the server.

44008 (SQLSTATE: HY000): timeout expired - '%s'

Cause

This error occurs when the wait time for a response after sending a message to the RECOVERY socket exceeds the value of CLUSTER_CONNECTION_TIMEOUT_SEC.

Action

Increase the value of CLUSTER_CONNECTION_TIMEOUT_SEC and try again, or start up each member sequentially instead of in parallel.

gSQL> ALTER SYSTEM SET CLUSTER_CONNECTION_TIMEOUT_SEC = 10;

System altered.

44009 (SQLSTATE: HY000): RECOVERY socket is broken

Cause

This error occurs when the RECOVERY socket connection with the remote server is lost.

Action

After restoring the network or the remote server to a normal state, retry the startup.

44010 (SQLSTATE: HY000): invalid RECOVERY protocol

Cause

This error occurs when an invalid protocol is transmitted.

Action

Check the network status.

glsnr Related Error

45000 (SQLSTATE: HY000): Listener configuration file "%s" doesn't exist.

Cause

The glsnr configuration file does not exist at the specified path.

Action

Check whether the $GOLDILOCKS_DATA/conf/goldilocks.listener.conf file exists.

45001 (SQLSTATE: HY000): Environment Variable "%s" is not defined.

Cause

The environment variable is not defined.

Action

Set the environment variable.

45002 (SQLSTATE: HY000): Listener is already started.

Cause

glsnr is already running.

Action

Check the status of the currently running glsnr.

45003 (SQLSTATE: HY000): overflow fd

Cause

The system has reached the limit for file descriptors.

Action

Increase the file descriptor limit on the system.

45004 (SQLSTATE: 08000): Invalid communication protocol

Cause

The client used an unsupported communication protocol.

Action

Verify the version compatibility between the client and the server.

45005 (SQLSTATE: 08004): access denied

Cause

The client's IP address was blocked by the access control list.

Action

Check the settings in the goldilocks.invited.conf or goldilocks.excluded.conf files.

45006 (SQLSTATE: HY000): Operation timed out

Cause

The connection was not completed within the TIMEOUT period specified in the glsnr configuration file.

Action

Increase the TIMEOUT value in the glsnr configuration file or check the network connection status.

45007 (SQLSTATE: HY000): shared mode inactive

Cause

A client is attempting to connect in shared mode, but no shared server is active.

Action

Connect the client using dedicated mode.

45008 (SQLSTATE: HY000): Invalid property value [ DEDICATED | SHARED ] : %s

Cause

The DEFAULT_CS_MODE value in the glsnr configuration file is incorrectly set.

Action

Set the DEFAULT_CS_MODE value to either DEDICATED or SHARED.

45009 (SQLSTATE: HY000): Invalid property value [ NO | INVITED | EXCLUDED ] : %s

Cause

The TCP_VALIDNODE_CHECKING value in the glsnr configuration file is incorrectly set.

Action

Correct the TCP_VALIDNODE_CHECKING value to one of the following: NO, INVITED, or EXCLUDED.

45010 (SQLSTATE: HY000): Invalid property value [ YES | NO | 1 | 0 ]: %s

Cause

An invalid value is set for a boolean-type property in the glsnr configuration file.

Action

Correct the boolean property value to one of the following: YES, NO, 1, or 0.

45011 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ]: %s

Cause

An integer-type property value in the glsnr configuration file is out of the allowed range.

Action

Adjust the property value in the glsnr configuration file to be within the valid range.

45012 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ]: %s

Cause

The length of a string-type property in the glsnr configuration file exceeds the allowed range.

Action

Adjust the property value in the glsnr configuration file to an appropriate length.

45013 (SQLSTATE: HY000): buffer over flow %s

Cause

The internal buffer size was exceeded while processing the configuration values.

Action

Check the path-related properties in the glsnr configuration file.

45014 (SQLSTATE: HY000): Unix Domain Socket [%s] does not exist

Cause

Unix Domain Socket which was created in glsnr does not exist.

Action

Terminate glsnr, and restarts it.

cyclone Related Error

46000 (SQLSTATE: RD000): Service is not available

Cause

The database to be replicated was not connected properly.

Action

Check whether the database is running normally and verify that the connection string in the trace log is correct. If any incorrect information is found, correct the database connection details specified in the environment file.

46001 (SQLSTATE: HY000): "%s": file does not exist

Cause

The environment file or other files do not exist in the specified path.

Action

Modify the file path and name correctly, then re-execute.

46002 (SQLSTATE: HY000): configure file processing error

Cause

The content specified in the environment file is incorrect.

Action

Modify it based on the output error message.

46003 (SQLSTATE: HY000): "%s": table does not exist

Cause

The table information specified in the environment file does not exist in the database.

Action

Update the environment file so that its information matches the database.

46004 (SQLSTATE: HY000): "%s": schema does not exist

Cause

The schema information specified in the environment file does not exist in the database.

Action

Update the environment file so that its information matches the database.

46005 (SQLSTATE: HY000): "%s.%s": previously added. maybe duplicated

Cause

The environment file contains duplicate table information.

Action

Remove the duplicate table information from the environment file.

46006 (SQLSTATE: HY000): "%s%s": table must have a primary key

Cause

The specified table does not have a primary key set.

Action

Set or add a primary key to the table.

46007 (SQLSTATE: HY000): internal error occurred (%s)

Cause

This error occurs due to an internal failure.

Action

Check the trace log and contact our customer service department.

46008 (SQLSTATE: HY000): invalid datatype (%ld)

Cause

A data type that does not support replication was used.

Action

Verify that the data type supports replication. When interworking with other vendor databases, refer to Datatype Compatibility When Interworking with Other DBMS and use the appropriate data type.

46009 (SQLSTATE: HY000): "%s.%s" table must set supplemental log or primary key.

Cause

To perform replication, supplemental logging must be enabled, but it is not enabled on the specified table.

Action

Enable supplemental logging on the table, or set the SUPPLEMENTAL_LOG_DATA_PRIMARY_KEY property in Goldilocks to YES and restart.

46010 (SQLSTATE: HY000): group [%s] is already running

Cause

A replication group with the same name as the one specified in the environment file is already running.

Action

Use the --status option to check the running status of Cyclone. If the group is already running, terminate it and restart. When adding a new group, change the group name in the environment file because a group with the same name already exists.

46011 (SQLSTATE: HY000): cyclone is not running

Cause

Cyclone is not running, or the specified Cyclone replication group name is incorrect.

Action

Use the --status option to check whether Cyclone is running and to verify the group name.

46012 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The GOLDILOCKS_DATA system environment argument is not set.

Action

Set GOLDILOCKS_DATA in the environment where replication is executed.

46013 (SQLSTATE: HY000): "%s" log file reused or invalid. restart cyclone with '--reset' option

Cause

Replication cannot proceed because the redo log file specified for obtaining replication data has been reused or the archive log is missing.

Action

Check whether ARCHIVELOG_MODE is enabled. To discard the existing replication state and start anew from the current point, restart CYCLONE with the --reset option.

46014 (SQLSTATE: HY000): fail to analyze flow[%s]

Cause

Failed to analyze replication data.

Action

Check the trace log and contact our customer service department.

46015 (SQLSTATE: HY000): Invalid Port Number (1024 ~ 49151) [%s]

Cause

The PORT value specified in the environment file is incorrect.

Action

Set the PORT value within the range of 1024 to 49151.

46016 (SQLSTATE: HY000): Communication link failure

Cause

The Cyclone replication connection is not functioning correctly.

Action

Check whether the network between the master and slave is functioning properly.

46017 (SQLSTATE: HY000): Invalid Protocol value (%s)

Cause

An abnormal protocol was detected during communication between the master and slave.

Action

Check the trace log and contact our customer service department.

46018 (SQLSTATE: HY000): Master disconnect abnormally

Cause

The connection between the slave and master was terminated abnormally.

Action

Check the master’s trace log.

46019 (SQLSTATE: HY000): Protocol Error Occurred (%s)

Cause

The communication protocol is invalid, causing issues between the master and the slave.

Action

Check the version and compatibility information between the master and the slave.

If the same issue continues to occur, check the trace logs and contact our customer service department.

46020 (SQLSTATE: HY000): Already Slave Connected

Cause

A master can be connected to only one slave. This error occurs when the master is already connected to another slave and replication is already in operation.

Action

Use the --status option of Cyclone to check whether the slave is already running.

46021 (SQLSTATE: HY000): Invalid Transaction Slot Id

Cause

This error occurs when the TRANSACTION_TABLE_SIZE property of GOLDILOCKS is changed after Cyclone has been started.

Action

Restart Cyclone. If TRANSACTION_TABLE_SIZE is changed during replication, Cyclone must be restarted.

46022 (SQLSTATE: HY000): Invalid Supplemental Log (%d)

Cause

An issue occurred while analyzing the redo log.

Action

Check the trace logs and contact our customer service department.

46023 (SQLSTATE: HY000): Invalid operation for DDL

Cause

A DDL operation that CYCLONE cannot handle was executed.

Action

Check the trace logs and contact our customer service department.

46024 (SQLSTATE: HY000): Invalid value to analyze

Cause

An unresolvable issue occurred while analyzing the redo log.

Action

Check the trace logs and contact our customer service department.

46025 (SQLSTATE: HY000): Invalid group name

Cause

A replication group is not configured in the environment file.

Action

Configure a replication group in the environment file.

46026 (SQLSTATE: HY000): Not set master ip

Cause

The environment file does not have MASTER_IP, which is required for slave operation.

Action

Set MASTER_IP in the environment file.

46027 (SQLSTATE: HY000): Invalid capture information

Cause

The recovery information is incorrect.

Action

Restart Cyclone using the --reset all option.

46028 (SQLSTATE: HY000): There is no group in configure

Cause

No replication group information is configured in the environment file.

Action

Configure at least one replication group in the environment file.

46029 (SQLSTATE: HY000): Duplicate group name (%s)

Cause

The replication group name is duplicated in the environment file.

Action

Ensure that each replication group name in the environment file is unique.

46030 (SQLSTATE: HY000): Invalid Value : %s(%ld)

Cause

The contents specified in the environment file are incorrect.

Action

Correct the values to valid ones.

46031 (SQLSTATE: HY000): Too low value : %s(%ld)

Cause

The value specified in the environment file is too small.

Action

Check the minimum required value and set it accordingly or higher.

46032 (SQLSTATE: HY000): Invalid host port (%s)

Cause

The HOST_PORT value specified in the environment file is incorrect.

Action

Correct the HOST_PORT value in the environment file to a valid value.

46033 (SQLSTATE: HY000): Redo Log file Read Timeout (%s)

Cause

This error occurs when the wait time exceeds while interworking with LogMirror or reading archive log files. (The error occurs if a required file is not found within 10 seconds.)

Action

Check whether the file exists and then restart Cyclone. If the same issue continues to occur, restart Cyclone using the --reset all option.

46034 (SQLSTATE: HY000): Invalid archive log file (%s)

Cause

No valid archive log files are available for replication.

Action

Check the trace logs and contact our customer service department.

46035 (SQLSTATE: HY000): Invalid Temporary File (%s)

Cause

No files are available to perform the replication transaction.

Action

Free up disk space on the machine running Cyclone and restart it. If the same issue continues to occur, contact our customer service department.

46036 (SQLSTATE: HY000): failed to write file (%s)

Cause

Failed to process the target files of the replication transaction

Action

Free up disk space on the machine running Cyclone and restart it. If the same issue continues to occur, contact our customer service department.

46037 (SQLSTATE: HY000): Fail to Update State (%s)

Cause

An issue occurred while updating the recovery information for replication.

Action

Check the trace logs and contact our customer service department.

46038 (SQLSTATE: HY000): failed to set propagate mode at session

Cause

This error occurs when PROPAGATE_MODE is set to enable in the environment file and the setting fails.

Action

Set PROPAGATE_MODE to disable in the environment file, or check the trace logs and contact our customer service department.

46039 (SQLSTATE: HY000): There is no active redo log file.

Cause

This error occurs if the redo log files being processed by Goldilocks are invalid, or if processing is delayed due to disk bottlenecks during the LogFile switch.

Action

Restart Cyclone. If the same issue continues to occur, contact our customer service department.

46040 (SQLSTATE: HY000): There is no restart information. Master Database must be started first.

Cause

To operate in recovery mode, recovery information from a previously performed replication must be available.

If this information is missing, this error occurs.

Action

When running Cyclone, remove the --recovery option to prevent it from operating in recovery mode.

46041 (SQLSTATE: HY000): Cannot add new table. master database must be started first. (%s.%s) 

Cause

To replicate a table specified or added in the environment file, Cyclone must connect to Goldilocks to configure the table information.

If Goldilocks is not online or cannot be accessed, the configuration fails and this error occurs.

Action

If a table was added to the environment file, remove the table and restart Cyclone, or check the operational status of Goldilocks.

46042 (SQLSTATE: HY000): Master database must be started(Open status) for the first time, reset table.

Cause

When Cyclone is run for the first time or with the --reset option, it must connect to Goldilocks. If the connection fails, this error occurs.

Action

Check the operational status of Goldilocks.

46043 (SQLSTATE: HY000): Meta file has broken. please restart with '--reset all'(%s)

Cause

The meta file containing operational information is in an invalid state.

Action

Restart Cyclone using the --reset option.

46044 (SQLSTATE: HY000): Redo log file does not exist (%s)

Cause

The redo log file does not exist.

Action

Check the trace logs and contact our customer service department.

46045 (SQLSTATE: HY000): USER_ID or USER_PW does not exist.

Cause

The USER_ID and USER_PW required to connect to Goldilocks are not set in the environment file.

Action

Specify USER_ID and USER_PW in the environment file.

46046 (SQLSTATE: HY000): Slave is not running with --sync option.

Cause

The master is running in SYNC mode, but the slave is not.

Action

To perform SYNC operations, both the master and slave must be running in SYNC mode. Restart the slave using the --sync option.

46047 (SQLSTATE: HY000): Invalid Connect Information for sync (%s)

Cause

The connection information for SYNC is invalid.

Action

Verify the specified connection information and correct it as needed.

46048 (SQLSTATE: HY000): (%s) value is too long

Cause

The specified information exceeds the maximum allowed length.

Action

Check the maximum length in the user manual and adjust the information accordingly.

46049 (SQLSTATE: HY000): Invalid encrypt/decrypt key

Cause

The key used to encrypt/decrypt the password is invalid.

Action

Modify the USER_ENCRYPT_PW value in the environment file to a value generated with a valid key.

46050 (SQLSTATE: HY000): no '--key' option

Cause

The encrypted password has not been generated, or the key to decrypt USER_ENCRYPT_PW is not set.

Action

Run the command with the --key option.

46051 (SQLSTATE: HY000): password already exists (use one of USER_PW or USER_ENCRYPT_PW)

Cause

Both USER_PW and USER_ENCRYPT_PW are specified in the environment file.

Action

Remove the unnecessary entry between USER_PW and USER_ENCRYPT_PW, then re-execute.

46052 (SQLSTATE: HY000): reset or sync table (%s.%s) has never participated in replication

Cause

The --reset and --sync 'Table Name' options were used to initialize a specific table, but the table does not exist or has no replication history.

Action

Since --reset and --sync are critical options for replication and data initialization, the exact table name must be specified. If the table has been newly added, perform the operation without using these options.

46053 (SQLSTATE: HY000): reset or sync argument is invalid (%s)

Cause

The information specified in --reset and --sync is incorrect.

Action

Verify the specified information, correct it, and then rerun the operation.

46054 (SQLSTATE: HY000): Table meta file has broken. please restart with '--reset all'

Cause

The meta file containing the information required for replication is invalid.

Action

Restart Cyclone using the --reset all option.

46055 (SQLSTATE: HY000): protocol timeout

Cause

Heartbeat timeout has been exceeded.

Action

Check the connection and network status.

46056 (SQLSTATE: HY000): Slave stopped normally

Cause

The master was also shut down as the slave was terminated.

Action

Restart Cyclone.

46057 (SQLSTATE: HY000): Cannot use reset and sync option at the same time.

Cause

Cyclone was executed with both the --reset and --sync options.

Action

Since the --sync option internally includes the reset function, restart Cyclone using only the --sync option.

46058 (SQLSTATE: HY000): There is no (%s.%s) table to sync (--sync option)

Cause

The table specified in the --sync option is not included in the replication target.

Action

Add the table to be synchronized in the environment file, then re-execute Cyclone using the --sync option.

46059 (SQLSTATE: HY000): (%s.%s) table (%s) column is not acceptable(GENERATED ALWAYS AS IDENTITY)

Cause

One or more columns in the replication target table have the Generated Always As Identity attribute.

Action

Replication cannot be performed on columns with this attribute, so it must be removed.

46060 (SQLSTATE: HY000): driver does not support %s function

Cause

When interworking with a third-party database, the specified driver does not support the required ODBC function.

Action

Check for a driver that supports the ODBC function and replace it.

46061 (SQLSTATE: HY000): data type is not supported.

Cause

When interworking with a third-party database, an unsupported data type was used.

Action

Check the Datatype Compatibility When Interworking with Other DBMS in the user manual and change to a supported data type.

46062 (SQLSTATE: HY000): Cluster information does not matched( before groupid(%d), memberid(%d)/current groupid(%d), memberid(%d) )

Cause

The cluster information in the existing replication data must not be changed, but it has been modified.

Action

Check the cluster information in the environment file, or restart Cyclone with the --reset all option to initialize the information.

46063 (SQLSTATE: HY000): Invalid cluster information at configure file( %s )

Cause

The CLUSTER information specified in the environment file is incorrect.

Action

This may occur if ID, PORT, or MASTER_IP are duplicated or recorded incorrectly. Correct the values accordingly.

46064 (SQLSTATE: HY000): Fail to rollback transaction

Cause

During replication termination, the rollback failed due to incomplete transactions.

Action

Check the trace logs and contact our customer service department.

46065 (SQLSTATE: HY000): Slave is running with --sync option

Cause

The slave is running in SYNC mode, but the master is not.

Action

Check whether SYNC mode is enabled and restart both the master and slave with the same execution options.

46066 (SQLSTATE: HY000): MYSQL_DATABASE configuration must needed to connect MySQL/MariaDB

Cause

When interworking with a third-party database, MySQL or MariaDB must have MYSQL_DATABASE configured. An error occurs if this value is not set.

Action

When connecting to MySQL or MariaDB, be sure to add the MYSQL_DATABASE setting.

46067 (SQLSTATE: HY000): DB2_DATABASE configuration must needed to connect DB2

Cause

When interworking with a third-party database, DB2 must have DB2_DATABASE configured. An error occurs if this value is not set.

Action

When connecting to DB2, be sure to add the DB2_DATABASE setting.

46068 (SQLSTATE: HY000): Configuration described in an invalid area (Should not be described in a specific group, but in a global group)(%s)

Cause

This error occurs when the configuration described in the configuration file is located in the wrong position.

e.g. If it is described as follows in the configuration file, in other words SEPARATE_CONFLICT_LOG is described within GROUP, then an error occurs.


USER_ID=test

USER_PW=test

GROUP_NAME = Group1

{

...

SEPARATE_CONFLICT_LOG = 1

...

}

Action

Modify the configuration file so that the configuration caused the error is described outside of GROUP.


USER_ID=test

USER_PW=test

SEPARATE_CONFLICT_LOG = 1

GROUP_NAME=Group1

{

...

...

}

46069 (SQLSTATE: HY000): Data type is not supported.( %s )

Cause

A column with the ROWID data type is included in the replication target.

Action

Since the ROWID data type is not supported for replication, either exclude the table from the replication target or remove the column, and then re-execute Cyclone.

46070 (SQLSTATE: HY000): Heartbeat protocol stopped abnormally.

Cause

During the Heartbeat protocol interworking, the connection between the master and slave was interrupted due to an abnormal condition.

Action

Check the network status and restart Cyclone. If the same issue continues to occur, contact our customer service department.

46071 (SQLSTATE: HY000): Failed to set SESSION_IS_CDC_APPLIER at session

Cause

Failed to configure the environment for foreign key or trigger constraints.

Action

Check the trace logs and contact our customer service department.

46072 (SQLSTATE: HY000): Error message count mismatch - server(%d), cyclone(%d)

Cause

The error message information between the Goldilocks DB version and the Cyclone version does not match, making backward compatibility impossible.

Action

Check for a compatible Cyclone version and reinstall it.

46073 (SQLSTATE: HY000): mismatched major & minor version - server(%d.%d.%d), cyclone(%d.%d.%d)

Cause

Cyclone supports compatibility only when the major and minor versions match. An error occurs if the Goldilocks DB and Cyclone versions are not compatible.

Action

Check for a compatible Cyclone version and reinstall it.

46074 (SQLSTATE: HY000): mismatched patch version - server(%d.%d.%d), cyclone(%d.%d.%d)

Cause

If the patch version of Goldilocks DB is higher than that of Cyclone, Cyclone only supports backward compatibility and does not support forward compatibility.

Action

Check for a compatible Cyclone version and reinstall it.

46075 (SQLSTATE: HY000): Cyclone is not compatible with Server. Server Compatible Number(%d) Cyclone Compatible Number(%d)

Cause

This error occurs when the Goldilocks DB version is not supported by CYCLONE.

Action

Check for a compatible Cyclone version and reinstall it.

46076 (SQLSTATE: HY000): Failed to set supplemental logging.(SUPPLEMENTAL_LOG_FORCE_MODE)(%s.%s.)

Cause

This error occurs when SUPPLEMENTAL_LOG_FORCE_MODE is enabled, but supplemental logging for the table fails to be activated.

Action

Check whether the user has the necessary privileges to enable supplemental logging.

46077 (SQLSTATE: HY000) : Failed to set deadlock_priority.(APPLIER_DEADLOCK_PRIORITY)

Cause

This error occurs when the DEADLOCK_PRIORITY setting cannot be applied to the Applier even though APPLIER_DEADLOCK_PRIORITY is configured.

Action

Check whether the user has the required privileges to enable deadlock_priority.

46078 (SQLSTATE: HY000): Deferred constraints is not supported.( %s.%s )

Cause

This error occurs when deferred constraints are defined on a table in the replication target.

Action

Remove the deferred constraints from the table and restart replication, or exclude the table from the replication target.

46079 (SQLSTATE: HY000): Failed to set trace log id.(APPLIER_TRACE_LOG_ID)

Cause

This error occurs when an invalid value is set for APPLIER_TRACE_LOG_ID.

Action

Check the flag information for TRACE_LOG_ID and change it to a valid value.

LogMirror Related Error

47000 (SQLSTATE: RD000): Service is not available

Cause

The database was not connected properly.

Action

Check whether the database is running normally and verify that the connection string in the trace log is correct. If any incorrect information is found, correct the database connection details specified in the environment file.

47001 (SQLSTATE: HY000): Invalid Protocol value (%s)

Cause

An abnormal protocol was detected during communication between the master and slave.

Action

Check the trace logs and contact our customer service department.

47002 (SQLSTATE: HY000): "%s": file does not exist

Cause

The environment file or other required files do not exist in the specified path.

Action

Modify the file path and name correctly, then re-execute.

47003 (SQLSTATE: HY000): "%s": configure file processing error

Cause

The content specified in the environment file is incorrect.

Action

Modify it based on the output error message.

47004 (SQLSTATE: HY000): invalid Control file

Cause

The control file required for operation is not properly configured.

Action

Check the trace log and contact our customer service department.

47005 (SQLSTATE: HY000): Communication link failure

Cause

The master/slave connection was terminated abnormally.

Action

Check whether the network between the master and slave is functioning properly.

47006 (SQLSTATE: HY000): LogMirror is already running

Cause

LogMirror is already running.

Action

Check the execution status of LogMirror and then re-execute it.

47007 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The GOLDILOCKS_DATA system environment variable is not set.

Action

Set GOLDILOCKS_DATA in the environment where replication is executed.

47008 (SQLSTATE: HY000): There is no Shared Memory Area for LogMirror

Cause

The environment for Goldilocks to interwork with LogMirror is not configured.

Action

Set LOG_MIRROR_MODE=1 in the Goldilocks properties and then re-execute.

47009 (SQLSTATE: HY000): Invalid Value : %s(%s)

Cause

The values specified in the environment file are incorrect.

Action

Correct them with the proper values.

47010 (SQLSTATE: HY000): Invalid port : (%d)

Cause

The PORT value specified in the environment file is incorrect.

Action

Set the PORT value to 65536 or below.

47011 (SQLSTATE: HY000): Master disconnect abnormally

Cause

The connection with the master was terminated abnormally.

Action

Check whether the network is functioning properly. Check the trace logs and contact our customer service department.

47012 (SQLSTATE: HY000): Invalid Log File(%s)

Cause

The log file is invalid.

Action

Check the trace logs and contact our customer service department.

47013 (SQLSTATE: HY000): Archive Log File does not exist

Cause

Archive log mode is not enabled.

Action

Enable archive log mode in Goldilocks and then restart.

47014 (SQLSTATE: HY000): Archive Log file Read Timeout (%s)

Cause

A new archive log file was not created.

Action

Free up disk space on the operating system and then restart.

47015 (SQLSTATE: HY000): LogMirror is not running

Cause

The --stop command was executed while LogMirror was not running.

Action

Check the execution status of LogMirror.

47016 (SQLSTATE: HY000): Connection Information does not exist

Cause

Not connected to Goldilocks.

Action

Check the operational status of Goldilocks.

47017 (SQLSTATE: HY000): Infiniband Receive Fail. (%ld)

Cause

Data could not be received due to an infiniband network issue.

Action

Check the network status. If the same issue continues to occur, contact our customer service department.

47018 (SQLSTATE: HY000): GOLDILOCKS Shutdown or Give-up LogMirror Service.

Cause

Goldilocks operation has stopped, causing the LogMirror service to terminate as well.

Action

Check the operational status.

47019 (SQLSTATE: HY000): Invalid encrypt/decrypt key

Cause

The key for encrypting/decrypting the password is invalid.

Action

Update the USER_ENCRYPT_PW value in the environment file with a properly generated key.

47020 (SQLSTATE: HY000): no '--key' option

Cause

The key for generating the encrypted password or for decrypting USER_ENCRYPT_PW is not specified.

Action

Execute the command with the --key option.

47021 (SQLSTATE: HY000): password already exists(use one of USER_PW or USER_ENCRYPT_PW)

Cause

Both USER_PW and USER_ENCRYPT_PW are specified in the environment file.

Action

Remove the unnecessary entry between USER_PW and USER_ENCRYPT_PW, then re-execute.

47022 (SQLSTATE: HY000): protocol heartbeat timeout

Cause

A heartbeat timeout has occurred.

Action

Check the connection and network status.

cymon Related Error

48000 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The GOLDILOCKS_DATA system environment variable is not set.

Action

Set GOLDILOCKS_DATA in the environment where cymon is executed.

48001 (SQLSTATE: HY000): "%s": file does not exist

Cause

The environment file or other required files do not exist in the specified path.

Action

Modify the file path and name correctly, then re-execute.

48002 (SQLSTATE: RD000): Service is not available

Cause

The database was not connected properly.

Action

Check whether the database is running normally and verify that the connection string in the trace log is correct. If any incorrect information is found, correct the database connection details specified in the environment file.

48003 (SQLSTATE: HY000): configure file processing error

Cause

The content specified in the environment file is incorrect.

Action

Modify it based on the output error message.

48004 (SQLSTATE: HY000): Duplicate group name (%s)

Cause

The replication group name is duplicated in the environment file.

Action

Ensure that each replication group name in the environment file is unique.

48005 (SQLSTATE: HY000): Invalid Value : %s(%ld)

Cause

The content specified in the environment file is incorrect.

Action

Correct the values to valid ones.

48006 (SQLSTATE: HY000): Invalid group name

Cause

No replication group is configured in the environment file.

Action

Configure a replication group in the environment file.

48007 (SQLSTATE: HY000): Invalid Port Number (1 ~ 65535)

Cause

The PORT value specified in the environment file is incorrect.

Action

Set the PORT value within the valid range.

48008 (SQLSTATE: HY000): There is no group in configure

Cause

No replication group information is configured in the environment file.

Action

Configure at least one replication group in the environment file.

48009 (SQLSTATE: HY000): cymon is already running

Cause

cymon is already running.

Action

Check the execution status of cymon and then re-execute it.

48010 (SQLSTATE: HY000): Communication link failure

Cause

The connection with Cyclone was terminated abnormally.

Action

Check whether the connection and network are functioning normally.

48011 (SQLSTATE: HY000): Protocol Error Occurred (%s)

Cause

An abnormal protocol was detected during communication with Cyclone.

Action

Check the trace logs and contact our customer service department.

48012 (SQLSTATE: HY000): Already Monitor Connected

Cause

cymon is already connected to the Cyclone.

Action

Check the operating environment of cymon and contact our customer service department.

48013 (SQLSTATE: HY000): cymon is not running

Cause

The --stop command was executed while cymon was not running.

Action

Check the execution status of cymon.

48014 (SQLSTATE: HY000): internal error occurred (%s)

Cause

This error occurs due to an internal failure.

Action

Check the trace log and contact our customer service department.

48015 (SQLSTATE: HY000): Fail to update monitoring info

Cause

Failed to update the monitoring information.

Action

Restart cymon. if the same issue continues to occur, contact our customer service department.

48016 (SQLSTATE: HY000): USER_ID or USER_PW does not exist.

Cause

To update the monitoring information, a connection to Goldilocks is required, but USER_ID and USER_PW are not set in the environment file.

Action

Specify USER_ID and USER_PW in the environment file.

48017 (SQLSTATE: HY000): Invalid encrypt/decrypt key

Cause

The key for encrypting/decrypting the password is invalid.

Action

Update the USER_ENCRYPT_PW value in the environment file with a properly generated key.

48018 (SQLSTATE: HY000): no '--key' option

Cause

The key for generating the encrypted password or for decrypting USER_ENCRYPT_PW is not specified.

Action

Execute the command with the --key option.

48019 (SQLSTATE: HY000): password already exists(use one of USER_PW or USER_ENCRYPT_PW)

Cause

Both USER_PW and USER_ENCRYPT_PW are specified in the environment file.

Action

Remove the unnecessary entry between USER_PW and USER_ENCRYPT_PW, then re-execute.

gdispatcher Related Error

50000 (SQLSTATE: HY000): Dispatcher is already started

Cause

deprecated

Action

If this error occurs, contact our customer service department.

50001 (SQLSTATE: HY000): overflow fd

Cause

The system has reached the limit of file descriptors.

Action

Increase the system’s file descriptor limit.

gbalancer Related Error

51000 (SQLSTATE: HY000): overflow fd

Cause

The system has reached the limit of file descriptors.

Action

Increase the system’s file descriptor limit.

gsyncher Related Error

53000 (SQLSTATE: HY000): invalid phase(%s): executable phase is %s

Cause

DB is not OPEN.

Action

gsyncher is executable when DB is OPEN.

53001 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The environment variable GOLDILOCKS_DATA is not valid.

Action

Set the environment variable GOLDILOCKS_DATA.

53002 (SQLSTATE: HY000): gmaster is active

Cause

Currently, gmaster process is in operation.

Action

gsyncher is not executable when gmaster process is in operation.

53003 (SQLSTATE: HY000): gsyncher is already running

Cause

Another gsyncher process is already in operation.

Action

Wait until gsyncher in operation is terminated. If terminating gsyncher with a signal, then the log file may be damaged.

53004 (SQLSTATE: HY000): Shared memory is cleared

Cause

The shared memory is already cleared.

Action

If the shared memory is cleared, then gsyncher is not executable.

Cluster Related Error

56000 (SQLSTATE: HY000): location information of member '%s' already exists

Cause

This error occurs when adding location information if the same member information already exists.


gSQL> SELECT * FROM x$cluster_location;


MEMBER_NAME HOST PORT

----------- --------- -----

G1N1 127.0.0.1 11150


1 row selected.


gSQL> CREATE CLUSTER LOCATION g1n1 HOST '127.0.0.1' PORT 12150;


ERR-HY000(56000): location information of member 'G1N1' already exists :

CREATE CLUSTER LOCATION g1n1 HOST '127.0.0.1' PORT 12150

*

ERROR at line 1:

Action

No action required.

56001 (SQLSTATE: HY000): location information of member '%s' does not exist

Cause

This error occurs when attempting to modify the location information of a non-existent member.


gSQL> SELECT * FROM x$cluster_location;


MEMBER_NAME HOST PORT

----------- --------- -----

G1N1 127.0.0.1 11150


1 row selected.


gSQL> ALTER CLUSTER LOCATION g1n2 HOST '127.0.0.1' PORT 12150;


ERR-HY000(56001): location information of member 'G1N2' does not exist :

ALTER CLUSTER LOCATION g1n2 HOST '127.0.0.1' PORT 12150

*

ERROR at line 1:

Action

Verify that the member exists, and then try again.

56002 (SQLSTATE: HY000): location information of member '%s' is modified by concurrent execution

Cause

deprecated

Action

If this error occurs, contact our customer service department.

56003 (SQLSTATE: HY000): has inactive member ( %s )

Cause

This error occurs when attempting to execute a DDL that requires all members to be active while there are inactive members.


The following is an example of a table creation failure when g1n2 is in an inactive state.


gSQL> CREATE TABLE t1 ( i1 INTEGER );


ERR-HY000(56003): has inactive member ( G1N2 )

Action

Add the inactive member to the cluster and then retry the DDL.


The following is an example of recreating the table after adding the previously inactive g1n2 to the cluster.


gSQL> SELECT local_member_name() FROM dual;


LOCAL_MEMBER_NAME()

-------------------

G1N2


1 row selected.


gSQL> ALTER SYSTEM JOIN DATABASE;


System altered.


gSQL> CREATE TABLE t1 ( i1 INTEGER );


Table created.

56004 (SQLSTATE: HY000): location file is corrupted - '%s'

Cause

This error occurs when the location file is corrupted during entry into the NOMOUNT phase.

Action

Save an uncorrupted location file to the location specified by the LOCATION_FILE property, and then try again.

56005 (SQLSTATE: HY000): connections of some cluster members are broken

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

56006 (SQLSTATE: 40000): transaction rollback: failed to prepare global transaction

Cause

This error occurs in the following two cases:

  • When a global transaction is being PREPAREd and all members of the group accessed by the transaction are inactive.

  • When a transaction that triggers a DDL is being PREPAREd and there are inactive members.


The following is an example of a PREPARE failure during the COMMIT process after creating a table when g1n2 is inactive.


gSQL> CREATE TABLE t1 ( i1 INTEGER );


Table created.


gSQL> COMMIT;


ERR-40000(56006): transaction rollback: failed to prepare global transaction

Action

Add the inactive member to the cluster and then retry the transaction.

56007 (SQLSTATE: HY000): must be accessible to at least one of replicas

Cause

deprecated

Action

If this error occurs, contact our customer service department.

56008 (SQLSTATE: 40000): transaction rollback: failed to synchronize replicas

Cause

This error occurs when asynchronous synchronization to a replica fails.

Action

Check the trace log, resolve the cause, and then try again.


The following is an example recorded in the trace log, where the error occurred because the transaction’s undo exceeded the allocated space.


[ASYNC] failed to synchronize replica

(G1N1) ERR-40000(56008): transaction rollback: failed to synchronize replicas

(G1N1) ERR-HY000(14115): MEMBER(G1N2): transaction undo limit exceeded

56009 (SQLSTATE: HY000): remote server ( member ID: %ld ) is abnormally terminated

Cause

The remote session was terminated abnormally.

Action

If this error occurs, contact our customer service department.

56010 (SQLSTATE: 40000): transaction rollback: remote session is abnormally terminated

Cause

deprecated

Action

If this error occurs, contact our customer service department.

56011 (SQLSTATE: HY000): a shared session cannot modify NUMA property

Cause

deprecated

Action

If this error occurs, contact our customer service department.

56012 (SQLSTATE: HY000): no connection was established to recover in-doubt transactions

Cause

deprecated

Action

If this error occurs, contact our customer service department.

56013 (SQLSTATE: HY000): cannot resolve in-doubt transaction '%d.%d.%d' because '%d' members of the total '%d' remote cluster members were disconnected - connection map was '%s'

Cause

This error occurs while transitioning to the LOCAL OPEN phase if the system cannot determine whether to COMMIT or ROLLBACK an in-doubt transaction in the PREPARE state.

Action

Bring all members to the MOUNT phase or higher, and then attempt LOCAL OPEN again.

56014 (SQLSTATE: HY000): MAX_NODE_COUNT property value '%d' must be equal to or less than '%d'

Cause

This error occurs during startup when the MAX_NODE_COUNT property is set to a value smaller than the one specified at database creation.


The following is an example of an error that occurs when the property was set to 64 at database creation, then changed to 128, and the database was restarted.


gSQL> \STARTUP


ERR-HY000(56014): MAX_NODE_COUNT property value '128' must be equal to or less than '64'

Action

Reset the property to the value specified at database creation or lower, and then restart.


gSQL> ALTER SYSTEM SET max_node_count = 32 DEFERRED SCOPE = file;


System altered.


gSQL> \SHUTDOWN ABORT


Shutdown success


gSQL> \STARTUP


Startup success

56015 (SQLSTATE: HY000): '%s' property value must be greater than or equal to '%s' property value '%d'

Cause

During startup, the number of SYNC server processes is smaller than the number of SYNC threads in the cluster dispatcher.

Action

Set the CLUSTER_DATA_SYNC_SERVERS value to be equal to or greater than the CDISPATCHER_SYNC_THREADS value, and then restart.

56016 (SQLSTATE: HY000): all members affected by the transaction are inactive - cannot guarantee durability of the transaction

Cause

This warning occurs during the COMMIT process of a DOMAIN transaction when all members of the group modified by the transaction are in an inactive state.

Action

It is a warning only, and no action is required.

56017 (SQLSTATE: 40000): transaction rollback: failed to open remote session

Cause

Failed to create a remote session for protocol execution.

If this error occurs, the transaction is automatically rolled back.


The following is an example where an error occurred due to insufficient resources while attempting to create a remote session to insert a record into the t1 table.


gSQL> INSERT INTO t1 VALUES( 1 );


ERR-40000(56017): transaction rollback: failed to open remote session

ERR-HY000(11019): MEMBER(G1N2): Insufficient resource : exceeded maximum number of session environments

Action

Refer to the error message to resolve the cause, and then retry the operation.

56018 (SQLSTATE: HY000): protocol payload size(%ld) exceed maximum packet size(%ld)

Cause

This error occurs during protocol marshalling when the size of a single record exceeds CLUSTER_MAX_PACKET_SIZE.

Action

Set CLUSTER_MAX_PACKET_SIZE to a value larger than the size of the single record, and then retry the operation.

56019 (SQLSTATE: HY000): failover busy

Cause

This error occurs only in the gmaster failover thread and indicates that failover cannot be performed at this time because another member is currently performing failover.

Action

No action is required.

56020 (SQLSTATE: HY000): internal error ( %s, %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

56021 (SQLSTATE: HY000): exceeded maximum response timeout

Cause

This error occurs only in the failover thread of the gmaster.

It happens when the response from the locator protocol used during the failover process is not received within the specified timeout.

Action

When this error occurs, the failover thread handles it according to the defined failover policy.

If the issue is caused by insufficient response wait time, increase the LOCATOR_QUERY_TIMEOUT value.

56022 (SQLSTATE: HY000): failed to connect to a host

Cause

This error occurs when the connection to the target node fails.

It typically happens if the target node is down or if the host and port are incorrectly configured.


gSQL> ALTER CLUSTER GROUP g3 ADD CLUSTER MEMBER g3n3 HOST '127.0.0.1' PORT 13350;


ERR-HY000(16351): failed to connect to the cluster member 'G3N3'

ERR-HY000(56022): failed to connect to a host

ERR-HY000(11067): failed to connect to a host with a socket : poll() - port '13350' : stnConnect() returned errno(111)

Action

Specify the correct host and port for the target node and try again.

56023 (SQLSTATE: HY000): invalid cluster communication protocol

Cause

This error can occur on the cserver when an unrecognized command is requested.

It typically happens when the driver member has been patched to the latest version, but the remote member is still running an older version.

Action

Update the older version to the latest version and retry the operation.

56024 (SQLSTATE: HY000): sequence '%s' is offline

Cause

This error occurs in the following two cases:

  • When inactive members exist and the sequences of active members are in an offline state.

  • When no inactive members exist and the sequences of active members are in an offline state.


The following shows the result of executing nextval in a 1×2 environment where g1n1’s sequence is offline and g1n2 is inactive.


gSQL> SELECT is_online FROM v$sequence@g1n1 WHERE sequence_name = 'SEQ';


IS_ONLINE

---------

FALSE


1 row selected.


gSQL> SELECT cm.member_name, vcm.status

2 FROM v$cluster_member@g1n1 vcm, cluster_member@g1n1 cm

3 WHERE vcm.member_id = cm.member_id AND cm.member_name = 'G1N2';


MEMBER_NAME STATUS

----------- --------

G1N2 INACTIVE


1 row selected.


gSQL> SELECT seq.nextval FROM dual;


ERR-HY000(56024): sequence 'SEQ' is offline

Action

If inactive members exist, bring those members back into the cluster and then retry the operation.


gSQL> SELECT local_member_name() FROM dual;


LOCAL_MEMBER_NAME()

-------------------

G1N2


1 row selected.


gSQL> ALTER SYSTEM JOIN DATABASE;


System altered.


gSQL> SELECT seq.nextval FROM dual;


NEXTVAL

-------

21


1 row selected.


If no inactive members exist, repeatedly execute the ALTER DATABASE SYNCHRONIZE SEQUENCE statement until it succeeds.

56025 (SQLSTATE: HY000): cannot synchronize because some members are inactive

Cause

This occurs when executing the sequence synchronization statement while inactive members exist and the sequences of active members are in an offline state.


The following shows the result of executing the sequence synchronization statement in a 1×2 environment where g1n1’s sequence is offline and g1n2 is inactive.


gSQL> SELECT is_online FROM v$sequence@g1n1 WHERE sequence_name = 'SEQ';


IS_ONLINE

---------

FALSE


1 row selected.


gSQL> ALTER SEQUENCE seq SYNCHRONIZE;


ERR-HY000(56025): cannot synchronize because some members are inactive

Action

Bring the inactive members back into the cluster, and then retry the operation.

56026 (SQLSTATE: HY000): identity column '%s' of table '%s' is offline

Cause

This error occurs in the following two cases:

  • When inactive members exist and the identity sequences of active members are in an offline state.

  • When no inactive members exist and the identity sequences of active members are in an offline state.


The following shows the result of executing it in a 1×2 environment, where g1n1’s identity sequence is offline and g1n2 is inactive.


gSQL> SELECT cm.member_name, vcm.status

2 FROM v$cluster_member@g1n1 vcm, cluster_member@g1n1 cm

3 WHERE vcm.member_id = cm.member_id AND cm.member_name = 'G1N2';


MEMBER_NAME STATUS

----------- --------

G1N2 INACTIVE


1 row selected.


gSQL> INSERT INTO t1 VALUES( DEFAULT );


ERR-HY000(56026): identity column 'I1' of table 'T1' is offline

Action

If inactive members exist, bring those members back into the cluster and then retry the operation.


gSQL> SELECT local_member_name() FROM dual;


LOCAL_MEMBER_NAME()

-------------------

G1N2


1 row selected.


gSQL> ALTER SYSTEM JOIN DATABASE;


System altered.


gSQL> INSERT INTO t1 VALUES( DEFAULT );


1 row created.


If no inactive members exist, repeatedly execute the ALTER DATABASE SYNCHRONIZE SEQUENCE statement until it succeeds.

56027 (SQLSTATE: HY000): cannot resolve in-doubt transaction '%d.%d.%ld' because the transaction remains unfinished

Cause

When restarting a node, a specific transaction that is in the PREPARE state has not yet been COMMITted or ROLLBACKed.

Action

Commit or rollback the transaction first, and then restart the node.

56028 (SQLSTATE: HY000): the property '%s' is not compatible with the cluster system

Cause

This error occurs when entering the GLOBAL OPEN phase if the global property values differ among members.

Action

Ensure that all members have identical property values, and then restart the node.

56029 (SQLSTATE: HY000): unable to open a remote session for read only statement

Cause

Failed to create a remote session for protocol execution when no transaction exists.


The following is an example of an error occurring due to insufficient resources while creating a remote session to query the t1 table on g1n2.


gSQL> SELECT * FROM t1@g1n2;


ERR-HY000(56029): unable to open a remote session for read only statement

ERR-HY000(11019): MEMBER(G1N2): Insufficient resource : exceeded maximum number of session environments

Action

Refer to the error message to resolve the cause, and then retry the operation.

56030 (SQLSTATE: HY000): total cdispatcher threads '%d' must be equal to or less than '%d'

Cause

Deprecated

Action

If this error occurs, contact our customer service department.

56031 (SQLSTATE: HY000): startup of remote database '%s' is in progress

Cause

This error occurs if multiple members simultaneously raise the startup phase to global open.

Action

Only one member must raise the startup phase to global open at a time.

cserver Related Error

57000 (SQLSTATE: HY000): invalid statement

Cause

This error occurs when attempting to re-execute a statement in a remote session after an error has already occurred.

Action

This is a secondary error caused by a previous error. Resolve the root cause of the initial error first, and then retry the operation.

cdispatcher Related Error

58000 (SQLSTATE: HY000): the sender failed to connect to the member(%d)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

58001 (SQLSTATE: HY000): the socket of target member '%s' is already disconnected

Cause

deprecated

Action

If this error occurs, contact our customer service department.

58002 (SQLSTATE: HY000): the location information for member '%s' is not found

Cause

During the transition from the MOUNT phase to the LOCAL OPEN phase, the local location information was removed.


gSQL> \STARTUP MOUNT


Startup success


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


ERR-HY000(44004): failed to create system threads (monitor)

ERR-HY000(44007): failed to start up a process 'cdispatcher'

ERR-HY000(58002): the location information for member 'G1N2' is not found

Action

Add the local location information again, and then re-enter the LOCAL OPEN phase.


gSQL> CREATE CLUSTER LOCATION G1N2 HOST '127.0.0.1' PORT 11250;


Location created.


gSQL> ALTER SYSTEM OPEN LOCAL DATABASE;


System altered.

58003 (SQLSTATE: HY000): the connection information is invalid; %s %d is either equal to or greater than %d

Cause

deprecated

Action

If this error occurs, contact our customer service department.

58004 (SQLSTATE: HY000): the connection timeout from remote(%d)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

58005 (SQLSTATE: HY000): the disconnection timeout from remote(%d)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

58006 (SQLSTATE: HY000): invalid connection state transition

Cause

This error occurs during the cluster join process when the state information of the joining node, as maintained by the active nodes, is already in the CONNECTING state.

It may appear when the joining node fails due to an abnormal error during the join process and then attempts to rejoin within a short period of time.

Action

Retry the operation after the active nodes have completed cleaning up the state information for the joining node.

If the same issue continues to occur, contact our customer service department.

58007 (SQLSTATE: HY000): dispatcher thread counts of two hosts do not match

Cause

The number of cdispatcher threads differs between the active node and the joining node.


The following is an example of an error that occurs when adding a member while the number of cdispatcher threads is configured differently on g1n1 and g1n2.


gSQL> ALTER CLUSTER GROUP G1 ADD CLUSTER MEMBER G1N2 HOST '127.0.0.1' PORT 11250;


ERR-HY000(16351): failed to connect to the cluster member 'G1N2'

ERR-HY000(58007): MEMBER(G1N2): cluster dispatcher thread count does not match

Action

Set the CDISPATCHER_LOCKABLE_THREADS, CDISPATCHER_LOCKLESS_THREADS, and CDISPATCHER_SYNC_THREADS values on the joining node to match those of the active node. Then, restart the joining node and then retry the operation.

58008 (SQLSTATE: HY000): failed to start '%s' thread of cluster dispatcher

Cause

This error may occur during startup if the cdispatcher fails to create its threads. The cause may vary, but it usually occurs due to insufficient operating system resources.

Action

Resolve the cause and restart the node.

58009 (SQLSTATE: HY000): internal error ( %s, %d )

Cause

This is an error code used within the server.

Action

If this error occurs, contact our customer service department.

58010 (SQLSTATE: HY000): broken socket

Cause

The socket connection between nodes has been disconnected.

Action

Check the network status, and then reconnect the node whose connection was lost.

58011 (SQLSTATE: HY000): old cluster connection is still alive

Cause

An error occurs if an existing connection to the joining node is still maintained on the active node during the cluster join process.

Action

Retry after the joining node’s state has been fully cleared on the active node.

If the same issue continues to occur, contact customer support.

58012 (SQLSTATE: HY000): failover event is in progress

Cause

An attempt was made to rejoin a node to the cluster while the failover process for the disconnected node was still in progress.

Action

Retry after all ongoing failover processes on the active nodes have been completed.

58013 (SQLSTATE: HY000): the connection can be established at LOCAL OPEN or OPEN phase

Cause

This error occurs when a node that is still in the startup process is designated as a target node for cluster DDL.

Action

Retry after the startup process has been completed.

58014 (SQLSTATE: HY000): old cluster sessions are still alive

Cause

This error occurs if a session that was created before the joining node was disconnected still remains on the active node during the cluster join process.

Action

Sessions of the disconnected node are automatically cleaned up by the gmaster cleanup thread. Retry after all sessions have been fully cleared.

If the same issue continues to occur, contact our customer service department.

58015 (SQLSTATE: HY000): Timeout expired - %s

Cause

The connection time to the remote node during the cluster join process exceeded the value configured in CLUSTER_CONNECTION_TIMEOUT_SEC.

Action

Increase the value of CLUSTER_CONNECTION_TIMEOUT_SEC and try again.

58016 (SQLSTATE: HY000): cancel dequeue operation - database is going shutdown

Cause

This is an error code used within the server.

Action

No action is required.

58017 (SQLSTATE: HY000): join database is in progress

Cause

This error occurs when attempting to join two or more nodes simultaneously from different sessions.


gSQL> ALTER SYSTEM JOIN DATABASE;


ERR-HY000(58017): MEMBER(G1N2): join database is in progress

Action

Join the nodes sequentially.

58018 (SQLSTATE: HY000): connection request from old cluster

Cause

This error occurs when attempting to join a node that was disconnected from Cluster A to Cluster B.

Action

Join the node to the correct cluster to which it originally belonged.

58019 (SQLSTATE: HY000): member position is out of range( 0 to %ld ) - local(%d), remote(%d)

Cause

This error occurs when the local member position value exceeds the MAX_NODE_COUNT value during group creation or member addition.


This issue typically occurs when the MAX_NODE_COUNT value of the node being added is different from the MAX_NODE_COUNT value of the active nodes.


The following is an example of an error that occurs when attempting to add g1n2, which has MAX_NODE_COUNT set to 1, to g1n1 where MAX_NODE_COUNT is set to 2.


gSQL> ALTER CLUSTER GROUP G1 ADD CLUSTER MEMBER G1N2 HOST '127.0.0.1' PORT 11250;


ERR-HY000(16351): failed to connect to the cluster member 'G1N2'

ERR-HY000(58019): MEMBER(G1N2): member position is out of range( 0 to 1 ) - local(1), remote(0)

Action

Set the MAX_NODE_COUNT to the same value as the active nodes, and then try again.

58020 (SQLSTATE: HY000): the cluster protocol version '%d.%d' of cluster member '%d' is not compatible with the cluster protocol version '%d.%d' of cluster member '%d'

Cause

The major cluster protocol version of the joining node does not match the major version of the active nodes.

Action

Check the major protocol version of the joining node and try again with the correct package version.


The following shows how to check the cluster protocol version of a node.


gSQL> SELECT stat_name, stat_value

2 FROM v$system_stat@local

3 WHERE stat_name LIKE '%_PROTOCOL_VERSION';


STAT_NAME STAT_VALUE

---------------------- ----------

MAJOR_PROTOCOL_VERSION 2

MINOR_PROTOCOL_VERSION 1


2 rows selected.

gtrclogger Related Error

59000 (SQLSTATE: HY000): exceeded port cnt

Cause

gtrclogger can receive logs from multiple servers through up to 100 ports. This error occurred because the number of ports specified at startup exceeded the maximum allowed limit of 100.

Action

Run gtrclogger with the number of receiving ports set to 100 or fewer.

59001 (SQLSTATE: HY000): gtrclogger is already running

Cause

An attempt was made to start gtrclogger while it was already running.

Action

To start a new instance of gtrclogger, the currently running instance must be stopped first.

59002 (SQLSTATE: HY000): gtrclogger is not running

Cause

An attempt was made to stop gtrclogger, but no running instance was found.

Action

Since gtrclogger is not actually running, there is no need to stop it. Start the program again if necessary.

59003 (SQLSTATE: HY000): Operation timed out

Cause

When the stop command is executed, it terminates the currently running gtrclogger process and attempts to acquire a lock on the log file to verify that the shutdown was successful.

This error occurs when the lock on the log file cannot be acquired after multiple attempts.

Action

Check whether the gtrclogger process is still running.

Verify if another process is using the log file.

Since there may be system-wide issues related to file locking, also check the file system status and privilege settings.

59004 (SQLSTATE: 22000): Invalid GOLDILOCKS_DATA directory

Cause

This error occurs when the directory path specified in the GOLDILOCKS_DATA environment variable does not exist or is not accessible.

Action

Set the GOLDILOCKS_DATA environment variable to a valid directory path.

glocator Related Error

60000 (SQLSTATE: HY000): syntax error

Cause

deprecated

Action

If this error occurs, contact our customer service department.

60001 (SQLSTATE: HY000): file does not exist - '%s'

Cause

%s file does not exist.

Action

Check if the file exist, then modify it.

60002 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

GOLDILOCKS_DATA environment variable is not valid.

Action

Set the valid GOLDILOCKS_DATA environment variable.

60003 (SQLSTATE: HY000): Invalid value - %s(%s)

Cause

The SERVICE name exceeds the maximum length in ADD SERVICE statement.

Action

The identifier name should be shorter than 128 bytes.

60004 (SQLSTATE: HY000): file name is too long - '%s'

Cause

The length of the file path exceeds the maximum length.

Action

It should be shorter than 1024 bytes.

60005 (SQLSTATE: HY000): glocator is already started.

Cause

glocator is already in operation.

Action

Terminate the glocator in operation to execute glocator newly, Or, execute glocator with the home and connection information which are different from glocator in operation to execute another glocator in the same equipment.

60006 (SQLSTATE: HY000): Location file is corrupted - '%s'

Cause

The location file is corrupted.

Action

Create the new location file.

60007 (SQLSTATE: HY000): Property value is out of length - '%s'

Cause

The length of the given property value exceeds the valid length.

Action

Use the length of the property value within the valid range.

60008 (SQLSTATE: HY000): Invalid property value [ YES | NO | 1 | 0 ] - '%s'

Cause

The invalid value was used in boolean property.

Action

Use boolean value suggested in the error message.

60009 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ] - '%s'

Cause

The value used in integer property exceeds the range.

Action

Use an integer value within the suggested range in the error message.

60010 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ] - '%s'

Cause

The string used as the string property exceeds the valid length range.

Action

Use a string within the suggested character length in the error message.

60011 (SQLSTATE: HY000): File already exists - '%s'

Cause

The file already exists.

Action

Check the file and respond to it.

60012 (SQLSTATE: HY000): Location file exceeded max size(%ld) - over size(%ld)

Cause

deprecated

Action

If this error occurs, contact our customer service department.

60013 (SQLSTATE: HY000): Not exist node information - '%s'

Cause

The given node information does not exist.

Action

Check it in the trace log.

If this error occurred during the cluster failover process in the cluster environment, then gagent of the node was already terminated.

If the node was inquired for gloctl or the global connection, then add the information about the node through gloctl.

60014 (SQLSTATE: HY000): Exceeded response time for failover.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

60015 (SQLSTATE: HY000): Node is on failover - '%s'

Cause

ADD, DROP MEMBER statement was executed through gloctl, but the node is in failover process.

Action

The information about the node in failover process can not be updated, so try it again after finishing failover.

60016 (SQLSTATE: HY000): Need more alternate locator host information.

Cause

sync option was used, but ALTERNATE_LOCATOR information does not exist.

Action

Add the ALTERNATE_LOCATOR property to the configuration file.

60017 (SQLSTATE: HY000): Invalid configure file specification - property:[%s]

Cause

ALTERNATE_LOCATOR property is set, but the string is not a valid form.

Action

The value of the ALTERNATE_LOCATOR property is the name of the ini object, which must be specified in the configuration file. This ini object must include valid host and port properties.

60018 (SQLSTATE: HY000): Failed to propagate - '%s:%d'

Cause

The replicated glocator tried to update MEMBER or SERVICE, but failed.

Action

If the packet is lost due to the protocol communication using UDP, then execute it again or alternate glocator should directly handle it.

60019 (SQLSTATE: HY000): Not exist service information - '%s'

Cause

The information about the given service does not exist.

Action

Check the information about the service.

60020 (SQLSTATE: HY000): '%s' node is already connected.

Cause

The node with the same name already exists when connecting to gagent.

Action

gagent of the same member tried an additional execution. Check the trace log of gagent.

60021 (SQLSTATE: HY000): overflow fd.

Cause

The system has reached the limit of file descriptors.

Action

Increase the system’s file descriptor limit.

60022 (SQLSTATE: HY000): Connection is rejected.

Cause

  • gagent: Attempted to connect to the glocator, but the glocator is not a primary.

  • glocator: Cannot be used because another alternate glocator is already in use.

Action

  • gagent: Connect to the primary glocator.

  • glocator: Disconnect from the currently connected alternate glocator and connect to a new alternate glocator.

gloctl Related Error

61000 (SQLSTATE: HY000): Syntax error

Cause

The input string violated the syntax.

Action

Check the grammar.

61001 (SQLSTATE: HY000): File does not exist - '%s'

Cause

The file does not exist.

Action

Check the file path.

61002 (SQLSTATE: HY000): Can not find any ini object in file - '%s'

Cause

INI file used in IMPORT statement does not have any data source.

Action

Check INI file used in IMPORT statement.

61003 (SQLSTATE: HY000): Dsn does not exist - '%s'

Cause

It is executable by entering only the member name in ADD MEMBER statement as follows.


gLoctl> add member g1n1


It tried to get g1n1 information of the member from odbc.ini file, but g1n1 information does not exist in odbc.ini.

Action

Add the member information to odbc.ini. The location of odbc.ini file is subject to change according to the home directory, ODBCINI or ODBCSYSINI environment variable.

61004 (SQLSTATE: HY000): ADD MEMBER keyword syntax is error - '%s'

Cause

The keyword used in ADD MEMBER statement is wrong.

Action

Check ADD MEMBER statement.

61005 (SQLSTATE: HY000): ADD SERVICE keyword syntax is error - '%s'

Cause

The keyword used in ADD SERVICE statement is wrong.

Action

Check ADD SERVICE statement.

61006 (SQLSTATE: HY000): Invalid property value [ YES | NO | 1 | 0 ] - '%s'

Cause

An invalid value was used in boolean property.

Action

Use the boolean value suggested in the error message.

61007 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ] - '%s'

Cause

The value used in integer property exceeds the range.

Action

Use the integer value in the range suggested in the error message.

61008 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ] - '%s'

Cause

The string used as the string property exceeds the valid length range.

Action

Use the string within the text length suggested in the error message.

61009 (SQLSTATE: HY000): STL_ENV_DB_DATA system environment is invalid

Cause

It refers to GOLDILOCKS_DATA environment variable to get the location of data configuration file, but the environment variable does not exist or the string length of the result is smaller than 1.

Action

Check GOLDILOCKS_DATA environment variable, or directly input the configuration file by using conf option.

61010 (SQLSTATE: HY000): Keyword syntax is invalid - '%s'

Cause

The syntax of input keyword is not valid.

Action

Check the grammar of the used syntax.

61011 (SQLSTATE: HY000): Data value is invalid - '%s'

Cause

The information is missing in a specific syntax. IMPORT statement should include HOST and PORT information. Or, if the information of SERVICE member is missing when using ADD SERVICE statement, then an error occurs.

Action

Check the grammar of the used syntax.

gmon Related Error

62000 (SQLSTATE: HY000): gmon is already running

Cause

gmon is already running.

Action

Clear the previously operated gmon, or respond according to the trace log.

62001 (SQLSTATE: HY000): process(%ld) did not respond signal

Cause

It tried to get the process name of gmaster by using the given pid, but it failed. A specific os does not support checking the process name by using pid. In this case, it checks if the process is alive by using the signal, but the process did not respond.

Action

Respond according to the trace log.

62002 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The environment variable GOLDILOCKS_DATA is not valid.

Action

Set the valid GOLDILOCKS_DATA environment variable.

gagent Related Error

63000 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The environment variable GOLDILOCKS_DATA is not valid.

Action

Set the valid GOLDILOCKS_DATA environment variable.

63001 (SQLSTATE: HY000): Property value is out of length - '%s'

Cause

The length of the given property value exceeds the valid length.

Action

Use the length of the property value within the valid range.

63002 (SQLSTATE: HY000): Invalid property value [ YES | NO | 1 | 0 ] - '%s'

Cause

An invalid value was used in boolean property.

Action

Use the boolean value suggested in the error message.

63003 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ] - '%s'

Cause

The value used in integer property exceeds the range.

Action

Use the integer value in the range suggested in the error message.

63004 (SQLSTATE: HY000): Invalid property value [ %ld ~ %ld ] - '%s'

Cause

The string used as the string property exceeds the valid length range.

Action

Clear the previously operated gagent, or respond according to the trace log.

63005 (SQLSTATE: HY000): gagent is already started.

Cause

gagent is already started.

Action

Clear the previously operated gagent, or respond according to the trace log.

63006 (SQLSTATE: HY000): file name is too long - '%s'

Cause

The length of the file path is bigger than or equal to 1024.

Action

Use the length smaller than 1024

63007 (SQLSTATE: HY000): file does not exist - '%s'

Cause

The file does not exist.

Action

Check the file name and the path.

63008 (SQLSTATE: HY000): Database is not cluster.

Cause

It is not cluster database.

Action

It can be operated in cluster database.

63009 (SQLSTATE: HY000): Invalid configure file specification - property:[%s]

Cause

The property is not set in INI file.

Action

Check the property and how to set the property.

63010 (SQLSTATE: HY000): Invalid phase(%s): executable phase is between %s and %s

Cause

The current database is not open.

Action

Start the database to local open or open phase, then execute gagent.

63011 (SQLSTATE: HY000): Property PORT of dsn(%s) is not set in file 'odbc.ini'

Cause

deprecated

Action

If this error occurs, contact our customer service department.

63012 (SQLSTATE: 08000): Timeout expired.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

63013 (SQLSTATE: HYT00): Unable to establish connection.

Cause

deprecated

Action

If this error occurs, contact our customer service department.

cyfile Related Error

64000 (SQLSTATE: RD000): Service is not available

Cause

The database was not connected properly.

Action

Check whether the database is running normally and verify that the connection string in the trace log is correct. If any incorrect information is found, correct the database connection details specified in the environment file.

64001 (SQLSTATE: HY000): '%s' : file does not exist

Cause

The environment file or other files do not exist in the specified path.

Action

Modify the file path and name correctly, then re-execute.

64002 (SQLSTATE: HY000): configure file processing error

Cause

The content specified in the environment file is incorrect.

Action

Modify it based on the output error message.

63003 (SQLSTATE: HY000):  '%s': table does not exist 

Cause

The table information specified in the environment file does not exist in the database.

Action

Update the environment file so that its information matches the database.

64004 (SQLSTATE: HY000):  '%s': schema does not exist 

Cause

The schema information specified in the environment file does not exist in the database.

Action

Update the environment file so that its information matches the database.

64005 (SQLSTATE: HY000): '%s.%s': previously added. maybe duplicated 

Cause

The environment file contains duplicate table information.

Action

Remove the duplicate table information from the environment file.

64006 (SQLSTATE: HY000): '%s%s': table must have a primary key

Cause

The specified table does not have a primary key set.

Action

Set or add a primary key to the table.

64007 (SQLSTATE: HY000):  internal error occurred (%s)

Cause

This error occurs due to an internal failure.

Action

Check the trace log and contact our customer service department.

64008 (SQLSTATE: HY000):  invalid datatype (%ld) 

Cause

A data type that does not support Cyfile was used.

Action

Verify that the data type supports Cyfile.

64009 (SQLSTATE: HY000):  '%s.%s': table must set supplemental log or primary key.

Cause

To perform Cyfile, supplemental logging must be enabled, but it is not enabled on the specified table.

Action

Enable supplemental logging on the table, or set the SUPPLEMENTAL_LOG_DATA_PRIMARY_KEY property in Goldilocks to YES and restart.

64010 (SQLSTATE: HY000):  group [%s] is already running

Cause

A replication group with the same name as the one specified in the environment file is already running.

Action

Use the --status option to check the running status of Cyfile. If the group is already running, terminate it and restart. When adding a new group, change the group name in the environment file because a group with the same name already exists.

64011 (SQLSTATE: HY000):  cyfile is not running  

Cause

Cyfile is not running, or the specified Cyfile replication group name is incorrect.

Action

Use the --status option to check whether Cyfile is running and to verify the group name.

64012 (SQLSTATE: HY000): GOLDILOCKS_DATA system environment is invalid

Cause

The GOLDILOCKS_DATA system environment argument is not set.

Action

Set GOLDILOCKS_DATA in the environment where Cyfile is executed.

64013 (SQLSTATE: HY000):  '%s' log file is reused or invalid: restart cyfile with '--reset' option

Cause

Processing cannot continue because the redo log file specified for obtaining Cyfile data has been reused, or the archive log is missing.

Action

Check whether ARCHIVELOG_MODE is enabled. To discard the current state and start anew from the current point, restart Cyfile with the --reset option.

64014 (SQLSTATE: HY000):  failed to analyze flow [%s]

Cause

Failed to analyze data.

Action

Check the trace log and contact our customer service department.

64015 (SQLSTATE: HY000):  Invalid transaction slot ID 

Cause

This error occurs when the TRANSACTION_TABLE_SIZE property of GOLDILOCKS is changed after Cyfile has been started.

Action

Restart Cyfile. If TRANSACTION_TABLE_SIZE is changed during replication, Cyfile must be restarted.

64016 (SQLSTATE: HY000): Invalid operation for DDL 

Cause

A DDL operation that Cyfile cannot handle was executed.

Action

Check the trace logs and contact our customer service department.

64017 (SQLSTATE: HY000):  Invalid group name (%s) 

Cause

A group is not configured in the environment file.

Action

Configure a group in the environment file.

64018 (SQLSTATE: HY000): Invalid capture information

Cause

The recovery information is incorrect.

Action

Restart Cyfile using the --reset all option.

64019 (SQLSTATE: HY000):  There is no group in configure

Cause

No group information is configured in the environment file.

Action

Configure at least one group in the environment file.

64020 (SQLSTATE: HY000):  Duplicate group name (%s)

Cause

The group name is duplicated in the environment file.

Action

Ensure that each group name in the environment file is unique.

64021 (SQLSTATE: HY000):  Invalid Value : %s(%s)

Cause

The contents specified in the environment file are incorrect.

Action

Correct the values to valid ones.

64022 (SQLSTATE: HY000): Invalid host port (%s) 

Cause

The HOST_PORT value specified in the environment file is incorrect.

Action

Correct the HOST_PORT value in the environment file to a valid value.

64023 (SQLSTATE: HY000):  Redo log file read timeout (%s)

Cause

This error occurs when the wait time exceeds while reading archive log files.

(The error occurs if a required file is not found within 10 seconds.)

Action

Check whether the file exists and then restart Cyfile. If the same issue continues to occur, restart Cyfile using the --reset all option.

64024 (SQLSTATE: HY000):  Invalid archive log file (%s)

Cause

No valid archive log files are available.

Action

Check the trace logs and contact our customer service department.

64025 (SQLSTATE: HY000):  failed to write file (%s)

Cause

Failed to save the file.

Action

Free up disk space on the machine where it is running, and then restart. If the same issue continues to occur, contact our customer service department.

64026 (SQLSTATE: HY000): failed to set propagate mode at session

Cause

deprecated

Action

If this error occurs, contact our customer service department.

64027 (SQLSTATE: HY000):  There is no active redo log file

Cause

This error occurs if the redo log files being processed by Goldilocks are invalid, or if processing is delayed due to disk bottlenecks during the LogFile switch.

Action

Restart Cyfile. If the same issue continues to occur, contact our customer service department.

64028 (SQLSTATE: HY000):  Cannot add new table. master database must be started first. (%s.%s) 

Cause

To process a table specified or added in the environment file, Cyfile must connect to Goldilocks to configure the table information.

If Goldilocks is not online or cannot be accessed, the configuration fails and this error occurs.

Action

If a table was added to the environment file, remove the table and restart Cyfile, or check the operational status of Goldilocks.

64029 (SQLSTATE: HY000):  Master database must be started(Open status) for the first time, reset table.

Cause

When Cyfile is run for the first time or with the --reset option, it must connect to Goldilocks. If the connection fails, this error occurs.

Action

Check the operational status of Goldilocks.

64030 (SQLSTATE: HY000):  Meta file has broken. please restart with '--reset all'(%s)

Cause

The metadata file containing the information required for Cyfile is in an invalid state.

Action

Restart Cyfile using the --reset all option.

64031 (SQLSTATE: HY000):  Redo log file does not exist (%s)

Cause

The redo log file does not exist.

Action

Check the trace logs and contact our customer service department.

64032 (SQLSTATE: HY000): USER_ID or USER_PW does not exist 

Cause

The USER_ID and USER_PW required to connect to Goldilocks are not set in the environment file.

Action

Specify USER_ID and USER_PW in the environment file.

64033 (SQLSTATE: HY000):  (%s) value is too long

Cause

The specified information exceeds the maximum allowed length.

Action

Check the maximum length in the user manual and adjust the information accordingly.

64034 (SQLSTATE: HY000):  Invalid encrypt/decrypt key

Cause

The key used to encrypt/decrypt the password is invalid.

Action

Modify the USER_ENCRYPT_PW value in the environment file to a value generated with a valid key.

64035 (SQLSTATE: HY000): no '--key' option 

Cause

The encrypted password has not been generated, or the key to decrypt USER_ENCRYPT_PW is not set.

Action

Run the command with the --key option.

64036 (SQLSTATE: HY000):  password already exists (use one of USER_PW or USER_ENCRYPT_PW)

Cause

Both USER_PW and USER_ENCRYPT_PW are specified in the environment file.

Action

Remove the unnecessary entry between USER_PW and USER_ENCRYPT_PW, then re-execute.

64037 (SQLSTATE: HY000):   reset or sync table (%s.%s) has never participated in replication

Cause

The --reset and --sync 'Table Name' options were used to initialize a specific table, but the table does not exist or has no replication history.

Action

Since --reset and --sync are critical options for replication and data initialization, the exact table name must be specified. If the table has been newly added, perform the operation without using these options.

64038 (SQLSTATE: HY000):  reset or sync argument is invalid (%s)

Cause

The information specified in --reset and --sync is incorrect.

Action

Verify the specified information, correct it, and then rerun the operation.

64039 (SQLSTATE: HY000):  Table meta file has broken. please restart with '--reset all'

Cause

The meta file containing the required information is invalid.

Action

Restart Cyfile using the --reset all option.

64040 (SQLSTATE: HY000):  (%s.%s) table (%s) column is not acceptable(GENERATED ALWAYS AS IDENTITY)

Cause

One or more columns in the target table have the Generated Always As Identity attribute.

Action

This operation cannot be performed on columns with this attribute, so it must be removed.

64041 (SQLSTATE: HY000): data type is not supported.(%s)  

Cause

An unsupported data type was used.

Action

Cyfile does not support data types such as Long Varchar and Long Varbinary.

Modify the tables containing these data types and restart.

64042 (SQLSTATE: HY000): Cluster information does not matched( before groupid(%d), memberid(%d)/current groupid(%d), memberid(%d) ) 

Cause

The cluster information in the existing data must not be changed, but it has been modified.

Action

Check the cluster information in the environment file, or restart Cyfile with the --reset all option to initialize the information.

64043 (SQLSTATE: HY000): Invalid cluster information at configure file( %s ) 

Cause

The CLUSTER information specified in the environment file is incorrect.

Action

This may occur if ID, PORT, or MASTER_IP are duplicated or recorded incorrectly. Correct the values accordingly.

64044 (SQLSTATE: HY000):  Control has broken(CRC Error)( %s )

Cause

The control file required for operation is not properly configured.

Action

Restart Cyfile with the --reset all option to initialize the information.

64045 (SQLSTATE: HY000):  Control has broken(internal CRC Error)( %s ) 

Cause

The control file required for operation is not properly configured.

Action

Restart Cyfile with the --reset all option to initialize the information.

gdump 관련 에러

67000 (SQLSTATE: HY000): actual file type (%s) does not match the specified type (%s)

Cause

The file type specified by the user does not match the actual file type.

Action

Change the file type to the actual file type indicated in the error message and try again.