跟大家講解下有關ORA-01688表空間無法擴展,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說ORA-01688表空間無法擴展,小編也收集到了有關ORA-01688表空間無法擴展的相關資料,希望大家看到了會喜歡。
SQL 錯誤: ORA-01688: 表 JINRILOG.USEROPERATELOG 分區 P1 無法通過 8192 (在表空間 JINRILOG 中) 擴展
錯誤報告:
SQL 錯誤: ORA-01688: 表 JINRILOG.USEROPERATELOG 分區 P1 無法通過 8192 (在表空間 JINRILOG 中) 擴展
01688. 00000 -"unable to extend table %s.%s partition %s by %s in tablespace %s"
*Cause: Failed to allocate an extent for table segment in tablespace.
*Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
files to the tablespace indicated.
-----解決過程:
第一步:確認是否自動擴展打開
SELECT file_id, file_name, tablespace_name, autoextensible, increment_by
FROM dba_data_files
WHERE tablespace_name = 'JINRILOG'
order by file_id desc;
第二步:嘗試resize文件大小
SQL> alter database datafile 'S:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF' resize 100000M;
alter database datafile 'S:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF' resize 100000M
*
第 1 行出現錯誤:
ORA-01144: 文件大小 (12800000 塊) 超出 4194303 塊的最大數
select value from v$parameter where;
/****
FIX 1:
Specify a smaller file size.
The maximum file size is
db_block_size * 4194303
For example, if db_block_size is 2kB then maximum file size is limited
to 2k*4194303, 8Gb-2k.
FIX 2:
Change db_block_size. This can only be done by recreating of
database.
db_block_size Maximum data file size
------------- ----------------------
2kb 8Gb-2kb
4kb 16Gb-4kb
8kb 32Gb-8kb
16kb 64Gb-16kb
32kb 128Gb-32kb
可見db_block_size對 maximum data file size還是起決定作用的
由上可知,由于db_block_size設置為8kb的原因導致系統文件只能32G.
****/
第二步:增加數據文件
alter tablespace jinrilog add datafile
'S:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG02.DBF'
size 30g;
alter tablespace jinrilog add datafile
'S:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG03.DBF'
size 30g;
來源:php中文網