在线扩大数据库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 '\oracle\oradata\undotab1.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服务再执行上面的步骤。
--------------------------------------------------------------------------------
- 大小: 51.5 KB
分享到:
相关推荐
本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自增长和修改其大小。 #### 一、创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成...
Oracle数据库的健康检查通常涉及多个层面,包括但不限于参数文件、控制文件、重做日志文件、归档、数据文件、表空间、对象、Undo空间、内存管理、日志与跟踪文件等多个方面。下面将详细介绍如何执行这些方面的健康...
Oracle Certified Professional (OCP) ...当Undo表空间不足以保存回滚信息时,系统会抛出`ORA-01650`错误,这时可能需要扩大Undo表空间或优化事务提交策略。这些知识点对于理解和管理Oracle数据库的高效运行至关重要。
- **UNDO表空间**:管理和配置UNDO表空间。 - **TEMP表空间**:管理和配置临时表空间。 - **重做日志文件管理** - **增加REDO日志组**:增加重做日志文件组的数量。 - **删除日志组**:删除不再需要的重做日志...
- **Undo/temp表空间的估算**:根据并发事务量预估所需大小。 - **表的参数设置**:如PCTUSED、INITRANS等。 - **索引的使用原则**:合理创建索引以提高查询效率。 - **文件设计** - **RAC配置文件**:如crs....
- 增大 UNDO 表空间的大小,以容纳更长时间的事务处理。 - 调整事务处理方式,避免长时间运行的事务。 - 考虑使用 `FETCH_ACROSS` 选项来优化查询性能。 #### 6. ORA-04031 错误 - 共享池内存不足 **问题描述:** ...
- 回退段空间不足:这可能导致事务无法提交,解决方案是扩大Undo表空间或增加新的回退段。 - 回退段争用:多个事务同时访问同一回退段可能导致性能下降,解决方法是分配更多的回退段以减少争用。 - 回退段过大或过小...
1. 可以使用`ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file`命令向表空间添加新的数据文件,以扩大表空间的容量。 2. 在增加表空间前,应先检查主机是否有足够的磁盘空间,避免盲目...
如果某个表空间的使用率超过90%,应在当天清理或扩大其大小,但临时表空间和回滚表空间(temp, undo)除外。特别关注高使用率的表空间,如`HS_HIS_DATA`和`HS_HIS_IDX`。可以使用如下SQL查询来获取表空间的使用信息...
- 解决方案:添加新的数据文件到表空间或者扩大现有数据文件的大小。 4. **ORA-01631: 无法分配额外的Extent** - 原因:当一个表或索引无法获得更多Extent来存储数据时触发此错误。 - 解决方案:增加PCTINCREASE...
- **UNDO表空间**:UNDO表空间用于存储事务处理过程中产生的撤销数据。可以通过`ALTER DATABASE UNDO TABLESPACE`命令管理UNDO表空间。 - **TEMP表空间**:临时表空间用于存储临时对象,如排序操作期间使用的临时表...
如果任一表空间使用率超过90%,应在当天进行清理或扩大其大小,但temp和undo表空间除外。使用以下SQL查询可以获取表空间的详细信息: ``` SELECT d.tablespace_name, SPACE "SUM_SPACE(M)", blocks sum_...
- **UNDO表空间**: 管理UNDO表空间,确保有足够的UNDO空间以支持事务处理。 - **TEMP表空间**: 配置临时表空间,确保它们能够在高并发操作时高效地分配临时段。 **3. 重做日志文件管理** - **增加REDO日志组**: ...
- 扩大回滚表空间大小,或启用自动扩展功能。 #### 资源消耗类 资源消耗类问题是指由于CPU、内存、I/O等资源过度使用而导致的性能问题。 **11. 高资源消耗进程应急处理** - **原因分析**:某些进程过度占用资源...
- 扩大`UNDO_RETENTION`时间。 - 减少长时间运行的查询。 #### 20. $ORACLE_HOME与$ORACLE_BASE的区别 - `$ORACLE_HOME`:指向Oracle产品安装目录。 - `$ORACLE_BASE`:指向Oracle产品的根目录。 #### 21. 判断...
1. 可以通过`ALTER TABLESPACE`命令添加新的数据文件(Datafile)到表空间中,以扩大表空间的容量: ```sql ALTER TABLESPACE tablespace_name ADD DATAFILE 'filename' SIZE size_of_file; ``` 其中,`...
5. **IPv6**:IPv6相对于IPv4的一大改进在于地址空间的扩大,它采用128位地址,而非64位。IPv6也增强了安全性和包头效率。 6. **HTTP与HTTPS**:HTTPS协议比HTTP更安全,因为它使用SSL/TLS协议进行加密传输和身份...