Menu Close

sqlplus -prelim 登录数据库实例

如果您无法登录到数据库,例如由于 ORA-00020 超出最大进程数,那么您可以使用 -prelim 选项。
在 sqlplus 10.1 版及更高版本的注释 121779.1 中记录:
在某些情况下,实例上不允许连接(例如在某些 ORA-20 情况下)。
从 10.1.x 开始,SQL*Plus 提供了一个新选项,允许访问实例以生成跟踪文件。

sqlplus -prelim / as sysdba

注意:只有以 sysdba 的身份才可以连接。

如果是非 sysdba 用户使用 -prelim选项则会报如下错误:

# 登录命令
sqlplus -prelim system/manager
# 报错如下:
SQL*Plus:...
ERROR:
ORA-24300: bad value for mode
And very little access is granted
SQL> select * from dual;
select * from dual
*
ERROR at line 1:
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0

特别注意:

  1. 登录后仅可以运行shutdown abort命令关闭该数据库实例,然后再重新启动该数据库实例,

  2. 我们不直接重启服务器,因为服务器上可能有其他的数据库实例在正常运行。

  3. 当数据库实在没有办法登录的情况下才使用该命令登录数据库实例,否则请优先考虑断开/终止某些用户会话以获取常规 sqlplus / as sysdba,因为shutdown abort命令可能会导致数据库文件损坏。