Oracle快速替换UNDO表空间方法
2017-10-21 15:53
501 查看
UNDO表空间不够用,有两种处理方法:
1、扩大表空间大小;
2、创建新的UNDO表空间,删除原来的。
select name from v$tablespace;
检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';
create undo tablespace undotbs2 datafile '/oradata/oradata/ddptest/UNDOTBS1.dbf' size 2 1000m reuse autoextend on next 800m maxsize unlimited;
2、动态更改spfile配置文件;
alter system set undo_tablespace=undotbs2 scope=both;
3、删除原有的UNDO表空间;
drop tablespace undotbs1 including contents;
4、确认删除是否成功;
select name from v$tablespace;
5、确定$ORACLE_HOME/dbs/spfileoinms.ora内容是否发生变更:
$more spfileoinms.ora
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS2'
如果没有发生变更请执行如下语句:
SQL> create pfile from spfile;
File created.
6、删除原UNDO表空间的数据文件,其文件名为步骤中执行的结果。
#rm $ORACLE_BASE/oradata/$ORACLE_SID/undotbs01.dbf
alter system set undo_tablespace=undotbs1 scope=both;
drop tablespace undotbs2 including contents;
rm '/u01/oracle/oradata/orcl/UNDOTBS2.dbf'
alter system set undo_tablespace=undotbs2 scope=both;
drop tablespace undotbs1 including contents;
rm '/u01/oracle/oradata/orcl/UNDOTBS1.dbf'
1、扩大表空间大小;
2、创建新的UNDO表空间,删除原来的。
一、 初步操作
确认UNDO表空间名称select name from v$tablespace;
检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';
二、 扩大UNDO表空间
alter database UNDOTBS1 datafile '/opt/oracle/oradata/inms/undotbs02.dbf' resize 4000M;三、 创建新的UNDO表空间,删除原来的
1、创建新的UNDO表空间,并设置自动扩展参数;create undo tablespace undotbs2 datafile '/oradata/oradata/ddptest/UNDOTBS1.dbf' size 2 1000m reuse autoextend on next 800m maxsize unlimited;
2、动态更改spfile配置文件;
alter system set undo_tablespace=undotbs2 scope=both;
3、删除原有的UNDO表空间;
drop tablespace undotbs1 including contents;
4、确认删除是否成功;
select name from v$tablespace;
5、确定$ORACLE_HOME/dbs/spfileoinms.ora内容是否发生变更:
$more spfileoinms.ora
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS2'
如果没有发生变更请执行如下语句:
SQL> create pfile from spfile;
File created.
6、删除原UNDO表空间的数据文件,其文件名为步骤中执行的结果。
#rm $ORACLE_BASE/oradata/$ORACLE_SID/undotbs01.dbf
四、 结论
根据实际情况,采用扩大undo表空间的方式只能支撑一段时间。运行一段时间之后,undo表空间数据文件终会达到上限。因此,采用第二中方案进行处理。可以使用一下脚本,交替替换undotbs1和undotbs2表空间的方式,可以快速解决问题。(一) 脚本1:用undotbs1替换undotbs2表空间
create undo tablespace undotbs1 datafile '/u01/oracle/oradata/orcl/UNDOTBS1.dbf' size 512m reuse autoextend on next 512m maxsize unlimited;alter system set undo_tablespace=undotbs1 scope=both;
drop tablespace undotbs2 including contents;
rm '/u01/oracle/oradata/orcl/UNDOTBS2.dbf'
(二) 脚本2:用undotbs2替换undotbs1表空间
create undo tablespace undotbs2 datafile '/u01/oracle/oradata/orcl/UNDOTBS2.dbf' size 512m reuse autoextend on next 512m maxsize unlimited;alter system set undo_tablespace=undotbs2 scope=both;
drop tablespace undotbs1 including contents;
rm '/u01/oracle/oradata/orcl/UNDOTBS1.dbf'
相关文章推荐
- Oracle undo表空间爆满的处理方法
- oracle undo表空间不足的解决方法
- 最快速在ubuntu下安装Oracle(Sun) JDK的方法
- oracle undo表空间查询维护
- 查看oracle 系统临时表空间、undo表空间、SGA和PGA大小
- 高维向量快速检索方法Locality Sensitive Hashing之一汉明空间和欧式空间实现
- ORACLE 表空间扩展方法
- Oracle - 回滚表空间 Undo 的整理
- 对ORACLE的TEMP和UNDO空间的操作集合
- Oracle 11g UNDO表空间备份增强
- Oracle 好书 07 ( undo 表空间管理 )
- oracle可移动表空间方法
- Oracle切换undo表空间操作步骤(转)
- oracle 10g SYSAUX表空间快速增长之WRH$_SQL_PLAN篇
- oracle undo表空间与redo日志
- Oracle、Vertica和Hive三种数据库查询表空间的方法
- Oracle 10g表空间自动扩容的两种方法
- 管理Oracle的undo表空间和temp表空间
- Oracle undo表空间爆满的解决
- oracle增加表空间的四种方法