Oracle 11g 和调度程序

Oracle 11g and scheduler

如何在禁用调度程序作业的情况下启动数据库?

我有一个导致数据库停止的 Oracle 内部错误。此错误发生在作业有权访问的 table 上。当我启动数据库时(使用sqlplus启动),数据库立即停止,因为作业已启动。

另一种选择是,当我关闭数据库时,我能否以某种方式删除损坏的 table 或作业?

以装载模式启动数据库并将作业队列进程设置为零

sql>startup mount
sql>show parameter job_queue_processes
PARAMETER_NAME                                               TYPE        VALUE
------------------------------------------------------------ ----------- ----------
job_queue_processes                                          integer     4000
sql>alter system set job_queue_processes=0;
sql> alter database open;

修复 table 导致实例崩溃并将作业队列进程恢复为原始值并反弹实例

SQL>ALTER SYSTEM SET job_queue_processes=4000;
SQL>startup force;

alert.log 文件中的相关行

2020-09-24T10:10:17.295728-05:00
Completed: ALTER DATABASE   MOUNT
2020-09-24T10:11:07.875673-05:00
ALTER SYSTEM SET job_queue_processes=0 SCOPE=BOTH; 
2020-09-24T10:13:30.255114-05:00
alter database open
---------
2020-09-24T10:33:10.232345-05:00
ALTER SYSTEM SET job_queue_processes=4000 SCOPE=BOTH;