删除undotbs后,数据库无法启动

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     744
Current log sequence           746

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/oracle/oradata/yoon/system01.dbf
/u01/oracle/oradata/yoon/sysaux01.dbf
/u01/oracle/oradata/yoon/users01.dbf
/u01/oracle/oradata/yoon/vpro.dbf
/u01/oracle/oradata/yoon/yoon01.dbf
/u01/oracle/oradata/yoon/svrmg1_oid.dbf
/u01/oracle/oradata/yoon/system02.dbf
/u01/oracle/oradata/yoon/system03.dbf
/u01/oracle/oradata/yoon/system04.dbf
/u01/oracle/oradata/yoon/undotbs_01.dbf

10 rows selected.

[[email protected] yoon]$ ls
control01.ctl      control03.ctl.bak  redo02.log      sysaux01.dbf  system03.dbf      system04.dbf.bak  undotbs_01.dbf  yoon01.dbf
control01.ctl.bak  control04.ctl      redo03.log      system01.dbf  system03.dbf.bak  temp01.dbf        users01.dbf
control03.ctl      redo01.log         svrmg1_oid.dbf  system02.dbf  system04.dbf      temp02.dbf        vpro.dbf

[[email protected] yoon]$ mv undotbs_01.dbf undotbs_01.dbf.bak

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2232960 bytes
Variable Size            2432699776 bytes
Database Buffers          889192448 bytes
Redo Buffers               16326656 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 12 - see DBWR trace file
ORA-01110: data file 12: ‘/u01/oracle/oradata/yoon/undotbs_01.dbf‘

SQL> shutdown abort;
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2232960 bytes
Variable Size            2432699776 bytes
Database Buffers          889192448 bytes
Redo Buffers               16326656 bytes
Database mounted.

SQL> alter database datafile ‘/u01/oracle/oradata/yoon/undotbs_01.dbf‘ offline drop;

Database altered.

SQL> alter database open;

Database altered.

SQL> create undo tablespace undotbs1 datafile ‘/u01/oracle/oradata/yoon/undotbs01.dbf‘ size 1g;

Tablespace created.

SQL> alter system set undo_tablespace=‘undotbs1‘ scope=spfile;

System altered.

SQL> drop tablespace undotbs01 including contents and datafiles;

Tablespace dropped.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> create pfile from spfile;

File created.

SQL> startup
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2232960 bytes
Variable Size            2432699776 bytes
Database Buffers          889192448 bytes
Redo Buffers               16326656 bytes
Database mounted.
Database opened.

SQL> show parameter undo;

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
undo_management                      string                            AUTO
undo_retention                       integer                           900
undo_tablespace                      string                            undotbs1

若:
select tablespace_name,segment_name,status from dba_rollback_segs;     有needs recovery

[[email protected] dbs]$ pwd
/u01/oracle/product/11.2.0/db_1/dbs

[[email protected] dbs]$ ls
hc_yoon.dat  init.ora  inityoon.ora  lkYOON  orapwyoon  snapcf_yoon.f  spfileyoon.ora

编辑inityoon.ora,添加隐含参数,如下:
*._corrupted_rollback_segments=‘_SYSSMU1_1240252155$‘,‘_SYSSMU2_111974964$‘,‘_SYSSMU3_4004931649$‘,‘_SYSSMU4_1126976075$‘

SQL>startup pfile=‘/u01/oracle/product/11.2.0/db_1/dbs/inityoon.ora‘;

SQL>drop tablespace undotbs01 including contents and datafiles;

SQL>shutdown immediate

将*._corrupted_rollback_segments=‘_SYSSMU1_1240252155$‘,‘_SYSSMU2_111974964$‘,‘_SYSSMU3_4004931649$‘,‘_SYSSMU4_1126976075$‘删除

重建pfile,spfile

SQL>startup

时间: 2024-12-18 19:13:25

删除undotbs后,数据库无法启动的相关文章

