Undo table space is not enough. There are two ways to deal with it
1. Expand the table space size;
2. Create a new undo table space and delete the original one.
1、 Preliminary operation
Confirm undo table space name
select name from v$tablespace;
Check the occupancy of undo table space and the storage location of data files;
select file_ name,bytes/1024/1024 from dba_ data_ files where tablespace_ name like ‘UNDOTBS1’;
2、 Expand undo table space
alter database UNDOTBS1 datafile ‘/opt/oracle/oradata/inms/undotbs02.dbf’ resize 4000M;
3、 Create a new undo table space and delete the original one
1. Create a new undo table space and set the automatic extension parameters;
create undo tablespace undotbs2 datafile ‘/oradata/oradata/ddptest/UNDOTBS1.dbf’ size 2 1000m reuse autoextend on next 800m maxsize unlimited;
2. Change the SPFILE configuration file dynamically;
alter system set undo_ tablespace=undotbs2 scope=both;
3. Delete the original undo table space;
drop tablespace undotbs1 including contents;
4. Confirm whether the deletion is successful;
select name from v$tablespace;
5. Determine $Oracle_ HOME/dbs/ spfileoinms.ora Whether the content has changed:
$more spfileoinms.ora
*.undo_ management=’AUTO’
*.undo_ retention=10800
*.undo_ tablespace=’UNDOTBS2′
If there is no change, execute the following statement:
SQL> create pfile from spfile;
File created.
6. Delete the data file of the original undo table space, and the file name is the result of the step.
#rm $ORACLE_ BASE/oradata/$ORACLE_ SID/undotbs01.dbf
4、 Conclusion
According to the actual situation, expanding undo table space can only support for a period of time. After running for a period of time, the undo table space data file will eventually reach the upper limit. Therefore, the second scheme is adopted. You can use the script to replace the undotbs1 and undotbs2 table spaces alternately, which can quickly solve the problem.
(1) Script 1: replace the undotbs2 table space with undotbs1
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) Script 2: replace the undotbs1 table space with undotbs2
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’
Read More:
- Insufficient table space ORA-00604 unable to extend table SYS.AUD by 8192
- Oracle data file space release
- db2 Database Error: table space access is not allowed
- How can Oracle query tables of other users without adding a table user name
- The togglerowexpansion method of the table of element UI expands the specified row
- Failed to create Oracle Oracle home user solution appears in oracle12c installation
- Oracle database file is damaged, Error:ORA-01033 :ORACLE initialization or shutdown in progress
- Git pull undo misoperation
- 1093 – You can’t specify target table ‘table’ for update in FROM clause
- Revoking undo and revoking redo by VIM
- Oracle12c client32 bit installation error: [ins-20802] Oracle net configuration assistant failed
- Oracle can’t start the database due to deleting DBF file by mistake
- Analysis of R language error replacement has length zero problem
- Oracle error collection solution
- [study notes] a quick search of latex mathematical symbols
- Centos7 quick installation of docker and configuration of image acceleration
- Errors in IntelliJ ieeasql statements and table names in @ table
- Rational DMIS 7.1 replacement rack DMIS program
- Error 1146 (42s02): table ‘database name. Table name’ doesn’t exist ‘
- Ie8.0 reports Oracle error 1403 error after logging into Oracle EBS