Undo Log error: No more space left over in system tablespace for allocating UNDO log pages
The MySQL system comes with a way to rollback changes using this "UNDO log file". It's also used for coherency. With large datasets, that log file may grow too fast and be filled up. Then you get that error. The idea is to be able to undo the last command. This is similar to going in a paint system, for example, making changes to an image and then clicking Ctrl-Z. That's what the UNDO log file is there for.
To avoid having the table running, you can mark it as inactive:
ALTER UNDO TABLESPACE tablespace_name SET INACTIVE;
You can also delete the table altogether (not recommended) or allow for auto-truncation, which may be slow. The auto-truncate makes sure to remove data as required.
For more info you cansee here.
What is a tablespace and why is it used?
A data file that can hold data for one or more InnoDB tables and associated indexes.
There are many types of tablespaces based on the configuration w.r.t the information clubbing per table. These are,
a. System tablespace
b. File per tablespace
c. General tablespace
System tablespace contains,
- InnoDB data dictionary.
- DoubleWrite Buffer.
- Change buffer
- Undo Logs.
Apart from this it also contains,
- Tables &
- Index data
Associated file is .idbdata1
The innodb_file_per_table option, which is enabled by default in MySQL 5.6 and higher, allows tables to be created in file-per-table tablespaces, with a separate data file for each table. Enabling the innodb_file_per_table option makes available other MySQL features such as table compression and transportable tablespaces.
Associated file is .idbd
InnoDB introduced general tablespaces in MySQL 5.7.6. General tablespaces are shared tablespaces created using CREATE TABLESPACE syntax. They can be created outside of the MySQL data directory, are capable of holding multiple tables, and support tables of all row formats.
Related Topics
Renaming Multiple Columns in One Statement with Postgresql
Ora-06502: Pl/Sql: Numeric or Value Error: Character String Buffer Too Small
SQL Query for Courses Enrolment on Moodle
Activerecord Query, Order by Association, Last of Has_Many
Query SQL Server Database from Native iOS Application
Nosql VS. SQL When Scalability Is Irrelevant
Find a Database with a Particular Table or Find a Table in Every Database of SQL Server
How to Get Information About an Index and Table Owner in Oracle
Sqlplus Spooling: How to Get Rid of First, Empty Line
Help Me Put Oracle Terminology into SQL Server Terminology
SQL Convert Milliseconds to Days, Hours, Minutes
Quickest/Easiest Way to Use Search/Replace Through All Stored Procedures
How to Set a Datetime Variable in SQL Server 2008
If Exists Statement in SQL to Linq
Referencing a Composite Primary Key
Oracle Date Datatype, Transformed to 'Yyyy-Mm-Dd Hh24:Mi:Ss Tmz' Through SQL