ORA-1157处理过程
三节点的rac环境。
asm磁盘组为+DATA5
由于运维人员疏忽,在加表空间时,少写了一个加号,表空间创建的位置变为$ORACLE_HOME/dbs,使用12c新特性在线移动数据文件,将数据文件移动至asm磁盘组,
2-3节点访问表空间出现ora-1157错误,一节点正常。
解决思路:
将表空间内对象移至其他表空间,删除该表空间。
SQL> l
1* select OWNER,SEGMENT_NAME,PARTITION_NAME from dba_extents where FILE_ID=4769
SQL> /
OWNER SEGMENT_NAME PARTITION_NAME
---------------------------------------- ---------------------------------------- ----------------------------------------
DSM IDX_Q_COMPRE_IND_D_DD
DSM IDX_Q_COMPRE_IND_D_DD
DSM IDX_Q_COMPRE_IND_D_DD
SQL> alter index DSM.IDX_Q_COMPRE_IND_D_DD rebuild tablespace DSM_STATS_IDX_2020 online;
Index altered.
SQL>
SQL>
SQL> select count(*) from dba_extents where file_id=4769;
COUNT(*)
----------
0
执行删除表空间语句
SQL> drop tablespace DSM_STATS_IDX including contents and datafiles;
drop tablespace DSM_STATS_IDX including contents and datafiles
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-02429: cannot drop index used for enforcement of unique/primary key
存在主键不能删除(延迟段分配,db_extends查询不到信息,分别查询dba_tables和dba_indexes视图确定对象)。
SQL> select count(*) from dba_indexes where tablespace_name='DSM_STATS_IDX';
COUNT(*)
----------
2
SQL> select 'alter index '||owner||'.'||index_name||' rebuild online tablespace DSM_STATS_IDX_2020 ;' from dba_indexes where tablespace_name='DSM_STATS_IDX';
'ALTERINDEX'||OWNER||'.'||INDEX_NAME||'REBUILDONLINETABLESPACEDSM_STATS_IDX_2020;'
----------------------------------------------------------------------------------------------------
alter index DSM.PK_M_TASK_SET rebuild online tablespace DSM_STATS_IDX_2020 ;
alter index DSM.PK_M_TASK_REC rebuild online tablespace DSM_STATS_IDX_2020 ;
(删除成功)
SQL> drop tablespace DSM_STATS_IDX including contents and datafiles;
重建表空间
SQL> create tablespace DSM_STATS_IDX datafile '+DG5' size 1g autoextend on next 1g;
Tablespace created.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY