一.环境介绍:操作系统 redhat6.6,数据库 11.2.0.4

二.问题描述:数据库后台报错 ORA-1688: unable to extend table CPUB.SXTC84100 partition P1 by 8192 in                 tablespace TBSSPACES

三.问题定位及处理

1.查看表空间大小,表空间剩余还有100多G

2.查看磁盘组大小,还余1.1TB

3.尝试扩表空间大小报错
ora-01119,ora-17502,ora-15041 

4.查看v$asm_diskgroup,发现error_code 是ora-15041

5.查看磁盘组的free_mb,可以看出,disk的free_mb大小不一,手工重新 rebalance,均衡之后还是报错 ora-15041
SQL> select b.name,b.type,t.disk_number,t.total_mb/1024,t.free_mb/1024,b.usable_file_mb/1024 from v$asm_disk t,v$asm_diskgroup b
  where t.group_number=b.group_number order by t.disk_number;  2  

NAME	     TYPE	  DISK_NUMBER T.TOTAL_MB/1024 T.FREE_MB/1024 B.USABLE_FILE_MB/1024      
------------------------------------- ------------ ----------- --------------- -------------
OCR		  NORMAL		    0	    2.9296875	  2.89648438		 1.3046875
DATA	     NORMAL		    0		  900	  25.4296875		122.724609
ARCH	     NORMAL		    0		  900	  806.773438		403.386719
ARCH	     NORMAL		    1		  900	  806.773438		403.386719
DATA	     NORMAL		    1		  900	  50.6523438		122.724609
OCR		  NORMAL		    2		    3	  2.61035156		 1.3046875
DATA	     NORMAL		    2		  900	  50.6953125		122.724609
DATA	     NORMAL		    3		  900	  50.6796875		122.724609
OCR		  NORMAL		    3		    3	  2.61035156		 1.3046875
DATA	     NORMAL		    4		  900	  50.6132813		122.724609
DATA	     NORMAL		    5		  900	  430.816406		122.724609
DATA	     NORMAL		    6		  900	  14.4023438		122.724609
DATA	     NORMAL		    7		  900		   0		122.724609
DATA	     NORMAL		    8		  900	  50.5703125		122.724609
DATA	     NORMAL		    9		  900	  25.3007813		122.724609
DATA	     NORMAL		   10		  900	    25.28125		122.724609
DATA	     NORMAL		   11		  900	  25.2578125		122.724609
DATA	     NORMAL		   12		  900	  10.7773438		122.724609
DATA	     NORMAL		   13		  900	  14.4179688		122.724609
DATA	     NORMAL		   14		  900	  10.8085938		122.724609
DATA	     NORMAL		   15		  900	  10.8164063		122.724609
DATA	     NORMAL		   16		  900	  25.3007813		122.724609
DATA	     NORMAL		   17		  900	   25.296875		122.724609
DATA	     NORMAL		   18		  900	   25.265625		122.724609
DATA	     NORMAL		   19		  900	  21.9023438		122.724609
DATA	     NORMAL		   20		  900	  14.4570313		122.724609
DATA	     NORMAL		   21		  900	   18.296875		122.724609
DATA	     NORMAL		   22		  900	   25.359375		122.724609
DATA	     NORMAL		   23		  900	  50.6367188		122.724609
DATA	     NORMAL		   24		  900	  14.6953125		122.724609
DATA	     NORMAL		   25		  900	   21.953125		122.724609
DATA	     NORMAL		   26		  900	  14.3710938		122.724609
DATA	     NORMAL		   27		  900	  25.4921875		122.724609
DATA	     NORMAL		   28		  900	  18.1132813		122.724609
DATA	     NORMAL		   29		  900	  25.4648438		122.724609
DATA	     NORMAL		   30		  900	   18.328125		122.724609
DATA	     NORMAL		   31		  900	  25.5742188		122.724609
DATA	     NORMAL		   32		  900	  21.8710938		122.724609
DATA	     NORMAL		   33		  900	   25.546875		122.724609
DATA	     NORMAL		   34		  900	  21.8945313		122.724609
DATA	     NORMAL		   35		  900	  17.9960938		122.724609
DATA	     NORMAL		   36		  900	   50.828125		122.724609
DATA	     NORMAL		   37		  900	  18.0078125		122.724609
DATA	     NORMAL		   38		  900	  50.8398438		122.724609
DATA	     NORMAL		   39		  900	  18.0507813		122.724609
DATA	     NORMAL		   40		  900	    25.53125		122.724609
DATA	     NORMAL		   41		  900	      21.625		122.724609
DATA	     NORMAL		   42		  900		  25		122.724609
DATA	     NORMAL		   43		  900	    14.21875		122.724609
DATA	     NORMAL		   44		  900	   27.515625		122.724609
DATA	     NORMAL		   45		  900	     20.3125		122.724609
手工重新 rebalance data 磁盘组

SQL> alter diskgroup data rebalance power 11;

Diskgroup altered.

SQL> select * from v$asm_operation;

GROUP_NUMBER OPERATION	STATE	      POWER	ACTUAL	    SOFAR   EST_WORK        EST_RATE EST_MINUTES   ERROR_CODE

------------ ---------- -------- ---------- ---------- ---------- ----------   ---------- -----------  -----------

     2         REBAL	  RUN		  11	    11	      745    2308467            9727                 237


6.在asmcmd下lsdg 发现每个磁盘组有一块offline_disks
[grid@dbn01 ~]$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512   4096  4194304    921600   824836                0          412418              1             N  ARCH/
MOUNTED  NORMAL  Y         512   4096  4194304  41472000  1166476           921600          122438              1             N  DATA/
MOUNTED  NORMAL  N         512   4096  1048576      6072     5639                0            1336              1             Y  OCR/
ASMCMD>

7.找到被踢出去的失败盘,手工加到磁盘组中
SQL> alter diskgroup DATA add failgroup FAL2  disk '/dev/asmdisk/sdj' force rebalance power 11;

Diskgroup altered.

SQL> alter diskgroup ARCH add failgroup FAL4  disk '/dev/asmdisk/sdq' force rebalance power 11;

Diskgroup altered.

SQL> alter diskgroup OCR add failgroup OCR_0002  disk '/dev/asmdisk/sdn'   rebalance power 11;

Diskgroup altered.
恢复正常,可以正常扩表空间大小,后台也不再产生ORA的错误。

  

posted on 2021-01-29 17:17  Tomatoes  阅读(1370)  评论(0编辑  收藏  举报