(1)使用system用户连接数据库创建一个表空间:
SQL> conn system/oracle
已连接。
SQL> create tablespace small datafile 'small1.dbf' size 2m;
表空间已创建。
(2)在该表空间中创建一个联系表
SQL> create table toobig(c1 char(1000)) tablespace small;
表已创建。
(3)运行如下的pl/sql块强制出现一个error
SQL> begin
2 for i in 1..2000 loop
3 insert into toobig values('a row');
4 end loop;
5 end;
6 /
begin
*
第 1 行出现错误:
ORA-01653: 表 SYSTEM.TOOBIG 无法通过 128 (在表空间 SMALL 中) 扩展
ORA-06512: 在 line 3
(4)修改会话,启动可恢复空间分配
SQL> alter session enable resumable name 'exercise 23-4';
会话已更改。、
(5)重新运行第3步的代码,会话挂起
(6)启动另一个会话,以system登录,进行如下查询:
SQL> select session_id,suspend_time,name,sql_text,error_number from dba_resumabl
e;
SESSION_ID SUSPEND_TIME NAME SQL_TEXT ERROR_NUMBER
---------- ------------ ---------- ---