45.RAC MGMTDB实例满导致I_OBJ1 索引无法

文章讲述了在OracleRAC12C环境中,因MGMTDB的SYSTEM表空间满导致索引无法扩展的问题,解决过程包括检查表空间、索引状态、集群资源和最终禁用MGMTDB。
摘要由CSDN通过智能技术生成

1.场景 
中行某RAC12C数据库,mgmtdb 目录的trace alert.log 报错:
GIMR_DSCREP_10(3):ORA-1654:unable to extend index SYS.I_OBJ1 by 8 in tablespace SYSTEM[GIMR_DSCREP_10]
2.分析

(1)起初以为是SYSTEM表空间满,检查SYSTEM表空间发现表空间剩余很多空闲空间。
所以这里不是因为SYSTEM表空间满导致的。


(2)重建索引 
sqlplus / as sysdba
alter index sys.i_obj1 rebuild online; 
报错:ORA-00701:无法变更热启动数据库所需的对象。
说明无法重建这个索引。
(3)检查索引的状态。

select owner,index_name,index_type,table_owner,table_name,tablespace_name,
status from dba_indexes where index_name='I_OBJ1';
SYS|I_OBJ1|NORMAL|SYS|OBJ$|SYSTEM|VALID
可以发现索引状态正常。

3.检查集群

su - grid 
asmcmd lsdg 
发现MGMT 磁盘满。

4.MGMT分析

MGMTDB 是12C的的新特性,里面是一个独立的PDB数据库.它里面也有SYSTEM表空间。
并且使用的是MGMT 磁盘组。所以这里的无法扩展索引是因为MGMT磁盘组满导致的。

su - grid
export ORACLE_SID=MGMTDB 
sqlplus / as sysdba 
select pdb_name from dba_pdbs whre pdb_name!='PDB$SEED';
--查出PDB的名称。
alter session set container=PDB_NAME; --上面查询出的PDB名称。

srvctl config mgmtdb

5.禁用MGMTDB

--查看状态 
srvctl status cha 
srvctl status mgmtdb 
srvctl status mgmtlsnr 

--停止 
srvctl stop cha 
srvctl stop mgmtdb 
srvctl stop mgmtlsnr 

--禁用 
srvctl disable mgmtdb 
srvctl disable mgmtlsnr

6.总结 

安装MGMTDB ,如果MGMT磁盘满也会导致alert日志报错:数据库的SYSTEM表空间满。
MGMTDB是用于管理集群的PDB;是一个独立的数据库。
参考
DOC:2177879.1
DOC:1589394.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值