1. The user running the transaction requires the RESUMABLE system privilege:
SQL> conn system/oracle
Connected.
SQL> grant resumable to scott;
Grant succeeded.
resumable权限也被包含在其它role里面,比如dba,当一个用户拥有dba role时,就自动拥有了resumable privilege.
2. Set the session so that the following transactions might be resumed in case of interruption due to space allocation:
SQL> alter session enable resumable;
Session altered.
This can be set automatically through anAFTER LOGON trigger.
--也可以通过触发器来自动设置
SQL> create or replace trigger logon_set_resumable
2 after logon
3 on scott.schema
4 begin
5 execute immediate 'alter session enable resumable timeout 1200';
6 end;
7 /
Trigger created.
3. While inserting newrows into TEST_RESUMABLE table, the user session hangs,but the transaction doesnot roll back:
The DBA can retrieve(得到;取到) the reason why the session of user SCOTT hangs in DBA_RESUMABLE view:
3.1 Displaying the DBA_RESUMABLE view:
SQL> select user_id,SESSION_ID, STATUS, START_TIME, SUSPEND_TIME,
2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
3 from dba_resumable;
USER_ID SESSION_ID STATUS START_TIME SUSPEND_TIME
---------- ---------- --------- -------------------- --------------------
SQL_TEXT
-------------------------------------------------------------------------
ERROR_NUMBER
------------
ERROR_MSG
-------------------------------------------------------------------------
54 9 SUSPENDED 03/14/01 10:49:25 03/14/01 11:14:17
insert into test_resumable select * from test_resumable
1631
ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
3.2 In alert.log file:
Wed Mar 14 11:14:17 2001
statement in resumable session 'User SCOTT(54), Session 9, Instance 1'was suspended due to ORA-01631: max # extents (5) reached in table SCOTT.TEST_RESUMABLE
3.3 The statement may issue the following error when the timeout set for the session has expired:
SQL> insert into test_resumable values (1);
insert into test_resumable values (1)
*
ERROR at line 1:
ORA-30032: the suspended (resumable) statement has timed out
ORA-01536: space quota exceeded for tablespace 'EXAMPLE'
3.4 The DBA now knows why the session hangs, and needs to find which action to take to alleviate the ora-01536 error:
SQL> connect system/manager
Connected.
SQL> alter table scott.test_resumable storage (max extents 8);
Table altered.
In alert.log file:
Wed Mar 14 11:24:02 2001
statement in resumable session 'User SCOTT(54), Session 9, Instance 1'
was resumed and no more errors in DBA_RESUMABLE view:
SQL>select user_id,SESSION_ID, STATUS, START_TIME, RESUME_TIME,
2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
3 from dba_resumable;
USER_ID SESSION_ID STATUS START_TIME RESUME_TIME
---------- ---------- --------- -------------------- --------------------
SQL_TEXT
-------------------------------------------------------------------------
ERROR_NUMBER
------------
ERROR_MSG
-------------------------------------------------------------------------
54 9 NORMAL 03/14/01 10:49:25 03/14/01 11:24:02
insert into test_resumable select * from test_resumable
0
While the status is NORMAL or the error_number is 0, the resumable statements keep on working correctly unless the timeout is expired.
This also means that there are sessions set in resumable state.
As soon as an error_number <> 0 appears, then a resumable session has encountered a space allocation issue.
Note:
The DBA can cancel the resumable transaction by aborting the session by the procedure DBMS_RESUMABLE.ABORT(sid#). An ORA-1013 "user requested cancel of current operation" is returned to the user.
3.5 If the session does not need to be in resumable state, the session can disable the resumable state:
SQL> alter session disable resumable;
Session altered.
SQL> select user_id,SESSION_ID, STATUS, START_TIME, RESUME_TIME,
2 SQL_TEXT, ERROR_NUMBER, ERROR_MSG
3 from dba_resumable;
no rows selected
3.6 Other space errors that suspend transactions
-------------------------------------------------------------------
***
statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was suspended due to ORA-01536: space quota exceeded for tablespace 'EXAMPLE'
***
statement in resumable session 'User SCOTT(54), Session 8, Instance 1' was suspended due to ORA-01562: failed to extend rollback segment number 11
***
statement in resumable session 'User SCOTT(54), Session 8, Instance 1' was suspended due to ORA-01628: max # extents (2) reached for rollback segment RS01 FULL status of rollback segment 11 set
***
statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was suspended due to ORA-01631: max # extents (2) reached in table SCOTT.TEST_RESUMABLE
***
statement in resumable session 'User SYSTEM(5), Session 8, Instance 1' was suspended due to ORA-01652: unable to extend temp segment by 32 in tablespace TEMP_TS
***
statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was suspended due to ORA-01653: unable to extend table SCOTT.TEST_RESUMABLE by 256 in tablespace USERS
***
statement in resumable session 'User SCOTT(34), Session 8, Instance 1' was suspended due to ORA-01654: unable to extend index SCOTT.SYS_IOT_TOP_27956 by 8 in tablespace PERM_DICT_2K
***
statement in resumable session 'User SYSTEM(5), Session 11, Instance 1' was suspended due to ORA-01658: unable to create INITIAL extent for segment in tablespace LMT_1
***
statement in resumable session 'User SYSTEM(5), Session 11, Instance 1' was suspended due to ORA-01659: unable to allocate MINEXTENTS beyond 42 in tablespace LMT_1
3.7 Other messages in alert.log:
***
Wed Mar 14 10:43:52 2001
statement in resumable session 'User SCOTT(54), Session 9, Instance 1' was aborted
相关推荐
在压缩包"resumable.js-master"中,我们可以找到Resumable.js库的源代码和其他相关资源。通常,这个master分支包含了项目的主要代码、示例、测试用例以及文档,方便开发者学习和调试。在实际应用中,你需要根据项目...
Resumable.js是一个JavaScript库,专门用于实现分片上传,它支持断点续传,兼容多种浏览器,为前端提供了友好且灵活的API。 在后端,我们使用PHP作为服务器端语言来处理分片上传。PHP需要实现的功能包括: 1. 接收...
解压后的文件通常包括`setup.py`(安装脚本)、`README`(库的说明文档)、`LICENSE`(授权协议)、`requirements.txt`(依赖库列表)以及其他源代码文件等。 `resumable-urlretrieve`库的工作原理大致如下: 1. *...
使用Google Apps脚本的Web Apps断点续传消息 使用此功能时,可以上传大文件。 您也可以使用此js库。概述这是一个示例脚本,用于使用Google Apps脚本(GAS)在Web Apps上上传大文件(> 50 MB)。 可恢复的上载方法...
对于`google-resumable-media-0.2.3.tar.gz`,首先需要将其解压缩,然后通过Python的`setup.py`脚本进行安装,例如: ```bash tar -xvf google-resumable-media-0.2.3.tar.gz cd google-resumable-media-0.2.3 ...
《PyPI官网下载:深入解析s3resumable-0.0.3.tar.gz》 在Python的世界里,PyPI(Python Package Index)是开发者们不可或缺的资源库,它为Python程序提供了丰富的第三方库和模块。今天我们将聚焦于一个特定的资源...
**PyPI 官网下载 | django-resumable-0.1.1.tar.gz** `django-resumable` 是一个基于Python的Django框架的库,主要用于处理大文件上传时的断点续传功能。在开发Web应用时,尤其是涉及到用户上传大文件(如视频、...
使用 resumable.js 上传文件的 Flask 应用程序。 这是一个例子。 它可能不应该按原样使用。 贡献 分叉吧 创建您的功能分支( git checkout -b my-new-feature ) 提交您的更改( git commit -am 'Added some ...
如果您想从一个域加载 resumable.js 库并将您的 Node.js 驻留在另一个域上,您必须允许来自 '*' 的 'Access-Control-Allow-Origin'。 请记住,启用此功能存在一些潜在的安全风险。 如果你还想实现跨域上传,打开 app...
根据压缩包内的文件名“resumable_space_trigger实验脚本.sql”,我们可以推测这是一个用于实验或演示如何创建AFTER SUSPEND触发器的SQL脚本,可能涉及到数据库空间管理,比如监控或限制用户使用数据库空间。...
什么是Resumable.js Resumable.js是一个JavaScript库,可通过提供多个同时,稳定和可恢复的上载。 该库旨在将容错功能引入通过HTTP上传大文件的过程。 这是通过将每个文件分成小块来完成的。 然后,每当块的上载...
1Document No: N4286Supersedes: N4134Date: 2014-11-18Reply to: Gor Nishanov (gorn@microsoft.com), Jim Radigan (jradigan@microsoft.com)Resumable Functions (revision 3) Contents Revisions and History ....
可恢复的http下载(WIP) 可恢复的http下载(er) api 安装 使用可以: npm install @ironsource/rhd 执照 :copyright:ironSource ltd
《tus-resumable-upload-protocol:打造可恢复的文件上传体验》 在现代互联网应用中,文件上传是一项常见的功能,然而,用户在上传大文件时可能会遇到网络不稳定、服务器故障等问题,导致上传中断。为了解决这些...
例如: var resumable = require('resumable-eval')var session;(function() { var x = 1 session = eval(resumable) // Save the function scope})()// Interact with the saved scopesession .eval('...
这是一个示例脚本,可使用Java和Java Apps Script(GAS)的异步过程的可恢复上传,在侧边栏,Google Docs和Web Apps的对话框的侧边栏上上传多个大文件(> 50 MB)。 演示版 这是此脚本的演示。 作为演示,它将5个...
开始git clone https://github.com/spencercarli/meteor-file-upload-example.git cd meteor-file-upload-example && meteor 使用的包笔记/问题Resumable.js可能会在您的控制台中导致404 (Not Found)错误。...
谷歌师兄的leetcode刷题笔记gcs-resumable-upload 使用内置的可恢复行为将文件上传到 Google Cloud Storage $ npm install gcs-resumable-upload const { upload } = require ( 'gcs-resumable-upload' ) ; const fs...
为了克服这个问题,"resumable-pp"是一个预处理器,它为C++引入了可恢复的Lambda表达式,使得在发生异常时能够恢复执行,而不是立即终止程序。 "resumable-pp"这个名字来源于"可恢复的预处理器",它不是C++语言本身...
Laravel Chunk上传介绍支持从5.2到7的Laravel(所有版本的集成测试均已涵盖)。 易于使用的服务/库可用于分块上传,在Laravel的文件上传之上还支持多个JS库,并且内存占用率低。 支持,自动清理计划和易于使用的功能...