在线扩大数据库UNDO表空间,用Oracle账号登陆Oracle数据库服务器
在线扩大数据库undo表空间,,用oracle账号登陆oracle数据库服务器
方法一:
查看表空间的名字及文件所在位置:
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space
from dba_data_files order by tablespace_name;
修改数据库datafile文件到新的大小
alter database datafile ‘oracleoradataundotab1.dbf’ resize 4000m;
方法二:
启动SQL*Plus session并执行下面命令:
oracle% sqlplus /nolog
sql> connect / as sysdba;
sql> spool $ORACLE_BASE/admin/oss/scripts/recreate_undo.log;
sql> CREATE SMALLFILE UNDO TABLESPACE “UNDOTBS2” DATAFILE ‘/db/data/undotbs02.dbf’ SIZE 30M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE 32767M;
sql> ALTER SYSTEM SET UNDO_TABLESPACE=”UNDOTBS2″;
sql> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
sql> CREATE BIGFILE UNDO TABLESPACE “UNDOTBS1” DATAFILE ‘/db/data/undotbs01.dbf’ SIZE 35M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE 128G;
sql> ALTER SYSTEM SET UNDO_TABLESPACE=”UNDOTBS1″;
sql> DROP TABLESPACE UNDOTBS2 INCLUDING CONTENTS AND DATAFILES;
sql> exit
oracle%
NOTE!
如果看到这个错误:“ORA-30013: undo tablespace ‘undotas1’ is currently in use”需等待10-30秒,有时会更长些,再重新执行上面命令。也可以执行“UNDOTBS1 / UNDOTBS2”来检查DROP命令是否可以执行 sql>SELECT SEGMENT_NAME, XACTS, V.STATUS FROM V$ROLLSTAT V, DBA_ROLLBACK_SEGS WHERE TABLESPACE_NAME = ‘UNDOTBS1’ AND SEGMENT_ID = USN; 返回结果:
“no rows selected”
如果返回的结果是UNDOTBS1还在用的话,那么可能要重启ORACLE服务再执行上面的步骤。
——————————————————————————–
RMAN备份与恢复之undo表空间丢失
关于Oracle 释放过度使用的undo表空间
Oracle undo的一些理解
Oracle undo 镜像数据探究
Oracle 回滚(ROLLBACK)和撤销(undo)
Linux-6-64下安装Oracle 12C笔记
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
——————————————————————————–
本文永久更新链接地址:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1970178.html