ORA-03233: 無法擴充套件表 SIS_HIS_PERFEVAL.TB_JX_INDEX_HIS 的子分割槽 PART_9_SUB_1 (透過 1024, 在表空間 SIS_HIS_PERFEVAL
問題:
某一表空間,就一個表,是一個分割槽表,當資料檔案達到35G左右時,就無法寫入資料了,磁碟空間也沒滿,丟擲:
ORA-03233: 無法擴充套件表 SIS_HIS_PERFEVAL.TB_JX_INDEX_HIS 的子分割槽 PART_9_SUB_1 (透過 1024, 在表空間 SIS_HIS_PERFEVAL 中)
解決方案:
SQL> alter tablespace SIS_HIS_PERFEVAL add datafile '+DATADG/ora11gr2/datafile/SIS_HIS_PERFEVAL2.dbf' SIZE 1M AUTOEXTEND ON;
SQL> alter tablespace SIS_HIS_PERFEVAL add datafile '+DATADG/ora11gr2/datafile/SIS_HIS_PERFEVAL2.dbf' SIZE 1M AUTOEXTEND ON;
Tablespace altered.
思考:
1、獲取建立表空間的sql語句SQL>set long 10000 (在sqlplus設定變數,不然顯示的內容不全)
SQL> select dbms_metadata.get_ddl('TABLESPACE','SYSTEM') from dual;
DBMS_METADATA.GET_DDL('TABLESPACE','SYSTEM')
--------------------------------------------------------------------------------
CREATE TABLESPACE "SYSTEM" DATAFILE
'E:PROGRAMFILESORACLEPRODUCT10.2.0ORADATAMZLSYSTEM01.DBF' SIZE 314572800
AUTOEXTEND ON NEXT 10485760 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL
ALTER DATABASE DATAFILE
'E:PROGRAMFILESORACLEPRODUCT10.2.0ORADATAMZLSYSTEM01.DBF' RESIZE 503316
發現建立的資料檔案大小都不能大於32GB?
預設建立資料庫有5個表空間:
系統表空間system,預設的資料檔案為480MB
輔助表空間sysaux,預設的資料庫檔案為240MB
回滾表空間undotbs1,預設的資料庫檔案為25MB
臨時表空間temp,預設的資料庫檔案為,20MB
使用者預設使用的表空間:users,預設的資料庫檔案為5M
2、檢視各表空間的資料檔案的位置、大小
SQL> select file_name,tablespace_name,bytes/1024/1024 "bytes MB",
2 autoextensible,maxbytes/1024/1024 "maxbytes MB" from dba_data_files;
臨時表空間的位置、大小
SQL> select file_name,tablespace_name,bytes/1024/1024 "bytes MB",
2 autoextensible,maxbytes/1024/1024 "maxbytes MB" from dba_temp_files;
3、建立一個自動擴充套件的表空間
SQL> l
1 create tablespace test
2 datafile 'E:PROGRAMFILESORACLEPRODUCT10.2.0ORADATAMZLtest.dbf'
3* size 2M autoextend on
SQL> /
表空間已建立。
SQL> select dbms_metadata.get_ddl('TABLESPACE','TEST') from dual;
DBMS_METADATA.GET_DDL('TABLESPACE','TEST')
--------------------------------------------------------------------------------
CREATE TABLESPACE "TEST" DATAFILE
'E:PROGRAMFILESORACLEPRODUCT10.2.0ORADATAMZLTEST.DBF' SIZE 2097152
AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO
剛才建立了一個自動擴充套件的表空間:檢視只能最大MAXSIZE 32767M,大約32GB(31.999GB),
原來資料庫的db_block_size為8192位元組,也就是8KB,但為什麼最大隻能小於32GB。
Oracle中每個small file資料檔案最多隻能包含2的22次方 - 1 個資料塊,所以資料庫最大為8KB*(2^22-1)=32GB-8KB
所以資料庫的db_block_size為8KB時,資料檔案的最大值為32GB-8KB,
如果Oracle的db_block_size為16KB時,資料檔案的最大值為64GB-16KB(16KB*(2^22-1))
注:檢視資料庫表空間的各引數:資料塊大小、初始化區大小、遞增區大小、狀態、區管理、段管理、是否大檔案
select * from dba_tablespaces;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24870090/viewspace-1058994/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 表空間無法擴充套件問題處理套件
- ORA-01652 無法透過128 (在表空間 TEMP中)擴充套件temp段套件
- 擴充套件表空間套件
- 帶default分割槽的列表分割槽表的擴充套件套件
- Hash分割槽表的使用及擴充套件套件
- 解決ora-01652無法透過128(在temp表空間中)擴充套件temp段的過程套件
- ORA-01652: 無法通過 8 (在表空間 TONGYIHUA 中) 擴充套件 temp 段套件
- linux建立新分割槽擴充套件磁碟空間Linux套件
- 表空間自動擴充套件 AUTOALLOCATE 的擴充套件規律套件
- ORA-01652:無法通過128(在表空間TEMP中)擴充套件temp段套件
- Oracle drop分割槽表單個分割槽無法透過閃回恢復Oracle
- [轉]ORA-01652 無法通過128 (在表空間 TEMP中)擴充套件temp段套件
- 表空間擴充套件過程 停電導致異常中斷, 無法啟動套件
- oracle UNDO表空間一個bug——undo表空間快速擴充套件Oracle套件
- ora-01652:無法通過128(在表空間space中)擴充套件temp段解決套件
- 解決ora-01652無法通過128(在temp表空間中)擴充套件temp段的過程套件
- SQL Server大分割槽表沒有空分割槽的情況下如何擴充套件分割槽的方法SQLServer套件
- Ubunut擴充套件分割槽套件
- 使用分割槽助手擴充C盤空間
- 大檔案表空間受作業系統限制無法自動擴充套件作業系統套件
- 查詢表空間是否具備自動擴充套件空間套件
- PostgreSQL 原始碼解讀(98)- 分割槽表#4(資料查詢路由#1-“擴充套件”分割槽表)SQL原始碼路由套件
- 增加自動擴充套件臨時表空間及改變預設表空間套件
- 擴充套件aix交換分割槽套件AI
- Oracle 10g 物理DataGuard擴充套件表空間Oracle 10g套件
- 分割槽表對應的表空間遷移案例
- Linux主分割槽,擴充套件分割槽,邏輯分割槽Linux套件
- partition 分割槽表移動到其他表空間
- 批量移動分割槽表到其他表空間
- oracle的表空間、分割槽表、以及索引的總結Oracle索引
- 獲取表空間是否可自動擴充套件的SQL套件SQL
- enqueue HW wait 引起表空間突然大量擴充套件ENQAI套件
- 擴充套件表套件
- 透過sql語句建立表時指定表空間的語法SQL
- windchill 擴充USERS表空間
- 在 Linux 下使用 fdisk 擴充套件分割槽容量Linux套件
- 如何查詢分割槽表的分割槽及子分割槽
- Linux主分割槽,擴充套件分割槽,邏輯分割槽[final]Linux套件