你想要暂停执行大型数据库的操作,然后恢复,如果空间分配失败。
RESUMABLE_TIMEOUT初始化参数的值设置为3600。
这两个语句是真的吗?
。在执行语句之前可恢复的模式下,改变会话使可恢复的声明必须在其会话
B。数据操作语言(DML)操作是可恢复的,如果他们不是嵌入在PL/SQL块。
C。可恢复的声明可以暂停和恢复执行期间只有一次。
D。暂停声明将报告一个错误如果没有纠正措施发生超时期间。
E。自动暂停声明导致暂停交易和释放所有资源的事务。
答:广告
【解析】
可恢复空间分配的工作方式为:
仅当通过以下操作之一为语句的会话启用了可恢复空间分配时,该语句才以可恢复模式执行:
该改变会话使可恢复的声明是在语句执行前的会议时发出的RESUMABLE_TIMEOUT初始化参数设置为非零值。
该改变会话使可恢复的超时timeout_value语句在执行之前在会话中发出,并且timeout_value是非零值。
当出现以下情况之一时,可恢复语句被挂起(这些条件导致非可恢复语句被发出相应的错误信号):
空间不足
达到最大范围的条件
超出空间配额条件。
当中止可恢复语句的执行时,有一些机制可以执行用户提供的操作,记录错误以及查询语句执行的状态。暂停可恢复语句后,将执行以下操作:
该错误在警报日志中报告。
系统发出“可恢复的会话已挂起“警报。
如果用户在暂停后系统事件上注册了触发器,则将执行用户触发器。用户提供的PL/SQL过程可以使用DBMS_RESUMABLE包和DBA_或USER_RESUMABLE视图访问错误消息数据。
挂起语句会自动导致挂起事务。因此,所有事务资源都通过语句中止和恢复来保留。
解决错误情况后(例如,由于用户干预或其他查询释放的排序空间),被挂起的语句将自动恢复执行,并清除“可恢复的会话被挂起“警报。
可以使用该DBMS_RESUMABLE.ABORT()过程强制执行已暂停的语句引发异常.DBA或发出该语句的用户可以调用此过程。
由RESUMABLE_TIMEOUT初始化参数或改变会话使可恢复的超时语句中的超时值指定的暂停超时间隔与可恢复语句相关联。如果在超时间隔内未解决错误条件,则会暂停在超时间隔内暂停的可恢复语句,并将异常返回给用户。
可恢复语句可以在执行期间被挂起和恢复多次。
【官方手册】
https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-space-for-schema-objects.html guid - 46 ae3fd8 - 95 - d4 - 4 - cfa - 9 - f3c世锦赛b80c5afde75b