返回顶部
首页 > 资讯 > 数据库 >Oracle可恢复空间分配技术是怎样的
  • 374
分享到

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

2024-04-02 19:04:59 374人浏览 八月长安
摘要

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

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

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

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

alter session enable resumable [timeout <seconds>] [name <opname>];

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

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

grant resumable to <username>;

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

alter system set resumable_timeout=60;

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

Data Pump实用程序expdp和impdp有一个命令行开关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可恢复空间分配技术是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网数据库频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle可恢复空间分配技术是怎样的

本文链接: https://lsjlt.com/news/65749.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle可恢复空间分配技术是怎样的
    今天就跟大家聊聊有关Oracle可恢复空间分配技术是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。许多操作因为空间不够而失败,如果启用了可恢复...
    99+
    2024-04-02
  • 利用可恢复空间分配技术自动分配表空间
    Oracle可恢复空间分配技术让我们可以通过创建一个在会话挂起时自动运行的after suspend on database触发器处理问题,如通过电子邮件报告挂起事件、检查并自动修复挂起故障等,如可以在...
    99+
    2024-04-02
  • Oracle表空间时间点恢复技术TSPITR
    假定Oracle数据库发生了以下情形: 1、表空间中,某个表的重要数据被破坏或删除。 2、误用DDL语言更改了表空间中的一个或多个表的结构,因此无法使用闪回来恢复这些表。 3、表...
    99+
    2024-04-02
  • 扩展ORACLE表空间操作是怎样的
    本篇文章给大家分享的是有关扩展ORACLE表空间操作是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 1、问...
    99+
    2024-04-02
  • Oracle表空间增、删、改操作是怎样的
    本篇内容主要讲解“Oracle表空间增、删、改操作是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle表空间增、删、改操作是怎样的”吧!--1、新...
    99+
    2024-04-02
  • JavaScript中循环之间的技术差异是怎样的
    本篇文章为大家展示了JavaScript中循环之间的技术差异是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 JavaScript 中使用循环时,需要理解两...
    99+
    2024-04-02
  • Oracle数据库UNDO损坏后的恢复是怎样的
    这期内容当中小编将会给大家带来有关Oracle数据库UNDO损坏后的恢复是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。    UND...
    99+
    2024-04-02
  • oracle数据库备份和恢复的过程是怎样的
    本篇文章为大家展示了oracle数据库备份和恢复的过程是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Oracle数据库备份和Oracle数据库恢复是使用Or...
    99+
    2024-04-02
  • Oracle 11G RAC ntp时间同步配置是怎样的
    这篇文章将为大家详细讲解有关Oracle 11G RAC ntp时间同步配置是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 ...
    99+
    2024-04-02
  • Oracle数据库不同损坏级别的恢复是怎样的
    这期内容当中小编将会给大家带来有关Oracle数据库不同损坏级别的恢复是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  在 DBA 的日常工作中不可避免存在着数据...
    99+
    2024-04-02
  • Oracle分区数据问题的分析和修复是怎样的
    Oracle分区数据问题的分析和修复是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 今天根据同事的反馈,处理了一个分区表的问题,也让...
    99+
    2024-04-02
  • 分布式打包中numpy的应用,ASP技术是否有进一步提升空间?
    分布式打包中NumPy的应用,ASP技术是否有进一步提升空间? 随着分布式计算的兴起,越来越多的应用程序开始使用分布式计算来完成计算任务。分布式计算最大的优点是可以将计算任务划分成多个小任务,分配给多个计算节点并行计算,从而大大提高计算效率...
    99+
    2023-10-04
    打包 分布式 numpy
  • 开源分布式数据库RadonDB的核心技术与实现是怎样的
    开源分布式数据库RadonDB的核心技术与实现是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。RadonDB是一款将分布...
    99+
    2024-04-02
  • EMC存储重装系统丢失分区的数据恢复过程是怎么样的
    这篇文章给大家介绍EMC存储重装系统丢失分区的数据恢复过程是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、磁盘阵列分区丢失的过程介绍事情的起因是由于机房的管理员按照规定对机房进行定期维护,结果由于操作失误导...
    99+
    2023-06-04
  • 分布式模型存储技术的基本思想是将模型划分为多个小文件,然后分别存储到不同的节点服务器上。这样做的好处是可以充分
    作者:禅与计算机程序设计艺术 1.简介 随着人工智能技术的飞速发展,深度学习模型的训练数据越来越多、模型的复杂度也越来越高。例如,当年谷歌提出的“深度学习”,实际上就是一个极其庞大的网络。近几年,国...
    99+
    2023-10-11
    大数据 人工智能 语言模型 Java Python 架构设计
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作