undo 表空间损坏导致无法open
在数据库undo表空间文件损坏,或者undo表空间文件缺失的情况,无法打开数据库。解决思路:新建一个undo表空间,然后将undo_table
undo 表空间损坏导致无法open
在数据库undo表空间文件损坏,,或者undo表空间文件缺失的情况,无法打开数据库。
这两种情况都可以视为一种情况处理,解决方法一样。
启动数据库时 出现:
SQL> startup
Oracle instance started.
Total System Global Area 709836800 bytes
Fixed Size 2231752 bytes
Variable Size 536871480 bytes
Database Buffers 167772160 bytes
Redo Buffers 2961408 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type
Process ID: 4098
Session ID: 1 Serial number: 5
可以很明显的看到,由于undo表空间损坏或丢失,导致无法打开。
解决思路很简单:新建一个undo表空间,然后将undo_tablespace指向新的undo表空间。但是,但是。。。新建表空间只能在数据库open状态下才能进行。
所以。。
因为oracle system 表空间还有回滚段,因为我们先可以让oracle使用回滚段打开数据库,然后就可以新建undo表空间了
解决思路:
1、将数据库启动到mount
2、alter system set undo_management=manual scope=spfile;
3、shutdown immediate
4 、startup 然后新建一个undo表空间 new_undotbsxx
5、修改undo_tablespace参数指向new_undotbsxx
6、记得 将undo_manageme参数修改回来。 alter system set undo_management=auto scope=spfile;
SQL> alter system set undo_management=manual scope=spfile;
System altered.
然后打开数据库---
SQL> startup
ORACLE instance started.
Total System Global Area 709836800 bytes
Fixed Size 2231752 bytes
Variable Size 536871480 bytes
Database Buffers 167772160 bytes
Redo Buffers 2961408 bytes
Database mounted.
Database opened.
--已经顺利打开数据库
查看 --undo_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string UNDOTBS11
现在可以新建一个undo_tablespace 然后将undo_tablespace参数指向过去。
SQL> create undo tablespace undotbs11 datafile '/u01/app/oracle/oradata/orcl/undotbs11.dbf' size 100m;
Tablespace created.
--然后将undo_tablespace指向为刚刚新建的undo表空间
SQL> alter system set undo_tablespace=undotbs11 scope=spfile;
System altered.
--最后一定一定要记得把undo_management 给改回来
SQL> alter system set undo_management=auto scope=spfile;
System altered.
然后关闭数据库,再打开
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 709836800 bytes
Fixed Size 2231752 bytes
Variable Size 536871480 bytes
Database Buffers 167772160 bytes
Redo Buffers 2961408 bytes
Database mounted.
Database opened.
--没有问题,可以将以前损坏的undo表空间数据文件删除了
SQL> drop tablespace undotbs1 including contents and datafiles;
Tablespace dropped.
推荐阅读:
[Oracle] 在没有备份的情况下undo损坏怎么办?
UNDO表空间失败的处理方法
undo表空间故障和ORA-01548处理
RAC下丢失undo表空间的恢复
UNDO表空间备份恢复

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Go language is an efficient, concise and easy-to-learn programming language. It is favored by developers because of its advantages in concurrent programming and network programming. In actual development, database operations are an indispensable part. This article will introduce how to use Go language to implement database addition, deletion, modification and query operations. In Go language, we usually use third-party libraries to operate databases, such as commonly used sql packages, gorm, etc. Here we take the sql package as an example to introduce how to implement the addition, deletion, modification and query operations of the database. Assume we are using a MySQL database.

Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

HTML cannot read the database directly, but it can be achieved through JavaScript and AJAX. The steps include establishing a database connection, sending a query, processing the response, and updating the page. This article provides a practical example of using JavaScript, AJAX and PHP to read data from a MySQL database, showing how to dynamically display query results in an HTML page. This example uses XMLHttpRequest to establish a database connection, send a query and process the response, thereby filling data into page elements and realizing the function of HTML reading the database.

PHP is a back-end programming language widely used in website development. It has powerful database operation functions and is often used to interact with databases such as MySQL. However, due to the complexity of Chinese character encoding, problems often arise when dealing with Chinese garbled characters in the database. This article will introduce the skills and practices of PHP in handling Chinese garbled characters in databases, including common causes of garbled characters, solutions and specific code examples. Common reasons for garbled characters are incorrect database character set settings: the correct character set needs to be selected when creating the database, such as utf8 or u

Through the Go standard library database/sql package, you can connect to remote databases such as MySQL, PostgreSQL or SQLite: create a connection string containing database connection information. Use the sql.Open() function to open a database connection. Perform database operations such as SQL queries and insert operations. Use defer to close the database connection to release resources.
