手工建庫後表空間資料檔案非自動擴充套件引起的錯誤:ORA-01653: unable to extend* in tablespace*
阿新 • • 發佈:2019-01-07
手工建庫時,未將表空間資料檔案設定為自動擴充套件引起的錯誤:ORA-01653: unable to extend * in tablespace * 的解決:
Errors in file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_j000_15569.trc:
ORA-01653: unable to extend table . by in tablespace
ORA-01653: unable to extend table SYS.SCHEDULER$_EVENT_LOG by 8 in tablespace SYSAUX
Sun Dec 01 11:00:27 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 12:00:32 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 13:00:36 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 14:00:40 2013
ORA-1653: unable to extend table SYS.SCHEDULER$_EVENT_LOG by 8 in tablespace SYSAUX
ORA-1653: unable to extend table SYS.SCHEDULER$_EVENT_LOG by 8 in tablespace SYSAUX
Sun Dec 01 14:00:41 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 15:00:45 2013
ORA-1653: unable to extend table SYS.WRH$_IOSTAT_FILETYPE by 8 in tablespace SYSAUX
MMON Flush encountered SYSAUX out of space error(1653).
MMON (emergency) purge of WR snapshots (188) and older
Sun Dec 01 15:00:49 2013
從報錯資訊可以很直觀的看出: SYSAUX表空間中的表無法擴充套件,原因一般為:資料檔案空間不足且未設定autoextend on屬性或者使用者磁碟限額不足導致使用者的表無法擴充套件。
驗證資料檔案使用率及屬性如下:
[email protected] bys3>col file_name for a40
[email protected] bys3>select file_name,autoextensible,increment_by from dba_data_files; 查資料檔案是否設定autoextend on屬性要從 dba_data_files 查
FILE_NAME AUT INCREMENT_BY
---------------------------------------- --- ------------
/u01/oradata/bys3/system01.dbf NO 0
/u01/oradata/bys3/sysaux01.dbf NO 0
/u01/oradata/bys3/undotbs01.dbf NO 0
/u01/oradata/bys3/user01.dbf NO 0
[email protected] bys3>select TABLESPACE_NAME,sum(bytes/1024/1024) from dba_free_space group by tablespace_name; 通過這語句查各表空間使用率,因SYSAUX沒有FREE SPACE,在這沒顯示。
TABLESPACE_NAME SUM(BYTES/1024/1024)
------------------------------ --------------------
UNDOTBS1 58.0625
USERS 48.6875
SYSTEM 155.375
alter tablespace sysaux autoextend on
*
ERROR at line 1:
ORA-32773: operation not supported for smallfile tablespace SYSAUX
[email protected] bys3>alter database datafile '/u01/oradata/bys3/sysaux01.dbf' autoextend on; --使用此語句修改資料檔案的屬性
Database altered.
[email protected] bys3>select file_name,autoextensible,increment_by from dba_data_files; ---修改後查詢資料檔案屬性,已經更改為autoextend on
FILE_NAME AUT INCREMENT_BY
---------------------------------------- --- ------------
/u01/oradata/bys3/system01.dbf NO 0
/u01/oradata/bys3/sysaux01.dbf YES 1
/u01/oradata/bys3/undotbs01.dbf NO 0
/u01/oradata/bys3/user01.dbf NO 0
[email protected] bys3>select TABLESPACE_NAME,sum(bytes/1024/1024) free_mb from dba_free_space group by tablespace_name; --修改後查詢表空間剩餘,SYSAUX已經自動擴充套件了一個區--64K. 詳見:http://blog.csdn.net/q947817003/article/details/11370881
TABLESPACE_NAME FREE_MB
------------------------------ ----------
SYSAUX .0625 ---這裡即擴充套件了一個extent,
UNDOTBS1 58.0625
USERS 48.6875
SYSTEM 155.375
[email protected] bys3>alter database datafile '/u01/oradata/bys3/user01.dbf' autoextend on;
Database altered.
[email protected] bys3>select file_name,bytes/1024/1024 total_MB,user_bytes/1024/1024 user_mb,AUTOEXTENSIBLE from dba_data_files;
FILE_NAME TOTAL_MB USER_MB AUT
---------------------------------------- ---------- ---------- ---
/u01/oradata/bys3/system01.dbf 500 499 YES
/u01/oradata/bys3/sysaux01.dbf 325 324 YES
/u01/oradata/bys3/undotbs01.dbf 200 199 NO
/u01/oradata/bys3/user01.dbf 50 49 YES
檢視資料庫alert日誌檔案時,發現出現大量如下的錯誤:
Sun Dec 01 10:00:42 2013
Errors in file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_j000_15569.trc:
ORA-01653: unable to extend table . by in tablespace
ORA-01653: unable to extend table SYS.SCHEDULER$_EVENT_LOG by 8 in tablespace SYSAUX
Sun Dec 01 11:00:27 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 12:00:32 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 13:00:36 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 14:00:40 2013
ORA-1653: unable to extend table SYS.SCHEDULER$_EVENT_LOG by 8 in tablespace SYSAUX
ORA-1653: unable to extend table SYS.SCHEDULER$_EVENT_LOG by 8 in tablespace SYSAUX
Sun Dec 01 14:00:41 2013
ORA-1653: unable to extend table SYS.WRI$_ADV_PARAMETERS by 128 in tablespace SYSAUX
Sun Dec 01 15:00:45 2013
ORA-1653: unable to extend table SYS.WRH$_IOSTAT_FILETYPE by 8 in tablespace SYSAUX
MMON Flush encountered SYSAUX out of space error(1653).
MMON (emergency) purge of WR snapshots (188) and older
Sun Dec 01 15:00:49 2013
從報錯資訊可以很直觀的看出:
驗證資料檔案使用率及屬性如下:
[email protected] bys3>col file_name for a40
[email protected] bys3>select file_name,autoextensible,increment_by from dba_data_files; 查資料檔案是否設定autoextend on屬性要從 dba_data_files 查
FILE_NAME AUT INCREMENT_BY
---------------------------------------- --- ------------
/u01/oradata/bys3/system01.dbf NO 0
/u01/oradata/bys3/sysaux01.dbf NO
/u01/oradata/bys3/undotbs01.dbf NO 0
/u01/oradata/bys3/user01.dbf NO 0
[email protected] bys3>select TABLESPACE_NAME,sum(bytes/1024/1024) from dba_free_space group by tablespace_name; 通過這語句查各表空間使用率,因SYSAUX沒有FREE SPACE,在這沒顯示。
TABLESPACE_NAME SUM(BYTES/1024/1024)
------------------------------ --------------------
UNDOTBS1 58.0625
USERS 48.6875
SYSTEM 155.375
確定問題後,解決方法:將sysaux表空間的資料檔案屬性改為自動擴充套件 autoextend on
[email protected] bys3>alter tablespace sysaux autoextend on; ---此語句只能修改大檔案表空間時使用。alter tablespace sysaux autoextend on
*
ERROR at line 1:
ORA-32773: operation not supported for smallfile tablespace SYSAUX
[email protected] bys3>alter database datafile '/u01/oradata/bys3/sysaux01.dbf' autoextend on; --使用此語句修改資料檔案的屬性
Database altered.
[email protected] bys3>select file_name,autoextensible,increment_by from dba_data_files; ---修改後查詢資料檔案屬性,已經更改為autoextend on
FILE_NAME AUT INCREMENT_BY
---------------------------------------- --- ------------
/u01/oradata/bys3/system01.dbf NO 0
/u01/oradata/bys3/sysaux01.dbf YES 1
/u01/oradata/bys3/undotbs01.dbf NO 0
/u01/oradata/bys3/user01.dbf NO 0
[email protected] bys3>select TABLESPACE_NAME,sum(bytes/1024/1024) free_mb from dba_free_space group by tablespace_name; --修改後查詢表空間剩餘,SYSAUX已經自動擴充套件了一個區--64K. 詳見:http://blog.csdn.net/q947817003/article/details/11370881
TABLESPACE_NAME FREE_MB
------------------------------ ----------
SYSAUX .0625 ---這裡即擴充套件了一個extent,
UNDOTBS1 58.0625
USERS 48.6875
SYSTEM 155.375
到這裡,問題就已經得到解決!
可以將SYSTEM及user表空間的資料檔案都設定為autoextend on
[email protected] bys3>alter database datafile '/u01/oradata/bys3/system01.dbf' autoextend on;
Database altered.[email protected] bys3>alter database datafile '/u01/oradata/bys3/user01.dbf' autoextend on;
Database altered.
[email protected] bys3>select file_name,bytes/1024/1024 total_MB,user_bytes/1024/1024 user_mb,AUTOEXTENSIBLE from dba_data_files;
FILE_NAME TOTAL_MB USER_MB AUT
---------------------------------------- ---------- ---------- ---
/u01/oradata/bys3/system01.dbf 500 499 YES
/u01/oradata/bys3/sysaux01.dbf 325 324 YES
/u01/oradata/bys3/undotbs01.dbf 200 199 NO
/u01/oradata/bys3/user01.dbf 50 49 YES