IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 13.Oracle Undo表空间管理 -> 正文阅读

[大数据]13.Oracle Undo表空间管理

前言

一、UNDO表空间管理

1.还原段的作用

(1).实例恢复
(2).读一致性
(3).事务回滚

2.讨论undo_retention参数

这个参数以秒为单位,表示当事务提交或回滚以后,该事务所使用的undo块里的数据需要保留多长时间。
当保留的时间超过undo_retention,该undo块才能够被其他事务覆盖。

3.查看undo参数

SQL> show parameter undo

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 900
undo_tablespace 		     string	 UNDOTBS1
SQL> 

4.更改参数undo_retention的值

SQL> alter system set undo_retention = 1200;
System altered.

SQL> show parameter undo
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 1200
undo_tablespace 		     string	 UNDOTBS1
SQL> 

注意:如果保留时间过长,而且修改数据的事务很多,
则往往造成还原表空间的不足,所以根据业务需要和还原表空间的大小做出判断。

5.通过数据字典v$parameter查询undo_retention值

select name,value from v$parameter where name = 'undo_retention';

在这里插入图片描述

6.修改还原表空间

alter system set undo_tablespace=undo_tablespace_name;

7.创建还原表空间

create undo tablespace mlbdb1_undo01
datafile '/oradata01/mlbdb1/mlbdb1_undo01.dbf'
size 500m
autoextend on;

8.查询当前undo表空间

SQL> show parameter undo

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 1200
undo_tablespace 		     string	 UNDOTBS1

SELECT t.tablespace_name, sum(bytes / 1024 / 1024)
  FROM dba_data_files t
 WHERE t.tablespace_name = 'UNDOTBS1'
 GROUP BY tablespace_name;

在这里插入图片描述

9.查看还原表空间的信息

SELECT t.tablespace_name,
       t.extent_management,
       t.contents,
       t.logging,
       t.status
  FROM dba_tablespaces t
 WHERE t.contents = 'UNDO';

在这里插入图片描述

10.查看关于还原表空间的数据文件信息,默认为自动扩展

SELECT T.file_name,
       T.tablespace_name,
       T.bytes / 1024 / 1024 MB,
       T.autoextensible
  FROM dba_data_files t;

在这里插入图片描述

二、维护还原表空间

1.重命名还原表空间

alter tablespace UNDOTBS1 rename to MLBDB1_UNDOTBS1;
alter tablespace MLBDB1_UNDOTBS1 rename to UNDOTBS1;

在这里插入图片描述

2.向还原表空间中添加数据文件

alter tablespace MLBDB1_UNDO01 add datafile '/oradata01/mlbdb1/mlbdb1_undo02.dbf' size 500m;
SELECT T.file_name,
       T.tablespace_name,
       T.bytes / 1024 / 1024 MB,
       T.autoextensible
  FROM dba_data_files t;

在这里插入图片描述

3.将数据文件修改为自动扩展方式

alter database datafile  '/oradata01/mlbdb1/mlbdb1_undo02.dbf' autoextend on;

在这里插入图片描述

三、切换还原表空间

1.查看当前还原表空间的信息

SQL> show parameter undo

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 1200
undo_tablespace 		     string	 UNDOTBS1
SQL> 

2.切换到新建的还原表空间mlbdb1_undo01

alter system set undo_tablespace = mlbdb1_undo01;
SQL> show parameter undo;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 1200
undo_tablespace 		     string	 MLBDB1_UNDO01
SQL> 

四、删除undo表空间实例

1.创建表空间undotbs2

create undo tablespace untotbs2 
datafile '/oradata01/mlbdb1/undotbs02.dbf' 
size 10m 
autoextend on 
maxsize 100m 
retention guarantee;

2.启动一个事务

conn scott/oracle
create table t (id number,name varchar2(20));
insert into t values (1,‘lianhuichen’);

3.切换undo表空间

alter system set undo_tablespace=untotbs2;
SQL> show parameter undo;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     1200
undo_tablespace                      string      UNTOTBS2

SQL> 

4.删除旧的表空间mlbdb1_undo01

drop tablespace mlbdb1_undo01;
drop tablespace my_undo including contents;

SQL> drop tablespace mlbdb1_undo01;
drop tablespace mlbdb1_undo01

ORA-30013: 还原表空间 'MLBDB1_UNDO01' 当前正在使用中

5.设置表空间undotbs1属性

设置
alter tablespace undotbs1 retention guarantee;

SQL> alter tablespace undotbs1 retention guarantee;
Tablespace altered

注意:为了避免undo_retention 参数不能保证UNDO信息保留足够的时间,Oracle 只是尽量地保证undo数据块不被覆盖掉,
当空间不够的时候,Oracle还是会将保留时间小于undo_retention的UNDO数据覆盖掉。
设置表空间undotbs1属性retention guarantee

查询表空间undotbs1属性
SELECT b.tablespace_name, AUTOEXTENSIBLE, RETENTION
  FROM dba_tablespaces a, dba_data_files b
 WHERE a.TABLESPACE_NAME = b.TABLESPACE_NAME
       AND b.TABLESPACE_NAME = 'UNDOTBS1';

6.dba_undo_extents数据字典

6.1.查询当前的undo表空间

SQL> show parameter undo

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 1200
undo_tablespace 		     string	 UNTOTBS2
SQL> 

6.2.查询回滚段的名字

create table t (id number,name varchar2(20));
insert into t values (1,'lianhuichen');

SELECT a.username, b.name, c.used_ublk
  FROM v$session a, v$rollname b, v$transaction c
 WHERE a.saddr = c.ses_addr
   AND b.usn = c.xidusn;

在这里插入图片描述

6.3.使用dba_undo_extents,根据_SYSSMU27_3471509305$回滚段名字,查询所在的表空间以及区段信息

SELECT t.segment_name, t.tablespace_name, t.extent_id
  FROM dba_undo_extents t
 WHERE t.segment_name = '_SYSSMU27_3471509305$';

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:10:38  更:2022-01-03 16:13:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:22:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码