Temporary Tables and Table Variables in SQL Server

SQLServerF1

SQL Server allows creation different types of tables in SQL Server for different purposes which include regular user-defined tables, system tables, Partitioned tables, Temporary tables, Wide tables. Each of these mentioned tables are useful for different reason and to satisfy different approaches. In this article we will try to understand about Temporary Tables in SQL Server, also we will talk about Table Variables which serves similar purpose as Temporary Tables but used for different scenarios.

Temporary Tables – There are two types of temporary tables one is a local temporary table and another is a global temporary table. Local temporary tables are visible only to their creators in the same connection to an instance of SQL Server, when the tables were first created or referenced. Local temporary tables are deleted after the user disconnects from the instance of SQL Server. On the other hand Global temporary tables are visible to any user and any connection after those were created, and are deleted when all users that are referencing the table disconnect from the instance of SQL Server. Local temporary table names are prefixed with a single number sign (#table_name), and global temporary table names are prefixed with a double number sign (##table_name). Temporary tables gets created under TempDB and uses space from TempDB system database. Temporary tables are lost after restart of SQL Server instance.

Examples:

Creating a local temporary table

CREATE TABLE #MyTempTable (cola INT PRIMARY KEY);

Inserting a value into local temporary table

INSERT INTO #MyTempTable VALUES (1);

Table Variables – Table variables are similar and an alternative of temporary tables. Table variable can be created using the special data type called TABLE. TABLE data type stores a result set for processing at a later time. TABLE data type is primarily used for temporary storage of a set of rows returned as the result set of a table-valued function.

Example:

Creating a Table Variable

DECLARE @TestTV TABLE ( Id int NOT NULL)

Inserting a value into table variable

INSERT INTO @TestTV (ID) values (1)

Differences between Temporary Tables and Table Variables – Although temporary tables and table variables sound similar and has some similar characteristics, but they also are different and is used for different purposes. Some of the differences are as mentioned below.

– Table variables have a well defined scope as they get cleared automatically at the end of the current batch of statements, where as temporary table will be visible to current session and nested stored procedures. Global Temporary table will be visible to the all the sessions.

– One can pass the table variable as a parameter to the SQL Server Stored Procedure, but temporary table cannot be passed as a parameter to the stored procedure.

– One can use the table variable inside the UDF (User Defined Function) where as temporary table cannot be used inside the UDF.

– DDL/DML operations against temporary tables are logged where are it is not logged for table variables.

– For smaller number of rows table variable yields better performance, but for larger number of rows temporary tables are preferred as we can create indexes for temporary tables which improves the performance.

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

Introduction to Triggers in SQL Server

SQLServerF1

A trigger in SQL Server is a special kind of stored procedure that automatically executes when an event occurs in the database server. There are different types of triggers available in SQL Server which include DML triggers, DDL triggers , or logon triggers. In SQL Server, Triggers can be created directly from Transact-SQL (T-SQL) statements or from methods of assemblies that are created in the Microsoft .NET Framework common language runtime (CLR) and uploaded to an instance of SQL Server. SQL Server allows for creating multiple number triggers for any specific statement.

DML Triggers get executed when a user tries to modify data through data manipulation language (DML) like INSERT, UPDATE, or DELETE statements on a table or view. DML triggers fire when any valid event is performed, regardless of whether or not any table rows are affected. DML triggers are mostly used for enforcing business rules and data integrity. If constraints exist on the trigger table, they are checked after the INSTEAD OF trigger execution and before the AFTER trigger execution.  If the constraints are violated, the INSTEAD OF trigger actions are rolled back and the AFTER trigger is not fired.

Example:

CREATE TRIGGER TestTrig
ON Sales.Customer
AFTER INSERT, UPDATE
AS RAISERROR (‘Customer Relations’, 16, 10);

DDL Triggers get executed in response to data definition language (DDL) events. These DDL events primarily correspond to Transact-SQL CREATE, ALTER, and DROP statements, and certain system stored procedures that perform DDL-like operations. DDL triggers do not fire in response to events that affect local or global temporary tables and stored procedures. DDL triggers are not scoped to schemas. Therefore, functions such as OBJECT_ID, OBJECT_NAME, OBJECTPROPERTY, and OBJECTPROPERTYEX cannot be used for querying metadata about DDL triggers.

Example:

CREATE TRIGGER DDLTrig
ON ALL SERVER
FOR CREATE_DATABASE
AS
PRINT ‘Database Created.’
GO

Logon Triggers get executed in response to the LOGON event that is raised when a user sessions is being established. These are useful in cases where you want to track which all users are connecting to the SQL Server instance and and write that information in to a table which can be later used to review. General use is for auditing purposes and sometimes to prevent actions when login happens from a suspicious computer. Logon triggers execute stored procedures in response to a LOGON event. This event is raised when a user session is established with an instance of SQL Server. Logon triggers fire after the authentication phase of logging in finishes, but before the user session is actually established. Therefore, all messages originating inside the trigger that would typically reach the user, such as error messages and messages from the PRINT statement, are diverted to the SQL Server error log.

Example:

CREATE TRIGGER LoginTrig
ON ALL SERVER WITH EXECUTE AS ‘testlogin’
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= ‘testlogin’ AND
(SELECT COUNT(*) FROM sys.dm_exec_sessions
WHERE is_user_process = 1 AND
original_login_name = ‘login_test’) > 3
ROLLBACK;
END;

 

This is applicable on below versions of SQL Server

SQL Server 2005
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014

Hope this was helpful.

Thanks,
SQLServerF1 Team
In-Depth Blogs on SQL Server, Information about SQL Server Conferences and Events, SQL Server Frequently asked questions, SQL Server Trainings.

 

Oracle Database Errors or Warnings from Error ORA-00131 to ORA-00150

SQLServerF1

ORA-00131: network protocol does not support registration ‘string’
Cause: The specified protocol does not support async notification.
Action: Refer to the manual for information on supported network protocols.
ORA-00132: syntax error or unresolved network name ‘string’
Cause: Listener address has syntax error or cannot be resolved.
Action: If a network name is specified, check that it corresponds to an entry in TNSNAMES.ORA or other address repository as configured for your system. Make sure that the entry is syntactically correct.
ORA-00133: value of string is too long
Cause: The value specified for the attribute was too long.
Action: Use shorter names and keywords or remove unneeded blanks.

ORA-00134: invalid DISPATCHERS specification #string
Cause: The syntax for the n-th DISPATCHERS specification was incorrect.
Action: Refer to the Oracle Reference Manual for the correct syntax.
ORA-00135: missing attribute string
Cause: The indicated mandatory attribute was not specified.
Action: Specify a non-null value for the attribute.
ORA-00136: invalid LISTENER_NETWORKS specification #string
Cause: The syntax for the nth LISTENER_NETWORKS specification was invalid.
Action: Refer to the Oracle Reference Manual for the correct syntax.

ORA-00137: invalid LISTENER_NETWORKS specification with NAME=string
Cause: The syntax for the LISTENER_NETWORKS specification with the indicated NAME was invalid.
Action: Refer to the Oracle Reference Manual for the correct syntax.
ORA-00138: all addresses specified for attribute string are invalid
Cause: All of the specified addresses or aliases for the attribute were invalid.
Action: Specify at least one valid address or alias.
ORA-00139: duplicate attribute string
Cause: The indicated attribute was specified more than once.
Action: Specify the attribute at most once.
ORA-00150: duplicate transaction ID
Cause: Attempted to start a new transaction with an ID already in use by an existing transaction.
Action: Check your application.

Above are list of Oracle Database Errors or Warnings from Error ORA-00131 to ORA-00150 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00122 to ORA-00130

SQLServerF1

ORA-00122: cannot initialize network configuration

Cause: ORACLE could not initialize SQL*Net version 2.
Action: Check the error stack for detailed information.
ORA-00123: idle public server terminating
Cause: Too many idle servers were waiting on the common queue.
Action: This error is used internally, no action is required.

ORA-00125: connection refused; invalid presentation
Cause: The PRESENTATION in the CONNECT_DATA of the TNS address DESCRIPTION is not correct or is not supported.
Action: Correct the PRESENTATION specified in the TNS address.
ORA-00126: connection refused; invalid duplicity
Cause: The DUPLICITY in the CONNECT_DATA of the TNS address DESCRIPTION is not correct or is not supported.
Action: Correct the DUPLICITY specified in the TNS address.

ORA-00127: dispatcher string does not exist
Cause: There is currently no dispatcher running with the specified name.
Action: Retry with a name of the form “D###” denoting an existing dispatcher process.
ORA-00128: this command requires a dispatcher name
Cause: Wrong syntax for ALTER SYSTEM SHUTDOWN
Action: Use correct syntax: ALTER SYSTEM SHUTDOWN [ IMMEDIATE ] ‘dispatcher name’
ORA-00129: listener address validation failed ‘string’
Cause: An error was encountered while validating the listener address.
Action: Resolve error or contact your ORACLE representative.
ORA-00130: invalid listener address ‘string’
Cause: The listener address specification is not valid.
Action: Make sure that all fields in the listener address (protocol, port, host, key, …) are correct.

Above are list of Oracle Database Errors or Warnings from Error ORA-00122 to ORA-00130 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00101 to ORA-00119

SQLServerF1

ORA-00101: invalid specification for system parameter DISPATCHERS
Cause: The syntax for the DISPATCHERS parameter is incorrect.
Action: Refer to the manual for correct syntax.
ORA-00102: network protocol string cannot be used by dispatchers
Cause: The network specified in DISPATCHERS does not have the functionality required by the dispatchers.
Action: Refer to the manual on network protocols supported by the dispatchers.
ORA-00103: invalid network protocol; reserved for use by dispatchers
Cause: The network specified in the SQL*Net connect string is reserved for use by the dispatchers.
Action: Specify other network protocols in the connection string.
ORA-00104: deadlock detected; all public servers blocked waiting for resources
Cause: All available public servers are servicing requests that require resources locked by a client which is unable to get a public server to release the resources.
Action: Increase the limit for the system parameter MAX_SHARED_SERVERS as the system will automaticaly start up new servers to break the deadlock until the number of servers reaches the value specified in MAX_SHARED_SERVERS.

ORA-00105: too many dispatcher configurations
Cause: Too many dispatcher configurations have been specified. No more can be added.
Action: Consolidate the dispatcher configurations if possible.
ORA-00106: cannot startup/shutdown database when connected to a dispatcher
Cause: An attempt was made to startup/shutdown database when connected to a shared server via a dispatcher.
Action: Re-connect as user INTERNAL without going through the dispatcher. For most cases, this can be done by connect to INTERNAL without specifying a network connect string.
ORA-00107: failed to connect to ORACLE listener process
Cause: Most likely due to the fact that ORACLE listener has not been started.
Action: Start ORACLE listener if it has not been started. Or else contact your ORACLE representative.
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Cause: Most likely due to the fact that the network protocol used by the the dispatcher does not support aynchronous operations.
Action: Contact your ORACLE representative.
ORA-00109: invalid value for attribute string: string
Cause: The value specified for the attribute was incorrect.
Action: Refer to the manual for the proper values.

ORA-00110: invalid value string for attribute string, must be between string and string
Cause: The value specified for the attribute was incorrect.
Action: Specify a value within the range allowed.
ORA-00111: invalid attribute string
Cause: The specified attribute was not recognized.
Action: Refer to the manual for the proper keyword to use to specify a dispatcher attribute.
ORA-00112: value of string is null
Cause: The attribute was specified with no value.
Action: Specify a non-null value.
ORA-00113: protocol name string is too long
Cause: A protocol name specified in the DISPATCHERS system parameter is too long.
Action: Use a valid protocol name for the DISPATCHERS value.
ORA-00114: missing value for system parameter SERVICE_NAMES
Cause: No value was specified for the SERVICE_NAMES system parameter, nor for the DB_NAME parameter.
Action: Add an SERVICE_NAMES or DB_NAME definition to the INIT.ORA file. By default, SERVICE_NAMES is the value of DB_NAME unless SERVICE_NAMES is explicitly specified.
ORA-00115: connection refused; dispatcher connection table is full
Cause: A connection request was refused by a dispatcher because the dispatcher cannot support any more connections.
Action: Connect to a different dispatcher, or use a dedicated server.
ORA-00116: SERVICE_NAMES name is too long
Cause: A service name specified in the SERVICE_NAMES system parameter is too long.
Action: Use a shorter name in the SERVICE_NAMES value (<= 255 chars).
ORA-00117: PROTOCOL, ADDRESS or DESCRIPTION must be specified
Cause: PROTOCOL, ADDRESS or DESCRIPTION was not specified.
Action: Use one of the attributes: PROTOCOL, ADDRESS or DESCRIPTION to specify the listening address for dispatchers.
ORA-00118: Only one of PROTOCOL, ADDRESS or DESCRIPTION may be specified
Cause: More than one of PROTOCOL, ADDRESS or DESCRIPTION was specified.
Action: Use only one of the attributes: PROTOCOL, ADDRESS or DESCRIPTION to specify the listening address for dispatchers.
ORA-00119: invalid specification for system parameter string
Cause: The syntax for the specified parameter is incorrect.
Action: Refer to the Oracle Reference Manual for the correct syntax.

Above are list of Oracle Database Errors or Warnings from Error ORA-00101 to ORA-00119 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00081 to ORA-00100

SQLServerF1

ORA-00081: address range [string, string) is not readable
Cause: An attempt was made to read/write an invalid memory address range.
Action: Try another address or length.
ORA-00082: memory size of string is not in valid set of [1], [2], [4]stringstringstringstringstring
Cause: An invalid length was specified for the POKE command.
Action: Use a valid length (either 1, 2, 4, or possibly 8).
ORA-00083: warning: possibly corrupt SGA mapped
Cause: Even though there may be SGA corruptions, the SGA was mapped.
Action: Use the DUMPSGA command to dump the SGA.
ORA-00084: global area must be PGA, SGA, or UGA
Cause: An attempt was made to dump an invalid global area.
Action: Specify either PGA, SGA, or UGA.

ORA-00085: current call does not exist
Cause: An invalid attempt was made to dump the current call heap.
Action: Wait until the process starts a call.
ORA-00086: user call does not exist
Cause: An invalid attempt was made to dump the user call heap.
Action: Wait until the process starts a call.
ORA-00087: command cannot be executed on remote instance
Cause: Cluster database command issued for non cluster database ORADEBUG command.
Action: Issue the command without the cluster database syntax.
ORA-00088: command cannot be executed by shared server
Cause: Debug command issued on shared server.
Action: Reissue the command using a dedicated server.
ORA-00089: invalid instance number in ORADEBUG command
Cause: An invalid instance number was specified in a cluster database ORADEBUG command.
Action: Reissue the command with valid instance numbers.

ORA-00090: failed to allocate memory for cluster database ORADEBUG command
Cause: Could not allocate memory needed to execute cluster database oradebug.
Action: Reissue the command on each instance with single-instance oradebug.
ORA-00091: LARGE_POOL_SIZE must be at least string
Cause: The value of LARGE_POOL_SIZE is below the minimum size.
Action: Increase the value of LARGE_POOL_SIZE past the minimum size.
ORA-00092: LARGE_POOL_SIZE must be greater than LARGE_POOL_MIN_ALLOC
Cause: The value of LARGE_POOL_SIZE is less than the value of LARGE_POOL_MIN_ALLOC.
Action: Increase the value of LARGE_POOL_SIZE past the value of LARGE_POOL_MIN_ALLOC.
ORA-00093: string must be between string and string
Cause: The parameter value is not in a valid range.
Action: Modify the parameter value to be within the specified range.
ORA-00094: string requires an integer value
Cause: The parameter value is not an integer.
Action: Modify the parameter value to be an integer.
ORA-00096: invalid value string for parameter string, must be from among string
Cause: The value for the initialization parameter is invalid.
Action: Choose a value as indicated by the message.
ORA-00097: use of Oracle SQL feature not in SQL92 string Level
Cause: Usage of Oracle’s SQL extensions.
Action: None
ORA-00098: creating or mounting the database requires a parameter file
Cause: An attempt was made to create or mount the database when the instance was started without a parameter file.
Action: Restart the instance with a parameter file.
ORA-00099: warning: no parameter file specified for string instance
Cause: Even though no parameter file was specified, the instance was started with all default values.
Action: None
ORA-00100: no data found
Cause: An application made reference to unknown or inaccessible data.
Action: Handle this condition within the application or make appropriate modifications to the application code. NOTE: If the application uses Oracle-mode SQL instead of ANSI-mode SQL, ORA-01403 will be generated instead of ORA-00100.

Above are list of Oracle Database Errors or Warnings from Error ORA-00081 to ORA-00100 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00061 to ORA-00080

SQLServerF1

ORA-00061: another instance has a different DML_LOCKS setting
Cause: The shared instance being started is using DML locks, and the running instances are not, or vice-versa.
Action: Ensure that all instances’ INIT.ORA files specify the DML_LOCKS parameter as 0 or all as non-zero.
ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0
Cause: The instance was started with DML_LOCKS = 0, and the statement being executed needs a full-table lock (S, X, or SSX).
Action: Restart the instance with DML_LOCKS not equal to zero, and reexecute the statement.
ORA-00063: maximum number of log files exceeded string
Cause: The number of log files specificied exceeded the maximum number of log files supported in this release.
Action: Re-create the control file with the highest number of log files no greater than the maximum supported in this release.
ORA-00064: object is too large to allocate on this O/S (string,string,string)
Cause: An initialization parameter was set to a value that required allocating more contiguous space than can be allocated on this operating system.
Action: Reduce the value of the initialization parameter.

ORA-00065: initialization of FIXED_DATE failed
Cause: The FIXED_DATE string was not in date format yyyy-mm-dd:hh24:mi:ss.
Action: Make sure the initialization parameter is in the correct date format.
ORA-00066: SID ‘string’ contains an illegal character or is too long
Cause: The specified SID contained an illegal character or the SID specified was too long, which cannot occur in an SPFILE setting. Illegal characters include ,#”‘=() and whitespace.
Action: Use a SID that does not contain a special character or whitespace. Check platform specific documentation for the maximum length of SID.
ORA-00067: invalid value string for parameter string; must be at least string
Cause: The value for the initialization parameter is invalid.
Action: Choose a value as indicated by the message.
ORA-00068: invalid value string for parameter string, must be between string and string
Cause: The value for the initialization parameter is invalid.
Action: Choose a value as indicated by the message.
ORA-00069: cannot acquire lock — table locks disabled for string
Cause: A command was issued that tried to lock the table indicated in the message. Examples of commands that can lock tables are: LOCK TABLE, ALTER TABLE … ADD (…), and so on.
Action: Use the ALTER TABLE … ENABLE TABLE LOCK command, and retry the command.

ORA-00070: command string is not valid
Cause: An invalid debugger command was specified.
Action: Type HELP to see the list of available commands.
ORA-00071: process number must be between 1 and string
Cause: An invalid process number was specified.
Action: Specify a valid process number.
ORA-00072: process “string” is not active
Cause: An invalid process was specified.
Action: Specify a valid process.
ORA-00073: command string takes between string and string argument(s)
Cause: An incorrect number of arguments was specified.
Action: Specify the correct number of arguments. Type HELP to see the list of commands and their syntax.
ORA-00074: no process has been specified
Cause: No debug process has been specified.
Action: Specify a valid process.
ORA-00075: process “string” not found in this instance
Cause: The specified process was not logged on to the current instance.
Action: Specify a valid process.
ORA-00076: dump string not found
Cause: An attempt was made to invoke a dump that does not exist.
Action: Type DUMPLIST to see the list of available dumps.
ORA-00077: dump string is not valid
Cause: An attempt was made to invoke an invalid dump.
Action: Try another dump.
ORA-00078: cannot dump variables by name
Cause: An attempt was made to dump a variable by name on a system that does not support this feature.
Action: Try the PEEK command.
ORA-00079: variable string not found
Cause: An attempt was made to dump a variable that does not exist.
Action: Use a valid variable name.
ORA-00080: invalid global area specified by level string
Cause: An attempt was made to dump an invalid global area.
Action: Use level 1 for the PGA, 2 for the SGA, and 3 for the UGA. Use <extra + level> to dump global area <level> as well as <extra> bytes for every pointer; <extra> must be a multiple of 4.

Above are list of Oracle Database Errors or Warnings from Error ORA-00061 to ORA-00080 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00041 to ORA-00060

SQLServerF1

ORA-00041: active time limit exceeded – session terminated
Cause: The Resource Manager SWITCH_TIME limit was exceeded.
Action: Reduce the complexity of the update or query, or contact your database administrator for more information.
ORA-00042: Unknown Service name string
Cause: An attempt was made to use an invalid application service.
Action: Use a valid service name from SERVICE$ or add a new service using the DBMS_SERVICE package.
ORA-00043: remote operation failed
Cause: Execution of the inter-instance operation failed.
Action: Check the status of the target instance. The operation may have partially executed. Verify the result of the intended operation.
ORA-00044: timed_statistics must be TRUE when statistics_level is not BASIC
Cause: The user attempted to set timed_statistics to FALSE when statistics_level was not BASIC. timed_statistics is required to be TRUE to collect meaningful statistics when statistics_level is set to TYPICAL or ALL.
Action: Either set timed_statistics to TRUE or set statistics_level to BASIC.

ORA-00050: operating system error occurred while obtaining an enqueue
Cause: Could not obtain the operating system resources necessary to cover an oracle enqueue. This is normally the result of an operating system user quota that is too low.
Action: Look up the operating system error in your system documentation and perform the needed action.
ORA-00051: timeout occurred while waiting for a resource
Cause: Usually due to a dead instance.
Action: Check for any dead, unrecovered instances and recover them.
ORA-00052: maximum number of enqueue resources (string) exceeded
Cause: Ran out of enqueue resources.
Action: Increase the value of the ENQUEUE_RESOURCES initialization parameter.
ORA-00053: maximum number of enqueues exceeded
Cause: Ran out of enqueue state objects.
Action: Increase the value of the ENQUEUES initialization parameter.
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
Cause: Interested resource is busy.
Action: Retry if necessary or increase timeout.

ORA-00055: maximum number of DML locks exceeded
Cause: Ran out of DML lock state objects.
Action: Increase the value of the DML_LOCKS initialization parameter and warm start.
ORA-00056: DDL lock on object ‘string.string’ is already held in an incompatible mode
Cause: An attempt was made to acquire a DDL lock that is already locked.
Action: This happens if you attempt to drop a table that has parse locks on it.
ORA-00057: maximum number of temporary table locks exceeded
Cause: The number of temporary tables equals or exceeds the number of temporary table locks. Temporary tables are often created by large sorts.
Action: Increase the value of the TEMPORARY_TABLE_LOCKS initialization parameter and warm start.
ORA-00058: DB_BLOCK_SIZE must be string to mount this database (not string)
Cause: DB_BLOCK_SIZE initialization parameter is wrong for the database being mounted. It does not match the value used to create the database.
Action: Fix the value of the DB_BLOCK_SIZE parameter or mount a database that matches the value.
ORA-00059: maximum number of DB_FILES exceeded
Cause: The value of the DB_FILES initialization parameter was exceeded.
Action: Increase the value of the DB_FILES parameter and warm start.
ORA-00060: deadlock detected while waiting for resource
Cause: Transactions deadlocked one another while waiting for resources.
Action: Look at the trace file to see the transactions and resources involved. Retry if necessary.

Above are list of Oracle Database Errors or Warnings from Error ORA-00041 to ORA-00060 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00025 to ORA-00040

SQLServerF1

ORA-00025: failed to allocate string
Cause: Out of memory.
Action: Restart with larger sga heap.
ORA-00026: missing or invalid session ID
Cause: Missing or invalid session ID string for ALTER SYSTEM KILL SESSION.
Action: Retry with a valid session ID.
ORA-00027: cannot kill current session
Cause: Attempted to use ALTER SYSTEM KILL SESSION to kill the current session.
Action: None

ORA-00028: your session has been killed
Cause: A privileged user has killed your session and you are no longer logged on to the database.
Action: Login again if you wish to continue working.
ORA-00029: session is not a user session
Cause: The session ID specified in an ALTER SYSTEM KILL SESSION command was not a user session (for example, recursive, etc.).
Action: Retry with a user session ID.
ORA-00030: User session ID does not exist.
Cause: The user session ID no longer exists, probably because the session was logged out.
Action: Use a valid session ID.
ORA-00031: session marked for kill
Cause: The session specified in an ALTER SYSTEM KILL SESSION command cannot be killed immediately (because it is rolling back or blocked on a network operation), but it has been marked for kill. This means it will be killed as soon as possible after its current uninterruptable operation is done.
Action: No action is required for the session to be killed, but further executions of the ALTER SYSTEM KILL SESSION command on this session may cause the session to be killed sooner.

ORA-00032: invalid session migration password
Cause: The session migration password specified in a session creation call was invalid (probably too long).
Action: Retry with a valid password (less than 30 chars).
ORA-00033: current session has empty migration password
Cause: An attempt was made to detach or clone the current session and it has an empty migration password. This is not allowed.
Action: Create the session with a non-empty migration password.
ORA-00034: cannot string in current PL/SQL session
Cause: An attempt was made to issue a commit or rollback from a PL/SQL object (procedure, function, package) in a session that has this disabled (by ‘alter session disable commit in procedure’)
Action: Enable commits from PL/SQL in this session, or do not attempt to use commit or rollback in PL/SQL when they are disabled in the current session.
ORA-00036: maximum number of recursive SQL levels (string) exceeded
Cause: An attempt was made to go more than the specified number of recursive SQL levels.
Action: Remove the recursive SQL, possibly a recursive trigger.
ORA-00037: cannot switch to a session belonging to a different server group
Cause: An attempt was made to switch to a session in a different server group. This is not allowed.
Action: Make sure the server switches to a session that belongs to its server group.
ORA-00038: Cannot create session: server group belongs to another user
Cause: An attempt was made to create a non-migratable session in a server group that is owned by a different user.
Action: A server group is owned by the first user who logs into a server in the server group in non-migratable mode. All subsequent non-migratable mode logins must be made by the user who owns the server group. To have a different user login in non-migratable mode, the ownership of the server group will have to be changed. This can be done by logging off all current sessions and detaching from all existing servers in the server group and then having the new user login to become the new owner.
ORA-00039: error during periodic action
Cause: An unexpected error occurred while executing a periodically invoked
Action: Check the error stack for detailed error information.
ORA-00040: active time limit exceeded – call aborted
Cause: The Resource Manager SWITCH_TIME limit was exceeded.
Action: Reduce the complexity of the update or query, or contact your database administrator for more information.

Above are list of Oracle Database Errors or Warnings from Error ORA-00025 to ORA-00040 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 

Oracle Database Errors or Warnings from Error ORA-00000 to ORA-00024

SQLServerF1

ORA-00000: normal, successful completion

Cause: Normal exit.
Action: None

ORA-00001: unique constraint (string.string) violated
Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. For Trusted Oracle configured in DBMS MAC mode, you may see this message if a duplicate entry exists at a different level.

Action: Either remove the unique restriction or do not insert the key.

ORA-00017: session requested to set trace event
Cause: The current session was requested to set a trace event by another session.
Action: This is used internally; no action is required.

ORA-00018: maximum number of sessions exceeded
Cause: All session state objects are in use.
Action: Increase the value of the SESSIONS initialization parameter.

ORA-00019: maximum number of session licenses exceeded
Cause: All licenses are in use.
Action: Increase the value of the LICENSE MAX SESSIONS initialization parameter.

ORA-00020: maximum number of processes (string) exceeded
Cause: All process state objects are in use.
Action: Increase the value of the PROCESSES initialization parameter.

ORA-00021: session attached to some other process; cannot switch session
Cause: The user session is currently used by others.
Action: Do not switch to a session attached to some other process.

ORA-00022: invalid session ID; access denied
Cause: Either the session specified does not exist or the caller does not have the privilege to access it.
Action: Specify a valid session ID that you have privilege to access, that is either you own it or you have the CHANGE_USER privilege.

ORA-00023: session references process private memory; cannot detach session
Cause: An attempt was made to detach the current session when it contains references to process private memory.
Action: A session may contain references to process memory (PGA) if it has an open network connection, a very large context area, or operating system privileges. To allow the detach, it may be necessary to close the session’s database links and/or cursors. Detaching a session with operating system privileges is always disallowed.

ORA-00024: logins from more than one process not allowed in single-process mode

Cause: Trying to login more than once from different processes for ORACLE started in single-process mode.
Action: Logoff from the other process.

Above are list of Oracle Database Errors or Warnings from Error ORA-00000 to ORA-00024 received while performing certain operation against Oracle Database or related products.

What are Oracle Database Error Messages?

Oracle Error Messages may be returned while using products which are part of Oracle Database.  Each Oracle Database Error or Warning Message mentioned above contains the Warning or Error Message Statement, a short explanation of the probable causes of the Error message, and a recommended action.

Hope this was helpful.

Thanks,
SQLServerF1 Team
Information about Oracle Database Error Messages or Warning Messages on Windows and Linux Operating Systems.

 
1 2 3 5