千家信息网

Oracle可恢复空间分配技术是怎样的

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,今天就跟大家聊聊有关Oracle可恢复空间分配技术是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。许多操作因为空间不够而失败,如果启用了
千家信息网最后更新 2025年01月21日Oracle可恢复空间分配技术是怎样的

今天就跟大家聊聊有关Oracle可恢复空间分配技术是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

许多操作因为空间不够而失败,如果启用了可恢复空间分配,当操作遇到空间问题而不是因为错误而失败时,操作将暂停,显示为会话挂起。当错误得到解决时,它将继续。所有挂起的会话(当前挂起的和之前挂起但现在再次运行的)列在视图dba_resumable中。会话关闭后,视图中的记录将消除。

要在会话级别启用可恢复空间分配,命令如下:

alter session enable resumable [timeout ] [name ];

timeout选项指定语句将挂起多长时间。如果到达这个时间,但问题没有解决,语句失败,返回错误。如果没有指定timeout,会话将无限期挂起。name选项指定在视图dba_resumable中显示的名称,帮助确定在多语句进程的哪个点出现空间问题。

执行该命令需要授予会话用户相应的权限:

grant resumable to ;

也可以通过设置实例参数resumable_timeout为所有会话启用可恢复空间。这是一个动态参数,如要设置一分钟的超时:

alter system set resumable_timeout=60;

这将导致所有会话在遇到空间问题时挂起一分钟。

Data Pump实用程序expdpimpdp有一个命令行开关resumable=y(默认为n),允许Data Pump作业如果遇到空间问题就挂起。

当会话挂起时,它将保持对使用的所有资源的控制,包括撤销空间、临时空间、PGA内存和记录锁定。

在遇到问题时,可以通过另一个会话交互式的进行修复。或者可以创建一个在会话挂起时将运行的after suspend on database触发器。这个触发器可以报告问题,如通过电子邮件,或包括检查并自动修复问题的代码,这就意味着可以在一些操作如插入数据导致表空间容量不够时,通过触发器程序确认后自动给表空间分配容量。

以下实验测试可恢复空间分配功能的使用:

1、创建表空间和表

create tablespace test datafile 'd:\oradata\mes\test01.dbf' size 2m;

create table scott.t1(c1 char(1000)) tablespace test;

2、授予会话可恢复空间分配的权限

grant resumable to scott;

3、在会话级别设定可恢复空间分配

conn scott/tiger

alter session enable resumable name 't1_insert';

4、向表中插入数据,因空间不足会话将被挂起

begin

for i in 1 .. 2000 loop

insert into scott.t1 values ('a row');

end loop;

commit;

end;

/

5、查看因空间分配问题挂起的会话

col name for a10

col sql_text for a30

col error_parameter1 for a10

col error_parameter2 for a10

col error_parameter3 for a10

col error_parameter4 for a10

col error_parameter5 for a10

col error_msg for a30

select user_id,

session_id,

instance_id,

status,

timeout,

start_time,

suspend_time,

resume_time,

name,

sql_text,

error_number,

error_parameter1,

error_parameter2,

error_parameter3,

error_parameter4,

error_parameter5,

error_msg

from dba_resumable;

USER_ID SESSION_ID INSTANCE_ID STATUS TIMEOUT START_TIME SUSPEND_TIME RESUME_TIME NAME SQL_TEXT ERROR_NUMBER ERROR_PARA ERROR_PARA ERROR_PARA ERROR_PARA ERROR_PARA ERROR_MSG

---------- ---------- ----------- --------- ---------- -------------------- -------------------- -------------------- ---------- ------------------------------ ------------ ---------- ---------- ---------- ---------- ---------- ------------------------------

84 74 1 SUSPENDED 7200 01/25/18 09:42:18 01/25/18 09:42:18 t1_insert INSERT INTO SCOTT.T1 VALUES (' 1653 SCOTT T1 128 TEST ORA-01653: 表 SCOTT.T1 无法通过 128

a row') (在表空间 TEST 中) 扩展

6、修复问题,会话将继续执行

alter database datafile 'd:\oradata\mes\test01.dbf' resize 4m;

7、再次查看因空间分配问题挂起的会话,显示会话已经恢复

select user_id,

session_id,

instance_id,

status,

timeout,

start_time,

suspend_time,

resume_time,

name,

sql_text,

error_number,

error_parameter1,

error_parameter2,

error_parameter3,

error_parameter4,

error_parameter5,

error_msg

from dba_resumable;

USER_ID SESSION_ID INSTANCE_ID STATUS TIMEOUT START_TIME SUSPEND_TIME RESUME_TIME NAME SQL_TEXT ERROR_NUMBER ERROR_PARA ERROR_PARA ERROR_PARA ERROR_PARA ERROR_PARA ERROR_MSG

---------- ---------- ----------- --------- ---------- -------------------- -------------------- -------------------- ---------- ------------------------------ ------------ ---------- ---------- ---------- ---------- ---------- ------------------------------

84 74 1 NORMAL 7200 01/25/18 10:00:39 t1_insert 0

8、删除表并清理表空间

drop table scott.t1;

drop tablespace test including contents and datafiles;

看完上述内容,你们对Oracle可恢复空间分配技术是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

空间 问题 分配 内容 命令 视图 触发器 语句 错误 技术 不够 再次 参数 可以通过 容量 数据 时间 权限 程序 级别 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 淄博网络安全服务 有没没有网络安全手抄报 我的世界租赁服务器自带广场 lt软件开发工资一般多少 山西会计软件开发资格 连数据库的时候显示口令失效 港闸区智能网络技术诚信经营 中国最强网络安全团队 linux 自带数据库 乡镇网络安全风险防控体系 长春奥斯软件开发有限公司 鹏博网络技术有限公司 惠普服务器怎么接驱动板 c 服务器端 客户端 公司网络安全工作要点 微信数据库文件带病毒 华为网络安全和隐私中心组织 jdbc 切换数据库时间 软件开发专业总结 excel 数据库管理系统界面设计 哈尔滨腾讯宝塔服务器崩溃 网络安全保卫局官方账号 邮件出了服务器还能撤回吗 软件开发公司要写日报吗 人保财险网络安全保险险种 沈阳苹果手机软件开发怎样收费 启明星辰 网络安全 松江区网络技术咨询售后服务 上海服务器托管哪家好 手机流量数据库
0