Oracle错误号大全(查询ora错误号以及解决方法技巧)


Oracle 查询ora错误号以及解决方法技巧 racle 错误号以及解决方法技巧 经常有朋友问我ORACLE 类似ora-00109 错误的信息,其实我们的ORACLE系统本身已经为我们详细的说明了各种的错误信息,一般的ORA错误号都在里面,而且给出了相应的解决方法。

在UNIX 系统下只要执行这个命令就可以列出错误原因以及解决方法了。

例如ora-00109错误,只要这样
 [oracle@mail oracle]$ oerr ora 109
01090, 00000, "shutdown in progress - connection is not permitted"
// *Cause:  The SHUTDOWN command was used to shut down a running
//         ORACLE instance, so you cannot connect to ORACLE.
// *Action: Wait for the instance to be restarted, or contact your DBA.
01091, 00000, "failure during startup force"
// *Cause:  Unable to destroy the old SGA.
// *Action: Manually remove the old SGA and reissue the STARTUP command
01092, 00000, "ORACLE instance terminated. Disconnection forced"
// *Cause:  The instance this process was connected to was terminated
//          abnormally, probably via a shutdown abort. This process
//          was forced to disconnect from the instance.
// *Action: Examine the alert log for more details. When the instance has been
//          restarted, retry action.
01093, 00000, "ALTER DATABASE CLOSE only permitted with no sessions connected"
// *Cause:  There is at least one more session other than the current one
//         logged into the instance.  ALTER DATABASE CLOSE is not permitted.
// *Action: Find the other sessions and log them out and resubmit the command
01094, 00000, "ALTER DATABASE CLOSE in progress. Connections not permitted"
// *Cause:
// *Action:
01095, 00000, "DML statement processed zero rows"
// *Cause:  During a call to OTEX, an update, delete, or insert statement
//          being executed processed zero rows.  The execution
//          of statements by OTEX was halted at this point.
// *Action:
01096, 00000, "program version (%s) incompatible with instance (%s)"
// MERGE: 1095 RENUMBERED TO 1096
// *Cause: A program is trying to connect to an instance using a different
//         version of code than the database was started with.  This is
//         not allowed.
// *Action: Either relink the program with the same version as the database or
//          restart the database using the old version of code.
01097, 00000, "cannot shutdown while in a transaction - commit or rollback first                                              "
// *Cause:  Obvious
// *Action:
01098, 00000, "program Interface error during Long Insert"
// *Cause:
// *Action:
01099, 00000, "cannot mount database in SHARED mode if started in single process                                               mode"
// *Cause:  Obvious
// *Action:

上面只是个例子,其他的错误号都可以通过这个方法得到。
其实ORACLE本身还有很多不错的东西,很多工具,不过十大家没去研究而已。
希望对大家有帮助。 [align=right][color=#000066][此贴子已经被作者于2007-6-28 16:52:10编辑过][/color][/align] ---------数据恢复 oracle数据库恢复专家 13352468096 QQ:9417901 网站:http://www.sosdb.com-----
下面是查询:0003的错误信息,很全面了。
[oracle@mail oracle]$ oerr ora 3
00030, 00000, "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.
00031, 00000, "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.
00032, 00000, "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).
00033, 00000, "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.
00034, 00000, "cannot %s 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.
00035, 00000, "LICENSE_MAX_USERS cannot be less than current number of users"
// *Cause:
// *Action:
00036, 00000, "maximum number of recursive SQL levels (%s) 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.
00037, 00000, "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.
00038, 00000, "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.
[oracle@mail oracle]$ oerr ora 3
00030, 00000, "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.
00031, 00000, "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.
00032, 00000, "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).
00033, 00000, "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.
00034, 00000, "cannot %s 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.
00035, 00000, "LICENSE_MAX_USERS cannot be less than current number of users"
// *Cause:
// *Action:
00036, 00000, "maximum number of recursive SQL levels (%s) 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.
00037, 00000, "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.
00038, 00000, "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.
[oracle@mail oracle]$ oerr ora 3
00030, 00000, "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.
00031, 00000, "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.
00032, 00000, "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).
00033, 00000, "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.
00034, 00000, "cannot %s 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.
00035, 00000, "LICENSE_MAX_USERS cannot be less than current number of users"
// *Cause:
// *Action:
00036, 00000, "maximum number of recursive SQL levels (%s) 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.
00037, 00000, "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.
00038, 00000, "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.

相关内容