gpt4 book ai didi

sql - 故意在 Oracle 中引起 ORA-00600 异常

转载 作者:行者123 更新时间:2023-12-04 16:44:32 24 4
gpt4 key购买 nike

出于测试目的,我需要几个 SQL 脚本,它们会导致 ORA-00600 Oracle 版本 11.1.0.7 中的错误。

该数据库不是空的,它填充了全新安装的 Vision Demo E-Business Suite 的数据。

该系统是学习甲骨文的学生的训练场。它将用于培养他们的故障排除技能。
为什么是 SQL?因为这个脚本复制应该是自动化的。我们将随机出现问题,以创建一个真正的窃听系统模型,以掌握故障排除事件。

我真正需要的是 4-5 种不同的方式来引起 ORA-00600错误。

注意:这个问题不是要解释什么是 ORA-600 错误,或者如何解决它们。这个问题是关于故意导致 ORA-600 错误的。

最佳答案

你不能引起 ORA-00600 “自然”;这是一个涵盖内部 Oracle 异常的通用异常。因此,除非您知道导致此问题的 Oracle 错误或想要故意破坏您的数据库,否则您没有机会。

你能做的是raise an application error你自己,它可以模仿那个异常:

declare
internal_exception EXCEPTION;
PRAGMA EXCEPTION_INIT( internal_exception, -600 );
begin
raise internal_exception;
end;
/
declare
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: at line 5

如果必须从 SQL 执行此操作,则可以将上述内容转换为函数:
create or replace function raise_600 return number is
internal_exception EXCEPTION;
PRAGMA EXCEPTION_INIT( internal_exception, -600 );
begin
raise internal_exception;
return 1;
end;

然后只需调用它:
select raise_600 from dual

关于sql - 故意在 Oracle 中引起 ORA-00600 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com