Table of Contents
1、查询回滚段信息:状态为ONLINE,当前UNDO表空间为undotbs1
2、创建一个新的回滚段: 
3、切换回滚段:
4、重启数据库后,即可删除原来的回滚段,这样就能释放磁盘空间了。
5、对回滚段的大小,可以根据情况进行调整,也可以改为自动扩展。 
Home Database Mysql Tutorial oracle回滚段和回滚表空间

oracle回滚段和回滚表空间

Jun 07, 2016 pm 03:19 PM
oracle rollback big space

昨晚因为做了一个大批量的删除,用的 delete 。大约用了 6 个小时,导致了回滚段自动扩展到将近 30 个 G 。(以后记着,做大批量删除的时候,一定要用脚本实现,分批量提交事务。那样就不会占用太多的 UNDO 表空间了!) 从网上搜了一个普遍的方法,更换新的

昨晚因为做了一个大批量的删除,用的delete。大约用了6个小时,导致了回滚段自动扩展到将近30G。(以后记着,做大批量删除的时候,一定要用脚本实现,分批量提交事务。那样就不会占用太多的UNDO表空间了!) 

从网上搜了一个普遍的方法,更换新的UNDO表空间,然后删除原来的UNDO表空间,释放出磁盘容量。

具体方法如下:(参考网上的资料) 

1、查询回滚段信息:状态为ONLINE,当前UNDO表空间为undotbs1

SQL>select segment_name, owner, tablespace_name, status from dba_rollback_segs; 

SEGMENT_NAME             OWNER TABLESPACE_NAME           STATUS 

------------------------------ ------ ------------------------------ ---------------- 

SYSTEM                 SYS   SYSTEM                   ONLINE

_SYSSMU1$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU2$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU3$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU4$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU5$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU6$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU7$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU8$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU9$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU10$               PUBLIC UNDOTBS1              ONLINE 

11 rows selected. 

2、创建一个新的回滚段: 

SQL>CREATE UNDO  TABLESPACE  UNDOTBS2  DATAFILE 'd:/oracle/oradata/oradev/UNDOTBS2.dbf'  SIZE 50M

注:UNDOTBS2为新建回滚段名称,可自拟。'd:/oracle/oradata/oradev/UNDOTBS2.dbf' 是表空间数据文件地址,可根据情况设定。 

3、切换回滚段:

SQL> alter system set undo_tablespace=undotbs2 scope=both;

这样系统默认UNDO表空间就是新建的undotbs2了。

4、重启数据库后,即可删除原来的回滚段,这样就能释放磁盘空间了。

SQL>drop rollback segment undotbs1; 

SQL>drop tablespace undotbs1 including contents and datafiles;

5、对回滚段的大小,可以根据情况进行调整,也可以改为自动扩展。 

下面是网友提供的一个小技巧:

调小了回滚段后,在imp导入数据时,提示回滚段无法扩展的错误。

解决方法:在imp时,加入参数 commit=y,直接提交,避免占用大回滚段。

 

 

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1662
14
PHP Tutorial
1261
29
C# Tutorial
1234
24
What to do if the oracle can't be opened What to do if the oracle can't be opened Apr 11, 2025 pm 10:06 PM

Solutions to Oracle cannot be opened include: 1. Start the database service; 2. Start the listener; 3. Check port conflicts; 4. Set environment variables correctly; 5. Make sure the firewall or antivirus software does not block the connection; 6. Check whether the server is closed; 7. Use RMAN to recover corrupt files; 8. Check whether the TNS service name is correct; 9. Check network connection; 10. Reinstall Oracle software.

How to solve the problem of closing oracle cursor How to solve the problem of closing oracle cursor Apr 11, 2025 pm 10:18 PM

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

How to create cursors in oracle loop How to create cursors in oracle loop Apr 12, 2025 am 06:18 AM

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

What to do if the oracle log is full What to do if the oracle log is full Apr 12, 2025 am 06:09 AM

When Oracle log files are full, the following solutions can be adopted: 1) Clean old log files; 2) Increase the log file size; 3) Increase the log file group; 4) Set up automatic log management; 5) Reinitialize the database. Before implementing any solution, it is recommended to back up the database to prevent data loss.

What steps are required to configure CentOS in HDFS What steps are required to configure CentOS in HDFS Apr 14, 2025 pm 06:42 PM

Building a Hadoop Distributed File System (HDFS) on a CentOS system requires multiple steps. This article provides a brief configuration guide. 1. Prepare to install JDK in the early stage: Install JavaDevelopmentKit (JDK) on all nodes, and the version must be compatible with Hadoop. The installation package can be downloaded from the Oracle official website. Environment variable configuration: Edit /etc/profile file, set Java and Hadoop environment variables, so that the system can find the installation path of JDK and Hadoop. 2. Security configuration: SSH password-free login to generate SSH key: Use the ssh-keygen command on each node

Oracle's Role in the Business World Oracle's Role in the Business World Apr 23, 2025 am 12:01 AM

Oracle is not only a database company, but also a leader in cloud computing and ERP systems. 1. Oracle provides comprehensive solutions from database to cloud services and ERP systems. 2. OracleCloud challenges AWS and Azure, providing IaaS, PaaS and SaaS services. 3. Oracle's ERP systems such as E-BusinessSuite and FusionApplications help enterprises optimize operations.

How to stop oracle database How to stop oracle database Apr 12, 2025 am 06:12 AM

To stop an Oracle database, perform the following steps: 1. Connect to the database; 2. Shutdown immediately; 3. Shutdown abort completely.

How to export oracle view How to export oracle view Apr 12, 2025 am 06:15 AM

Oracle views can be exported through the EXP utility: Log in to the Oracle database. Start the EXP utility, specifying the view name and export directory. Enter export parameters, including target mode, file format, and tablespace. Start exporting. Verify the export using the impdp utility.

See all articles