导读:
以前我从没用过这个,第一次是看到Huang Yong在用
后来自己用了用,感觉挺不错,推荐给大家
这个功能主要是防止因为空间不够的原因导致session failed,
例如你create一个很大index,三天三夜后,完成了99%,这时候表空间用完了导致create失败,那只能吐血了
有了resumable session后,他会等待一段时间,等你有了空间后继续
使用很简单,首先user要有resumable权限,如果没有,可以grant resumable to user
在session开始时,alter session enable resumable就可以了
对于application可以通过logon trigger:
SQL> create or replace trigger logon_set_resumable 2 after logon
3 on xfan.schema
4 begin
5 execute immediate ‘alter session enable resumabletimeout 1200′; 6 end;
7 /
Trigger created.
这样当你空间不够的时候,session会等你,alert.log中有类似如下的信息
statement in resumable session ‘User CG15_USER(19), Session 1455, Instance 1′ was suspended due to
ORA-01652: unable to extend temp segment by12800 intablespace CATYINDX01
当你扩展表空间后,该session继续工作,alert.log中也有记录:
session in resumable session ‘User CG15_USER(19), Session 1455, Instance 1′ was resumed
当然在job开始之前预先加好空间还是上上之选,这个功能是为了以防万一
注意, 设定resumable_timeout的user , 必须有resumable 权限.
本文转自
http://blog.oracle.com.cn/index.php/12012/viewspace-6280.html
以前我从没用过这个,第一次是看到Huang Yong在用
后来自己用了用,感觉挺不错,推荐给大家
这个功能主要是防止因为空间不够的原因导致session failed,
例如你create一个很大index,三天三夜后,完成了99%,这时候表空间用完了导致create失败,那只能吐血了
有了resumable session后,他会等待一段时间,等你有了空间后继续
使用很简单,首先user要有resumable权限,如果没有,可以grant resumable to user
在session开始时,alter session enable resumable就可以了
对于application可以通过logon trigger:
SQL> create or replace trigger logon_set_resumable 2 after logon
3 on xfan.schema
4 begin
5 execute immediate ‘alter session enable resumabletimeout 1200′; 6 end;
7 /
Trigger created.
这样当你空间不够的时候,session会等你,alert.log中有类似如下的信息
statement in resumable session ‘User CG15_USER(19), Session 1455, Instance 1′ was suspended due to
ORA-01652: unable to extend temp segment by12800 intablespace CATYINDX01
当你扩展表空间后,该session继续工作,alert.log中也有记录:
session in resumable session ‘User CG15_USER(19), Session 1455, Instance 1′ was resumed
当然在job开始之前预先加好空间还是上上之选,这个功能是为了以防万一
注意, 设定resumable_timeout的user , 必须有resumable 权限.
本文转自
http://blog.oracle.com.cn/index.php/12012/viewspace-6280.html