move核心对象表 dependency$ 后数据库无启动问题解决

move table: SQL> startup ORACLE instance started. Total System Global Area  281018368 bytes Fixed Size                  2083336 bytes Variable Size              88081912 bytes Database Buffers          184549376 bytes Redo Buffers                6303

mysql之delete删除记录后数据库大小不变

当DELETE后面跟条件的时候,则就会出现这个问题 delete from table_name where 条件 删除数据后,数据表占用的空间大小不会变. 不跟条件直接delete的时候. delete from table_name 清除了数据,同时数据表的空间也会变为0 如果已经删除了表数据的很大一部分,或者有很多变化和变长表行(VARCHAR表,VARBINARY.BLOB或文本列)进行了更改,因为删除操作后在数据文件中留下碎片所致.DELETE只是将数据标识位删除,并没有整理数据文件,

删除Linux后如何恢复XP启动

安装Linux时,如果将GRUB安装在主引导扇区,则可以正常引导Linux和Windows XP,但同时也破坏了原Windows的主引导信息.当删除Linux后,GRUB无法正常引导,因为GRUB需要读取Linux的/boot信息,但已不存在.此时,可以通过Windows XP的安装光盘恢复. 用XP安装盘启动后,选择R进入修复模式,输入管理员口令后,可以使用命令fixmbr修复主引导扇区的信息,然后重启,自动进入到Windows XP的启动菜单. 此法同样可用于Windows 2000 / 2

删除redo所有日志,数据库无法启动

半夜在itpub上看到有人发贴,说不小心删除了redo所有日志,导致数据库无法启动,因此模拟了一下.   如下: OS:  Oracle Linux Server release 5.7 DB:  Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production [[email protected] yoon]$ lscontrol01.ctl  redo01.log  redo02.log  redo03.

linux 删除文件后空间没有释放的解决办法

清空没用的文件,当我删除文件后,发现可用空间沒有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [[email protected] ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda1             981M  203M  729M  22% /none                   16G     0   16G   0% /dev/shm/dev/sda9    

SQL Server 2016,2014 无法找到数据库引擎启动句柄

当我决定安装SharePoint 2016 IT预览版时,我想我应该将它安装在Windows Server 2016技术预览版以及SQL Server 2016社区技术预览版(CTP)上.我敢打赌,你可能没有意识到,今天有很多不同的名字,以前曾被称为"测试版"的时代早已过去. Windows Server 2016 Technical Preview的安装很简单,但是当我开始在Hyper-V的Windows Server 2016 Technical Preview上安装SQL Ser

RAC 数据库的启动与关闭

RAC数据库与单实例的差异主要表现在多个实例通过集群件来统一管理共享的资源.因此原有的单实例的管理方式,如数据库.监听器等的关闭启动等可以使用原有的方式进行,也可以通过集群管理工具,命令行来集中管理,这也是推荐的管理方式.由于集群件crs位于数据库之上,即RAC数据库依赖于集群件,因此数据库的启动与关闭应该结合集群来考虑,下面以10g RAC来描述数据库启动与关闭过程,不涉及集群层的启动与关闭. 一.RAC 数据库启动与关闭顺序1.关闭顺序  关闭OEM,关闭监听,关闭 Oracle 实例,关闭

mysql优化, 删除数据后物理空间未释放(转载)

OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR . BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化.这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 .OPTIMIZE TABLE

解决sqlite删除数据后,文件大小不变问题(VACUUM)

删除表格的全部数据: DELETE FROM [Name] 当在sqlite中删除了大量数据后,数据库文件的大小还是那样,没有变.原因是:从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据.磁盘空间并没有丢失.但是也不向操作系统返回磁盘空间. 解决方法有以下两种:1,在数据删除后,手动执行SQL"VACUUM"命令,执行方式很简单.推荐使用.2,在数据库文件建成中,将auto_vacuum设置成“1”.但是第二个方法同样有缺点,只会从数据