扩大或缩小undo表空间
***********************************************声明***********************************************************************
原创作品。出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39935157
****************************************************************************************************************************
实验项目:将undo表空间扩大,然后缩小
SQL> select name,bytes/1024/1024 M from v$datafile;
--查询undo表空间,当前为230m
NAME M
-------------------------------------------------- ----------
/u01/app/oracle/oradata/xcky/system01.dbf 760
/u01/app/oracle/oradata/xcky/sysaux01.dbf 550
/u01/app/oracle/oradata/xcky/undotbs01.dbf 230
/u01/app/oracle/oradata/xcky/users01.dbf 1518.75
/u01/app/oracle/oradata/xcky/example01.dbf 330
(1)、扩展undo表空间
思路:创建一个更大的undo表空间。让后将原undo空间替换
SQL> create undo tablespace undotbs02 datafile '/u01/app/oracle/oradata/xcky/undotbs02.dbf' size 500m reuse
autoextend on;
Tablespace created.
SQL> alter system set undo_tablespace=undotbs02;
System altered.
SQL> select name,bytes/1024/1024 M from v$datafile;
--查询会发现,新扩展的undo表空间
NAME M
-------------------------------------------------- ----------
/u01/app/oracle/oradata/xcky/system01.dbf 760
/u01/app/oracle/oradata/xcky/sysaux01.dbf 550
/u01/app/oracle/oradata/xcky/undotbs01.dbf 230
/u01/app/oracle/oradata/xcky/users01.dbf 1518.75
/u01/app/oracle/oradata/xcky/example01.dbf 330
/u01/app/oracle/oradata/xcky/undotbs02.dbf 500
SQL> select tablespace_name,sum(bytes)/1024/1024 mb from dba_free_space group by tablespace_name;
--查找出之前undo表空间的名字
TABLESPACE_NAME MB
------------------------------ ----------
BULLETIN_INFO 499
INDEX_EIS 19
SYSAUX 33
UNDOTBS1 204.375
TBS_XZXT_PHOTO 19
TBS_XZXT_SYSTEM 19
VIEW_LOG 99
UNDOTBS02 497.75
......
SQL> drop tablespace UNDOTBS1 including contents and datafiles;
--删除undo表空间
Tablespace dropped.
SQL> select tablespace_name,sum(bytes)/1024/1024 mb from dba_free_space group by tablespace_name;
--再次查看undo表空间已经为新扩展的undo表空间了
TABLESPACE_NAME MB
------------------------------ ----------
BULLETIN_INFO 499
INDEX_EIS 19
SYSAUX 33
VIEW_LOG 99
UNDOTBS02 497.75
(2)、缩小undo表空间
思路:有了之前扩展undo表空间的方法,接下来缩小表空间便会变得简单了。原理一样,创建一个小的undo表空间,然后把大的undo表空间删除就可以。
SQL> create undo tablespace UNDOTBS1 datafile '/u01/app/oracle/oradata/xcky/undotbs01.dbf' size 250m reuse autoextend
on;
--创建一个小的undo表空间
Tablespace created.
SQL> alter system set UNDO_TABLESPACE=UNDOTBS1;
--改变undo表空间为UNDOTBS1
System altered.
SQL> select tablespace_name,sum(bytes)/1024/1024 mb from dba_free_space group by tablespace_name;
--再次查询,新建的undo表空间已经显示
TABLESPACE_NAME MB
------------------------------ ----------
BULLETIN_INFO 499
INDEX_EIS 19
SYSAUX 33
UNDOTBS1 247.75
UNDOTBS02 497.75
SQL> drop tablespace UNDOTBS02 including contents and datafiles;
--删除大的undo表空间
Tablespace dropped.
SQL> select tablespace_name,sum(bytes)/1024/1024 mb from dba_free_space group by tablespace_name;
--查看表空间情况。已经完毕了缩小undo表空间
TABLESPACE_NAME MB
------------------------------ ----------
BULLETIN_INFO 499
INDEX_EIS 19
SYSAUX 33
UNDOTBS1 247.75
结合以上实验过程。编写脚本,能够减轻日后的工作量,有了上面的基础,看懂以下的语句应该是so easy了吧,O(∩_∩)O哈哈~
指令例如以下:
脚本实现:
[root@xckydb soft]# vi query_undo.sql
--编写undo表空间查询脚本
SELECT a.name, b.name
FROM v$tablespace a, v$datafile b
WHERE a.name = (SELECT VALUE
FROM v$parameter
WHERE name = 'undo_tablespace')
AND a.ts# = b.ts#;
SQL> @/soft/query_undo.sql
NAME NAME
------------------------------ ------------------------------
UNDOTBS1 /u01/app/oracle/oradata/xcky/u
ndotbs01.dbf
[root@xckydb soft]# vi create_undo.sql
--编写undo表空间创建脚本
#create middle undo tablespace
Create UNDO TABLESPACE UNDOTBS2 DATAFILE <'/undotbs02.dbf'> SIZE <100M> REUSE AUTOEXTEND ON;
Alter SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;
#delete old undo tablespace
Drop TABLESPACE <UNDOTBS1> INCLUDING CONTENTS AND DATAFILES;
Select * FROM DBA_TABLESPACES;
#create new undo tablespace
Create UNDO TABLESPACE <UNDOTBS1> DATAFILE <'/undotbs01.dbf'> SIZE <100M> REUSE AUTOEXTEND ON;
Alter SYSTEM SET UNDO_TABLESPACE=UNDOTBS1;
#delete middle undo tablespace
Drop TABLESPACE UNDOTBS2 INCLUDING CONTENTS AND DATAFILES;
Select * FROM DBA_TABLESPACES;
***********************************************声明***********************************************************************
原创作品,出自 “深蓝的blog” 博客。欢迎转载,转载时请务必注明出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39935157
****************************************************************************************************************************
版权声明:本文博主原创文章,博客,未经同意不得转载。
扩大或缩小undo表空间的更多相关文章
- MySQL 5.7新特性之在线收缩undo表空间
1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2 ...
- 如何删除回滚段状态为NEEDS RECOVERY的undo表空间
环境:RHEL 6.4 + Oracle 11.2.0.4 背景:备份恢复的测试库在一次不完全恢复后,没有来及做有效的全备,又一次数据库故障导致数据库无法正常open. 只能离线部分数据文件打开数据库 ...
- 记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...
- Oracle 11gR2 Database UNDO表空间使用率居高不下-转载
客户的数据库是Oracle Database 11.2.0.3.0 for AIX 6.1 64bit的单机数据库.客户查询DBA_FREE_SPACE发现UNDO表空间的使用率高达98%以上.客户的 ...
- UNDO表空间设置
flashback query和flashback table都是以用UNDO表空间的内容来进行恢复数据 查看undo内容保存的时间: SQL> show parameter undo_re N ...
- UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决
模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除 模拟启库 SQL> STARUP; * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 ...
- oracle表空间查询维护命令大全之二(undo表空间)
--undo表空间汇总 --查看全部的表空间名字 select name from v$tablespace; --创建新的UNDO表空间,并设置自己主动扩展參数; create undo table ...
- Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)
UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ...
- undo表空间
undo表空间undo表空间的管理,主要包括创建.删除.修改.切换.其中需要注意的是不能在undo表空间创建数据库对象,还有就是只能是单文件或大文件表空间. 创建创建主要有两种方法,一种是在创建数据库 ...
随机推荐
- 向mysql添加新用户并分配权限
首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员. 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user ...
- 如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true
下面这篇文章是从StackOverflow来的.LZ面试的时候遇到了一道面试题:“如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true”,于是LZ做了下面的这样的程序: bool ...
- Matrix Swapping II(求矩阵最大面积,dp)
Matrix Swapping II Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Ubuntu 14.04安装地里编码软件Nominatim过程
一.必须软件: 在Ubuntu系统编译执行Nominatim软件系统必须安装的软件有: 1.GCC 编译器 2.postgresql 数据库 3.proj4 4.geos 5.postgis 6.PH ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- java项目打jar包
首先 在工程中,右键项目,有个export,选择JAR File,就能导出jar包. 一.java项目没有导入第三方jar包 1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export” ...
- JavaSE复习日记 : java包机制
这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; ...
- tomcat无法正常启动的一个原因
简要报错信息: java.lang.IllegalArgumentException: Document base E:\apache-tomcat-7.0.65\webapps\springmvc0 ...
- 本地环境下 WordPress 环境搭建与安装
本地环境:Ubuntu 14.04 使用软件: WordPress 4.1.1 中文优化版 EasyEngine 安装步骤: 安装 LNMP 环境; wget -qO ee rt.cx/ee & ...
- “use strict”对js的影响
一:全局变量显示声明 在正常模式下,如果一个变量没有声明就赋值,默认是全局变量,严格模式禁止用这种方法.全局变量必须显示声明. ; i++) { function f2() { } // 语法错误 } ...